Много споров о том, к какой архитектуре относится Intranet. Пытаются даже противопоставить Intranet архитектуре клиент-сервер. Нужно четко понять, что все решения Intranet-приложений для взаимодействия с БД основаны на архитектуре клиент-сервер.
Наличие диалоговых свойств в HTML и интерфейса CGI позволяет строить Intranet-приложения с доступом к БД (рис.1). Наиболее распространена схема динамической публикации отчетов. При этом в качестве CGI-процедуры используется параметризуемый генератор отчетов. Однако это не единственная схема, возможно применять программы ввода и обновления информации в БД.
Если используются традиционные статичные страницы гипертекста, то в ответ на запрос клиента Web-сервер передает страницу в формате HTML. При работе с базой данных клиент указывает в форме программу или сценарий для запуска на сервере. Серверная процедура получает введенные пользователем данные, формирует и передает SQL-запрос (определяющий логику управления данными DL) и, возможно, данные к СУБД. Сервер БД по запросу выполняет обновление, вставку, удаление или выборку записей из БД. CGI-процедура полученные результаты преобразует в формат HTML или в формат диалоговых переменных. Затем Web-сервер посылает полученную HTML-cтраницу или значения диалоговых переменных браузеру для отображения.
Использование CGI-процедур имеет ряд недостатков - статичное представление информации, преобразование результата-отчета в HTML-файл, отсутствие динамического просмотра изменения информации в базе данных, процедура "не помнит состояний запросов" - каждое обращение к БД требует повторного установления соединения. Кроме того, такой принцип работы перегружает коммуникационную среду и имеет системные издержки при запуске серверных процессов.
Рассмотренная схема по существу является трехзвенной архитектурой клиент-сервер, где Web-сервер выступает в качестве сервера приложений. Для устранения недостатков CGI используют возможности специальных API для Web-серверов и включают дополнительное "релейное" звено в архитектуру. Все это только подталкивает к дальнейшему совершенствования архитектуры клиент-сервер.
Рис. 1. Схема Intranet-приложения с доступом к БД
Предложенная фирмой Sun технология Java ориентирует взаимодействие между клиентом и сервером на поток команд, а не данных. В ходе сеанса обеспечивается фоновая подкачка через сеть на компьютер клиента программных агентов - апплетов, которые берут на себя функции обеспечения гибкого взаимодействия. Все, что нужно для этого - встроить в Web-браузер исполняющую систему для апплетов.
При построении информационных приложений с использованием Java-технологии получается классическая двух- или трехзвенная архитектура клиент-сервер (рис. 2), а гипертекст уходит на задний план и выполняет лишь роль инициатора апплетов. Существенным достоинством такой технологии является независимость приложения от аппаратной платформы. Но есть и немало недостатков: невысокое быстродействие вследствии интерпретации байт-кодов, возврат к оконной метафоре "рабочего стола", остаются те же проблемы организации связи с БД.