1.2. Архитектуры клиент—сервер в технологии управления удаленными базами данных
Вычислительная модель клиент-сервер исходно связана с появлением открытых систем в 1990-х гг. Термин клиент—сервер применялся к архитектуре программного обеспечения, состоящего из двух процессов обработки информации: клиентского и серверного. Клиентский процесс запрашивал некоторые услуги, а серверный — обеспечивал их выполнение. При этом предполагалось, что один серверный процесс может обслужить множество клиентских процессов. Учитывая, что аппаратная реализация этой модели управления базами данных связана с созданием локальных вычислительных сетей предприятия, такую организацию процесса обработки информации называют архитектурой клиент—сервер.
Основной принцип модели клиент—сервер применительно к технологии управления базами данных заключается в разделении функций стандартного интерактивного приложения на пять групп, имеющих различную природу:
функции ввода и отображения данных (Presentation Logic);
прикладные функции, определяющие основные алгоритмы решения задач приложения (Business Logic);
функции обработки данных внутри приложения (DataBase Logic);
функции управления информационными ресурсами (DataBase Manager System);
служебные функции, играющие роль связок между функциями первых четырех групп.
Структура типового приложения, работающего с базой данных в архитектуре клиент—сервер, приведена рис. 1.1.
Как видно из рис. 1.1, клиентская часть приложения включает в себя следующие части:
презентационную логику;
бизнес-логику, или логику собственно приложений;
логику обработки данных;
процессор управления данными.
Презентационная логика (Presentation Logic) как часть приложения определяется тем, что пользователь видит на своем экране, что приложение работает. Сюда относятся все интерфейсные экранные формы, которые пользователь видит или заполняет в ходе работы приложения, а также все то, что выводится пользователю на экран в качестве результатов решения некоторых про-
Клиент
Рис. 1.1. Структура типового приложения, работающего с базой данных
межуточных задач либо как справочная информация. Следовательно, основными задачами презентационной логики являются:
формирование экранных изображений;
чтение и запись в экранные формы информации;
управление экраном;
обработка движений мыши и нажатие клавиш клавиатуры.
Бизнес-логика, или логика собственно приложений (Business
Processing Logic), — это часть кода приложения, которая определяет собственно алгоритмы решения конкретных его задач. Обычно этот код записывается с использованием различных языков программирования, таких как С, С++, Visual Basic и др.
Логика обработки данных (Data Manipulation Logic) — это часть кода приложения, которая непосредственно связана с обработкой данных внутри него. Далными управляет собственно СУБД, а для обеспечения доступа к ним используется язык SQL.
Процессор управления данными (DataBase Manager System Processing) — это собственно СУБД, которая обеспечивает хранение и управление базами данных. В идеале функции СУБД должны быть скрыты от бизнес-логики приложения, однако при рассмотрении архитектуры приложения мы выделим их в отдельную его часть.
Рис. 1.2. Распределение функций компонентов приложения в моделях
клиент—север
В централизованной архитектуре (Host-Based Processing) указанные части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы. В децентрализованной архитектуре эти части приложения могут быть по-разному распределены между серверным и клиентским процессами.
В зависимости от характера распределений задач можно выделить следующие их модели (рис. 1.2):
распределенное представление (Distribution Presentation);
удаленное представление (Remote Presentation);
распределенная бизнес-логика (Remote Business Logic);
удаленное управление данными (Remote Data Management);
распределенное управление данными (Distributed Data Management).
Эта условная классификации показывает, как могут быть распределены отдельные задачи между серверным и клиентскими процессами. В данной классификации отсутствует реализация удаленной бизнес-логики, так как считается, что она не может быть удалена полностью, а может быть лишь распределена между разными процессами, которые могут взаимодействовать друг с другом.
