На главную страницу
Информационные системы и банки данныхУправление и принятие решений в сложных системахПрикладные информационные технологииКомпьютер в учебном процессеСетевые технологииПленарные доклады Карта сервераПобедители семинараИнформацияОбщее впечатлениеВаши отзывы
Пленарные доклады - Список докладов

JAVA-ДОСТУП К INTERNET БАЗАМ ДАННЫХ

Ю.Л. Ижванов
(к.т.н., доц., чл.-корр. Международной академии Информатизации, зам. директора ГосНИИ информационных технологий и телекоммуникаций)

Реляционные и объектно-ориентированные базы данных постепенно становятся привычным видом информационных ресурсов в Internet наряду с гипертекстовыми и гипермедиа источниками. Доступ к таким базам данных может быть организован несколькими способами, которые можно классифицировать по технологиям организации клиентской и серверной части системы. В данном докладе мы ограничимся взаимодействием клиент-сервер в рамках WEB-технологии. Наиболее простым и часто используемым способом организации клиентского интерфейса доступа к базам данных в этом случае является механизм HTML-форм. Его недостатком является некоторая выразительная бедность, сложность реализации многоуровневой логики переключения, невозможность проверки корректности действий пользователя «на месте» т.е. на компьютере клиента. Эти недостатки могут быть преодолены, правда за счет увеличения «толщины» клиента, использованием апплетов Java или элементов ActiveX. Последний вариант слишком привязан к платформе Windows (и броузеру Internet Explorer) и здесь не рассматривается. Апплеты Java могут взаимодействовать с сервером различным образом. Так, например, они могут передавать запрос пользователю точно также, как это делается в случае HTML-форм, т.е. с помощью HTTP протокола. В этом случае запрос принимает сам Web-сервер, передавая его потом соответствующей обрабатывающей запрос программе. С другой стороны, Java-апплет может и сам установить соединение с компьютером-сервером (используя для этого новый порт) и передавать параметры непосредственно с помощью сокетов. Более "продвинутым" решением является использование более высокоуровневых механизмов RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architcctire) и других. RMI является составной частью пакета JDK (Java Development Kit) компании Sun Microsistems, в то время как подход на основе CORBA реализован, например, в таком продукте как OrbixWeb фирмы IONA Technologies.

Программа, осуществляющая собственно доступ к базе данных находится на серверной стороне. В случае использования HTML-форм или Java-апплстов реализующих HTTP протокол взаимодействия с сервером, Web сервер, получая запрос от клиента, вызывает соответствующую программу - обработчик запроса используя CGI- интерфейс (Common Gateway Interface) или его разновидности, такие как FastCGI, NSAP1, ISAPI. Обработчик запроса может обратиться к базе данных непосредственно, а может передать запрос другой программе - серверу баз данных. Недостатком подхода основанного на CGI является необходимость загрузки CGI программы заново при каждом новом обращении клиента. В двух последних случаях обработчик представляет собой модуль, исполняемый в контексте программы Web-сервера. При этом, однако, теряется универсальность программы обработки запроса клиента, поскольку соответствующие модули «привязаны» к реализациям Web-серверов (фирм Netscape и Microsoft соответственно). Альтернативным подходом, лишенным указанных недостатков, является подход, основанный на использовании механизма Java сервлетов, реализованных в частности в пакете JSDK (Java Servlet Development Kit).

Использование языка Java на серверной стороне имеет еще и то преимущество, что в пакет JDK встроен удобный механизм работы с реляционными базами данных JDBC (Java Data Base Connectivity), значительно облегчающий реализацию SQL-запросов к БД. В настоящее время имеются многочисленные JDBC-драйверы (существующая классификация насчитывет четыре типа таких драйверов) практически для всех существующих СУБД. Что касается SQL, то вскоре невидимому появиться язык JSQL, который позволит встраивать SQL операторы непосредственно в Java программы, а не передовать их в Java-методы в виде строковых переменных. Современные объекто-ориентированные СУБД, такие например как Object Store или Poet написанные на Java органично сочетаются с механизмом сервлетов поскольку позволяют вести разработку в одной языковой среде.

Таким образом, использование языка Java для реализации как клиентской так и (в особенности) серверной части системы доступа к базам данных в Internet является перспективным и оправданным решением, как с точки зрения его эффективности, так и его переносимости и универсальности. Этот подход, в частности, широко применяется при реализации доступа к ряду баз данных на сервере ГосНИИ информационных технологий и телекоммуникаций www.informika.ru .

RLE Banner Network