СЕРВЕР WEB-ПРИЛОЖЕНИЙ НА БАЗЕ ТЕХНОЛОГИИ JAVAСЕРВЛЕТОВ КАК ТЕХНИЧЕСКОЕ СРЕДСТВО ДЛЯ ПРЕДОСТАВЛЕНИЯ ИНФОРМАЦИОННОЙ ПОДДЕРЖКИ В ИНТЕРНЕТ В.А.Замятин Санкт-Петербургский государственный институт точной механики и оптики (технический университет), Санкт-Петербург E-mail: zamiatin@starlab.ifmo.ru В последнее время все большее распространение получают приложения, в которых взаимодействие с пользователем осуществляется посредством Web-интерфейса. Это обусловлено целым рядом достоинств, которыми обладают такие приложения. Поэтому Web-интерфейс рассматривается как важнейшая составляющая информационной услуги, получившей название "Информационная Поддержка" /1/. Традиционно Web-приложения разрабатывались на базе обыкновенных Web-серверов, при помощи так называемых программ-расширений. Для создания программ расширений используются различные интерфейсы с Web-сервером и языки программирования. Среди этих средств можно выделить технологию Java-сервлетов, обеспечивающую хороший баланс надежности, производительности, гибкости и простоты использования. Опыт использования технологии Java-сервлетов при предоставлении Информационной Поддержки международному совместному проекту Телематериал (http://rdinfo.runnet.ru/Telematerial/) показал, что разработка Web-приложения на основе одной только базовой технологии представляет собой достаточно трудоемкую задачу. Одной из наиболее серьезных проблем является возможность организации совместной работы над проектом группы разработчиков, каждый из которых отвечает за отдельные аспекты общего решения и является профессионалом в своей области /2/. Обоснованным является переход от использования базовых технологий к использованию такого средства как сервер Web-приложений. Сервер Web-приложений представляет собой Web-сервер, предоставляющий ряд дополнительных возможностей. Перечислим основные требования к серверу Web-приложений. 1. Возможность разделения труда программистов и авторов информационного наполнения: – программист может использовать мощный объектно-ориентированный язык Java для создания надежного, высокопроизводительного кода. – авторы содержимого могут использовать обычный язык HTML с внедренными в него дополнительными элементами, являющимися интерфейсом к коду, написанному программистом. В качестве средства связывания Java-компонент и содержимого HTML-страницы используется скриптовый язык Tcl, который позволяет осуществлять как простые вызовы методов Java, так и делать более сложные и гибкие программные вставки. Значение Tcl как языка связывания программных компонент освещено в /3/. 2. Набор интегрированных средств, не требующих дополнительного программирования: – средства доступа к SQL-серверам; – средства отправки сообщений по электронной почте; – средства авторизации и разграничения доступа, использующие информацию о пользователях из внешней базы данных; – средства поддержки сессий с пользователем; – средства удаленного мониторинга и конфигурирования. 3. Высокая скорость реакции на запросы пользователей, за счет использования следующих механизмов: – хранение в памяти сервера переменных состояния; – использование разделяемого пула открытых соединений с SQL-серверами; – критичный к производительности код заключается в создаваемые программистом Java-компоненты, которые перед использованием проходят этапы компиляции в байт-код, JIT-компиляции байт-кода в машинно-зависимый код и загружаются в память сервера; – использование механизмов кэширования в памяти сервера как статических данных, так и предварительно разобранных динамических страниц во внутреннем формате. 4. Возможность использования разработанных Web-приложений на любой платформе. Возможность в разумные сроки создать качественный программный продукт в условиях ограниченных ресурсов, обуславливается наличием готового к использованию кода. Базовыми компонентами для разработки сервера являются: – Java Servlet API. Классы для работы с протоколом HTTP и для запуска серверных приложений (сервлетов); – Jacl. Интерпретатор скриптового языка Tcl, написанный на Java; – JDBC. Универсальный интерфейс для доступа к SQL-серверам. Данный сервер Web-приложений может быть использован для быстрой разработки Webсистем средней сложности, в которых требуется авторизация пользователей, разграничение доступа к информационным ресурсам, связь с реляционными базами данных, и которые способны обеспечивать быструю реакцию на запросы пользователя при обслуживании небольшого трафика. При использовании подобного сервера Web-приложений, оптимальной является небольшая группа разработчиков (2-4 человека) в которую входят программист и авторы информационного наполнения. Литература 1. Н.Рубина, Ю.Кирчин. Информационная поддержка. Январь 1999. http://rd.runnet.ru/papers/InfoSupport/InfoSupportNote.htm. 2. Alex Chaffee. Servlets and the Web Site Design Process. December 1998. http://www.servletcentral.com/1998-12/designprocess.dchtml. 3. Ray Jonhson. Tcl and Java Integration. February 1998. http://www.scriptics.com/java/tcljava.pdf.