Рассмотрим четыре подхода, реализованные в моделях технологии «клиент-сервер».
1) FS-модель
Базовая для локальных сетей персональных компьютеров. Применялась для разработки информационных систем на базе FoxPRO, Clipper, Paradox.
Основные свойства:
— выделяется файл-сервер для реализации услуг по обработке файлов других узлов сети; работает под управлением сетевых ОС;
— играет роль компонент доступа к информационным ресурсам;
— в остальных узлах функционирует приложение, в кодах которого совмещены компоненты представления и прикладной;
— протокол обмена — набор низкоуровневых вызовов.
Технология: запрос направляется на файловый сервер, который передает СУБД, размещенной на компьютере-клиенте, требуемый блок данных. Вся обработка осуществляется на компьютере-клиенте.
Недостатки: высокий сетевой трафик; небольшое число операций манипулирования; недостаточные требования к безопасности.
2) RDA-модель
Основные свойства:
-коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте;
-доступ к информационным ресурсам обеспечивается операторами непроцедурного языка SQL.
Технология:
клиентский запрос направляется на сервер, где функционирующее ядро СУБД обрабатывает запрос и возвращает результат (блок данных) клиенту. Ядро СУБД выполняет пассивную роль;
инициатор манипуляций с данными — программы на компьютере-клиенте.
Достоинства:
-процессор сервера загружается операциями обработки данных;
-уменьшается загрузка сети, т.к. по сети передаются запросы на языке SQL;
-унификация интерфейса «клиент-сервер» в виде языка SQL; использование его в качестве стандарта общения клиента и сервера.
Недостатки:
удовлетворительное администрирование приложений в RDA-модели невозможно из-за совмещения в одной программе различных по своей природе функций (представления и прикладных).
3) DBS-модель
Реализована в реляционных СУБД Informix, Ingres, Oracle.
Основные свойства:
-основа модель-механизм хранимых процедур — средство программирования SQL-сервера;
-процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и выполняются на компьютере, где функционирует SQL-сервер;
-компонент представления выполняется на компьютере-клиенте;
-прикладной компонент и ядро СУБД на компьютере-сервере базы данных.
Достоинства:
-возможность централизованного администрирования;
-вместо SQL-запросов по сети передаются вызовы хранимых процедур, что ведет к снижению сетевого трафика.
Недостатки:
-в большинстве СУБД недостаточно возможностей для отладки и типизирования хранимых процедур;
ограниченность средств для написания хранимых процедур.
На практике чаще используется разумный синтез RDA- и DBS-моделей для построения многопользовательских информационных систем.
4) AS-модель
Основные свойства:
-на компьютере-клиенте выполняется процесс, отвечающий за интерфейс с пользователем;
-этот процесс, обращаясь за выполнением услуг к прикладному компоненту, играет роль клиента приложения (АС);
-прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (AS);
-все операции над БД выполняются соответствующим компонентом, для которого AS — клиент.
RDA- и DBS-модели имеют в основе двухзвенную схему разделения функций. В RDA-модели прикладные функции отданы клиенту, в DBS-модели их реализация осуществляется через ядро СУБД. В RDA-модели прикладной компонент сливается с компонентом представления, в DBS-модели интегрируется в компонент доступа к ресурсам.
В AS-модели реализована трехзвенная схема разделения функций, где прикладной компонент выделен как важнейший изолированный элемент приложения, имеющий стандартизированные интерфейсы с двумя другими компонентами.
AS-модель является фундаментом для мониторов обработки транзакций.
Язык запросов — это искусственный язык, на котором делаются запросы к базам данных и другим информационным системам, особенно к информационно-поисковым системам.
SQL — де-факто стандартный язык запросов к реляционным базам данных.
Language Integrated Query — расширение для некоторых языков программирования в .NET Framework, добавляющее к ним SQL-подобный язык запросов.
XQuery — язык запросов, разработанный для обработки данных в формате XML.
XPath — язык запросов к элементам XML-документа.