Модели «Клиент-сервер». Модель файлового сервера (FS).
Модель доступа к удаленным данным (RDA).
Модели клиент-сервер - это технология взаимодействия в
информационной сети. Сервер обладает правом управления
тем или иным ресурсом, а клиент – пользования им. Каждый
конкретный сервер определяется видом того ресурса, которым он владеет.
Например, назначением сервера баз данных является обслуживание запросов
клиентов, связанных с обработкой данных; файловый сервер, или файл-сервер, распоряжается файловой системой.
Этот принцип
распространяется и на взаимодействие программ. Программа, выполняющая
предоставление соответствующего набора услуг, рассматривается в качестве
сервера, а программы, пользующиеся этими услугами, принято называть клиентами. Программы имеют распределенный
характер, т.е. одна часть функций прикладной программы реализуется в программе-клиенте,
а другая - в программе-сервере, а для их взаимодействия определяется некоторый протокол.
Рассмотрим эти функции.
Один из основных принципов технологии клиент-сервер заключается в разделении
функций стандартного интерактивного приложения на четыре группы, имеющие
различную природу:
· Функции ввода и отображения данных.
· Прикладные функции, характерные для данной предметной
области (для банковской системы - открытие счета, перевод денег и т.д.).
· Функции хранения и управления
информационно-вычислительными ресурсами (базами данных, файловыми системами и
т.д.).
· Служебные функции, осуществляющие связь между
функциями первых трех групп.
В
соответствии с этим в любом приложении выделяются следующие логические
компоненты: компонент представления (presentation), реализующий функции первой
группы; прикладной компонент (business application), поддерживающий функции
второй группы; компонент доступа к информационным ресурсам (resource manager),
поддерживающий функции третьей группы, а также вводятся и уточняются соглашения
о способах их взаимодействия (протокол взаимодействия).
Различия в реализации технологии клиент-сервер определяются следующими факторами:
видами программного обеспечения, в которые интегрирован каждый из этих
компонентов; механизмами программного обеспечения, используемыми для реализации
функций всех трех групп; способом распределения логических компонентов между
компьютерами в сети; механизмами, используемыми для связи компонентов между
собой.
Выделяются четыре
подхода, реализованные в следующих моделях:
·
модель файлового сервера (File Server - FS);
·
модель доступа к удаленным данным (Remote Data Access
- RDA);
·
модель сервера баз данных (Data Base Server - DBS);
·
модель сервера приложений (Application Server - AS).
Модель файлового сервера. (FS) - является
базовой для локальных сетей ПК.
Одним из компьютеров в
сети считается файловым сервером и предоставляет другим компьютерам услуги по
обработке файлов. Файловый сервер работает под управлением сетевой операционной
системы и играет роль компонента доступа к информационным ресурсам (т.е. к файлам).
На других ПК в сети функционирует приложение, в кодах которого совмещены
компонент представления и прикладной компонент (рис.5.1.).
Клиент
Сервер
Запросы
Компонент Прикладной Компонент доступа к
ресурсам
представления компонент Файлы (файловая система ОС)
файлы
Рис.5.1.
Модель файлового сервера
Протокол обмена
представляет собой набор вызовов, обеспечивающих приложению доступ к файловой
системе на файл-сервере.
К недостаткам технологии
данной модели относят низкий сетевой трафик (передача множества файлов,
необходимых приложению), небольшое количество операций манипуляции с данными
(файлами), отсутствие адекватных средств безопасности доступа к данным (защита
только на уровне файловой системы) и т.д.
Запросы к информационным
ресурсам направляются по сети удаленному компьютеру, который обрабатывает и
выполняет их, возвращая клиенту блоки данных (рис.5.2).
Клиент
Сервер
SQL
Компонент Прикладной Компонент
доступа к ресурсам
представления компонент SQL – сервер, машина
данных
данные
Говоря об архитектуре
клиент-сервер, подразумевают данную модель. Основное достоинство RDA-модели
заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком
выборе средств разработки приложений. К недостаткам можно отнести существенную
загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов;
невозможность администрирования приложений в RDA, т.к. в одной программе
совмещаются различные по своей природе функции (представления и прикладные).