Технология клиент-сервер
Практически все модели организации удаленного взаимодействия пользователя с БД построены на основе модели «клиент-сервер». Это технология взаимодействия двух программ (или ЭВМ), каждая из которых имеет свое назначение и выполняет свою определенную роль. Сервер — это компьютер, управляющий тем или иным ресурсом или программа, предоставляющая доступ к этому ресурсу. Клиент — это программа (или ЭВМ), запрашивающая у сервера требуемый ресурс. В распределенных системах функции прикладной программы разбиваются на две части. Одна часть реализуется в программе-клиенте, а другая — в программе-сервере и для их взаимодействия определяется некоторый протокол.
Рассмотрим эти функции. Один из основных принципов технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на 4 группы, имеющие различную природу.
Первая группа — функции, с помощью которых пользователь взаимодействует с приложением (в основном — функции ввода и отображения данных).
Вторая группа — объединяет чисто прикладные функции, характерные для данной предметной области (для банковской системы — открытие счета, перевод денег с одного счета на другой и т.д.).
Третья группа — фундаментальные функции хранения и управления информационно-вычислительными ресурсами (базами данных, файловыми системами и т.д.).
Четвертая группа — служебные функции, осуществляющие связь между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие компоненты:
- компонент представления (функции первой группы),
- прикладной компонент, (функции второй группы)
- компонент доступа к данным (функции третьей группы),
- соглашения о способах их взаимодействия (т.е., разрабатывается протокол взаимодействия).
Различия в реализации технологии клиент-сервер определяются:
— видами ПО, в которые интегрирован каждый из этих компонентов;
— механизмами ПО, используемыми для реализации функций всех трех групп;
— способом распределения логических компонентов между компьютерами в сети;
— механизмами, используемыми для связи компонентов между собой.
Выделяются четыре основных подхода, реализованные в следующих моделях:
Один из узлов сети считается файловым сервером и предоставляет другим компьютерам услуги по доступу к файлам, хранящимся на этом узле. Серверная часть программы содержит только компонент доступа к данным (файлам). На других ПК в сети функционирует приложение-клиент, совмещающий компонент представления и прикладной компонент. Протокол обмена представляет собой набор вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.
К недостаткам данной модели относят высокий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д.