WEB-ТЕХНОЛОГИИ И
ВОЗМОЖНОСТИ JAVA
В.В. Подбельский
(д.т.н., профессор. Республиканский
исследовательский научно-консультационный
центр экспертизы Миннаукн Росси)
Не пытаясь дать строгого определения World Wide Web
(WWW), обратим внимание на генетическую связь этой
системы с информационно-поисковыми системами
(ИПС) и глобальными сетями. По существу, WWW
представляет собой результат применения
возможностей доступа к территориально
распределенной информации для создания
глобальных гипертекстовых и мультимедиа ИПС.
Возможности доступа к
территориально-распределенной информации
обеспечивает для WWW всемирная сеть Internet и те
локальные компьютерные сети, где Web-средства
используются (в режиме Intranet). Наследуя базовые
черты ИПС, Web-система в основном развивается как
хранилище слабоструктурированной,
разноплановой и часто несогласованной
информации и тем отличается от баз данных, где
информация структурирована и взаимосвязана.
И в Internet и в Intranet WWW представляет собой сеть
Web-узлов, содержащих гипермедиа-документы и
связи, позволяющие из одного документа ссылаться
на другие, размещенные как на том же узле, так и на
других. В основу Web-системы положены следующие
технологии:
1. Схема клиент-сервер;
2. Единообразная адресация ресурсов,
обеспеченная применением универсальных
идентификаторов ресурсов (URI и URL);
3. Механизмы обменов и доступов к ресурсам,
регламентируемые протоколом HTTP (Hyper Text Transfer Protocol -
протокол передачи гипертекста);
4. Средства навигации и перемещения по
мультимедиа-документам - реализованы с помощью
языка HTML (Hyper Text Markup Language - язык гипертекстовой
разметки), затем расширены средствами VRML (VRML - Virtual
Reality Modeling Language - язык моделирования виртуальной
реальности);
5. CGI - (Common Gateway Interface - обобщенный шлюзовой
интерфейс) - стандарт для обмена информацией
между сервером и другими программными модулями
Web-узла.
Именно указанные технологии на основе общих
принципов построения сети Internet и, в особенности,
на базе системы протоколов TCP/IP сделали возможным
функционирование WWW. Обратим внимание на тот
факт, что, общаясь с WWW, пользователь в каждый
конкретный момент времени устанавливает связь
только с одним Web-узлом. Таким образом,
взаимодействие пользователя с WWW всегда
укладывается в схему клиент-сервер, несмотря на
то, что серверы, т.е. Web-узлы, могут сменяться даже
во время одного сеанса, а управляет этой сменой
узлов пользователь (клиент) с помощью активации
ссылок в изображении просматриваемого
документа.
Рассмотрим задачи Web-узла (т.е. вычислительной
машины с Web- сервером) и Web-клиента -
вычислительной машины, на которой выполняется
программа просмотра Web-документов (Web-браузер).
По запросу клиента (Web-браузера) Web-сервер:
• Отправляет ASCII-коды HTML-страниц (или
VRML-документа), включающие при необходимости
команды языка JavaScript;
• Отсылает двоичный код запрошенного ресурса
(изображения, аудиопотока, видеопотока...);
• Отсылает байт-код Java-аплета;
• Принимает конкретную информацию от
пользователя (когда браузер запрашивает эту
информацию, предлагая пользователю заполнить HTML-
форму) и помещает ее в базу данных на сервере. Так,
например, регистрируются новые пользователи;
• Принимает сообщения от пользователя и
регламентирует доступ к ресурсам Web-узла на
основе анализа принятой информации (проверка
паролей, контроль оплаты за доступ и т.д.), т.е.
обеспечивает авторизованный доступ;
• Принимает информацию от пользователя и в
зависимости от нее динамически формирует
HTML-страницы, либо VRML-документы, обращаясь, при
необходимости, к базам данных. Получив ответ
Web-сервера, клиент (Web-браузер):
• Визуализирует HTML-страницу либо VRML-документ в
окне браузера;
• Интерпретируя команды JavaScript, модифицирует
(обогащает) образ HTML- страницы;
• Интерпретируя байт-код Java-аплета, дополняет
новыми возможностями образ HTML-страницы;
• Ведет диалог с пользователем, заполняющим
формы, и создает новые запросы к Web-серверу;
• С помощью утилит воспроизводит коды
аудиопотоков и видеопотоков, т.е. обеспечивает
мультимедийный режим;
• Моделирует виртуальную реальность,
обрабатывая VRML-документы.
Перечисленные задачи Web-клиента и Web-сервера
обеспечиваются программными средствами,
размещенными на машинах клиента и сервера.
Здесь следует отметить, что стандартов на
построение Web-клиента и Web- сервера пока нет, и их
компонентный состав может сильно отличаться при
переходе от одного программного продукта к
другому. Именно поэтому (и в связи с постоянным
развитием Web-системы в целом) вопросы
программирования для WWW (Web-программирования)
являются актуальными не только для
разработчиков ее системной части, но и для
большого числа авторов Web-публикаций. Здесь нужно
обратить внимание на разнообразие языков
программирования и инструментальных средств,
применяемых в Web- программировании. Например, для
написания CGI-модулей, исполняемых на машине
Web-сервера, используют Си, Си++, Peri, Tel и др.
Указанная ситуация отражает существующую много
лет необходимость создавать программы,
работающие на разных аппаратных платформах и в
разных операционных системах. В докладе
рассматриваются вопросы применения технологии
Java для достижения некоторой унификации при
разработке программ для World Wide Web. Но какие же
программы нужно и можно программировать для WWW?
Рассматривая вопросы Web-программирования,
необходимо обратить внимание на стандартную для
компьютерной индустрии ситуацию: наличие в
Web-системе общесистемной и прикладной частей.
Программирование общесистемной части включает,
например, разработку новых и модификацию уже
существующих Web-серверов и Web-браузеров.
Распределенные по многочисленным Web-узлам
массивы HTML- страниц, VRML-документы, Java-аплеты,
CGI-модули, файлы ресурсов и прикладные
мультимедийные программы в совокупности
образуют прикладную часть Web-системы.
Программирование, относящееся к прикладной
части Web- системы, предусматривает:
- создание специализированных программ для
обработки (на стороне клиента) файлов, получаемых
от узлов сети Internet (например, воспроизведение
мультимедийных файлов).
- разработку CGI-модулей для обработки (на
стороне сервера) специфических запросов от
Web-клиентов;
- разработку Java-аплетов для решения (на стороне
клиента) нетиповых задач воспроизведения
HTML-страниц (анимация, нестандартный диалог,
графические построения и т.д.)
Обратите внимание, что результаты деятельности
прикладного Web- программиста HTML.-страницы,
утилиты для воспроизведения аудио- и видео-
файлов, VRML-документы, CGI-модули, Java-аплеттов
должна размещаться (храниться)на Web-узле, но
только CGI-модули выполняются на машине Web-узла.
Среди перечисленных задач Web-программирования
традиционными для Java-технологии являются задачи
проектирования интерактивных программ,
функционирующих на стороне Web-клиента в виде
Java-аплетов. Однако разработка аплетов это только
одна из возможностей Java-технологии. Java может
служить средством для разработки нового
Web-сервера или специфического Web-браузера. Java
позволяет проектировать мобильные приложения с
независимым от платформы пользовательским
интерфейсом. Java включает библиотеку классов для
программирования параллельных процессов. Java
позволяет создавать программы связи Web-сервера с
SQL-сервером и тем самым решать задачи удаленного
доступа к базам данных. Именно такие возможности
языка Java и Java-технологии планируется рассмотреть
в предлагаемом докладе. |