Публикация баз данных в Internet
Публикация баз данных в интернете — это размещение информации их баз данных на WEB-страницах в сети. Отметим, что такая публикация связана с решением следующих типичных задач, возникающих перед разработчиками современного программного обеспечения:
• Организация взаимосвязи СУБД, работающих на различных платформах.
• Построение информационных систем в сети Internet на основе многоуровненевой архитектуры БД (архитектура таких систем включает дополнительный уровень — WEB-сервер с модулями расширения серверной части, который и реализует возможность информационного обмена и публикации БД в глобальной сети)
• Построение локальных интранет-сетей на основе технологии публикации БД в Интернете.
• Использование в Internet информации из существующих локальных сетевых баз данных.
• Применение БД для упорядочивания информации.
• Поддержка языка SQL.
• Использование средств СУБД для обеспечения безопасности данных.
• Стандартизация пользовательского интерфейса на основе применения WEB-браузера.
Размещение информации из БД в Internet представляет собой новую информационную технологию, получившую широкое распространение в последнее время в связи с ростом популярности глобальной паутины.
В Internet вся информация размещается на WEB-страницах, для написания которых используется язык HTML (язык разметки текста) или его расширения, такие как DHTML и XML. В содержимое WEB-страницы может входить как и текстовая информация, так и графические изображения, ссылки на другие страницы и даже аудио и видео информация.
Для расширения возможностей WEB-сервера создаются соответственные программы расширения. При организации работы БД в сети часто используют следующие средства:
• Сценарии (JavaScript, JScript, VBScript).
• Апплеты и сервлеты, написанные на Java.
• Элементы управления ActiveX.
• Консольные программы, реализованные с поддержкой интерфейсов CGI.
• Программы, поддерживающие интерфейс WinCGI.
• Динамические библиотеки, поддерживающие ISAPI.
• Динамические страницы IDC/HTX.
• Активные серверные страницы ASP.
Дадим краткую характеристику этих средств.
Технологии публикации БД
• Сценарии JavaScript, JScript, VBScript
Сценарии, написанные на скриптовых языках, используют для динамического управления интерфейсными объектами WEB-документа. Все эти языки в подавляющем своём большинстве интерпретируемые. Интерпритация осуществляется или браузером, или WEB-сервером. Скрипты рассматриваются как расширение языка HTML и могут включаться в тело документа. Часть скрипта выполняется в момент загрузки, а какие-то части — в ответ на действие пользователя. Выбор конкретного скриптового языка зависит в первую очередь от выбранного браузера.
• Элементы управления ActiveX
Элементы управления ActiveX представляют собой модули расширения, реализованные в виде DLL, которые могут быть использованы и на стороне клиента, и на стороне сервера. Механизм работы элементов управления позволят получать с их помощью неограниченный доступ к локальным ресурсам компьютера. Так как код ActiveX может содержать вирус, использование этих элементов чаще всего неоправданно.
• Апплеты и сервлеты Java
Апплеты Java применяются для создания динамически формируемого интерфейса пользователя. Язык Java является объектно-ориентированным языком. Однако возможности Java по доступу к локальным ресурсам сильно урезаны, что делает его безопасным для работы в сети. По мимо этого Java интерпретируема, такой механизм помимо безопасности гарантирует и целостность данных пользователя.
Сервлеты, в отличие от апплетов, выполняются на стороне сервера. В первую очередь сервлеты служат для обработки запросов, передаваемых от браузера.
• Интерфейсы CGI и WinCGI
Для создания модулей расширеня WEB-сервера часто используются интерфейсы: общий шлюзовой (CGI) или интерфейсы прикладного программирования (API).
CGI — стандартный протокол взаимодействия между WEB-сервером и модулем расширения, который используется для выполнения нестандартных функций. Такие модули могут использоваться для обработки получаемой пользователем информации.
Обмен информацией между CGI-приложением и сервером осуществляется через стандартный потоковый ввод-вывод, а передача параметров организуется через переменные окружения или URL-адреса.
Для запуска модуля, необходимо обратиться к нему через его URL. Для каждого такого запроса сервер запускает новую копию CGI-приложения.
Для среды Windows существует адаптированный вариант интерфейса — WinCGI. В нём управляющие параметры передаются через ini-файл. В остальном WinCGI повторяет принципы работы родительского интерфейса.
• Интерфейсы ISAPI/NSAPI
Более перспективными являются интерфейсы ISAPI/NSAPI, разработанные фирмами Microsoft и Netscape соответственно. Осуществление взаимодействия с сервером осуществляется при помощи специальных объектов request-response. Основное отличие от CGI в том, что при многопользовательском режиме работы не происходит излишней нагрузки сервера, потому что загрузка DLL выполняется только один раз при первом обращении.
• ASP, PHP и IDC/HTX-страницы
Это специальные типы страниц, используемые для динамического формирования страниц, содержащих информацию из БД.
IDC-страница содержит псевдоним (alias), запрос, идентификатор пользователя и пароль.
HTX-страница содержит шаблон, определяющий какую информацию и в каком формате передавать браузеру.
ASP-страница содержит одновременно HTML-шаблон и SQL-запрос к БД. В ASP-страница используются средства JScript и объектная модель доступа к данным.
Протоколы передачи данных
В сети Internet используются серверы с различным программным обеспечением. Запросы от браузера поступают на WEB-сервер в соответствии с установленным протоколом обмена, например HTTP. Вообще-то в сети Internet поддерживается более десятка протоколов. Протокол HTTP предназначен для передачи между браузером и сервером. Соединение чаще всего обеспечивается на уровне протокола TCP/IP, но при работе с БД лучше использовать протокол IIOP, который умеет сохранять состояние.
Виды публикации
• Статическая публикация
Генерацию таких страниц выполняет обычное приложение Windows, имеющее доступ к БД. Этот способ используется только если публикуемая информация обновляется очень редко. Зато при поступлении запроса не требуется активное состояние сервера.
• Динамическая публикация
Используется в случаях, когда требуется получить доступ к БД, информация в которой часто обновляется. Таким способом работают Internet-магазины, авиакассы, да и вообще все системы реального времени.
Вывод
Информационные системы, построенные на WEB-приложениях используют многоуровневую архитектуру и позволяют воспользоваться всеми преимущества всемирной паутины. Однако разработчикам надо учитывать, что такая архитектура имеет недостатки:
— Совместимость браузеров.
— Разграничение прав доступа.
— Безопасность.
— Надёжность линий связи.
Требования к WEB-СУБД
— Защищённость доступа к ценным данным.
— Независимый способ подключения.
— Независимость работы от типа сервера и браузера.
— Открытость архитектуры.
— Поддержка COM+ и CORBA.
— Масштабируемость.
— Поддержка транзакций.
— Поддержка сеансов.
— Производительность.
— Минимальная требование к администрации.
Плюсы
— Простота.
— Независимость от ПО.
— Графический интерфейс.
— Стандартизация.
— Межплатформенная поддержка.
— Прозрачность.
— Масштабируемость.
Минусы
— Малая надёжность.
— Низкая скорость.
— Низкий уровень безопасности.
— Высокая стоимость.
— Трудность в определение масштаба.
— Ограничение html.
— Требования к пропускной способности.
— Несовершенная разработка.