Модели архитектуры клиент-сервер

Рассмотрим четыре подхода, реализованные в моделях технологии «клиент-сервер».

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-документа.