Добавлен: 20.10.2018
Просмотров: 646
Скачиваний: 9
Тема 28. Распределенная обработка данных.
Модели «клиент-сервер»
В сетевой среде пользователи и базы данных могут находиться на разных
компьютерах, при этом сама база может быть централизованной (размещаться
на одном компьютере) или децентрализованной (занимать несколько
компьютеров).
Параллельный
доступ
нескольких
пользователей
к
централизованной базе данных называется распределенной обработкой данных.
Параллельный доступ нескольких пользователей к децентрализованной БД –
распределенная база данных.
Модель «клиент-сервер» разделяет процесс решения программной задачи
на два взаимодействующих процесса: клиента и сервера. Клиент запрашивает
некоторые услуги у сервера, а сервер обеспечивает их выполнение.
Предполагается, что серверный процесс одновременно обслуживает множество
клиентских процессов.
Стандартное интерактивное приложение в общем случае выполняет
функции следующих видов:
1. функции ввода и отображения данных (представительские функции);
2. функции обработки данных;
3. функции управления данными.
Представительские функции реализуют графический интерфейс
пользователя.
Функции обработки данных определяют алгоритмы решения прикладных
задач.
Управление данными – хранение и управление базами данных (СУБД).
Возможные распределения функций интерактивного приложения между
процессами клиент и сервер:
Представление Обработка
данных
Управление
данными
Распределенное
представление
Клиент
Сервер
сервер
сервер
Удаленное
представление
Клиент
сервер
сервер
Распределенная
обработка
Клиент
клиент
сервер
сервер
Удаленное управле-
ние данными
Клиент
клиент
сервер
Распределенное уп-
равление данными
Клиент
клиент
клиент
сервер
В модели распределенного представления основная часть работы
выполняется на сервере, клиент работает в режиме терминала и реализует
только часть представительских функций.
Модель удаленного представления принято называть моделью сервера
баз данных.
Распределенная обработка характеризуется выполнением прикладных
алгоритмов и на клиенте, и на сервере.
Удаленное управление принято называть удаленным доступом к данным.
Распределенное управление данными - антипод распределенного
представления: большая часть обработки происходит на клиенте.
Модель удаленного доступа к данным
База данных хранится на сервере, там же находится ядро СУБД. На
клиенте реализуются функции представления и обработки. Клиент обращается
к серверу с запросами на SQL.
Достоинством модели является большое число СУБД, поддерживающих
удаленный доступ к данным. Недостатки: большая загрузка сети, дублирование
Представление
_____________
Обработка
Управление
данными
____________
СУБД
БД
запросы
ответы
клиент
сервер
Рис. 28.1. Модель удаленного доступа к данным.
функций обработки разных приложений, сложность разработки приложений,
пассивность сервера.
Модель сервера баз данных
Основу модели составляет механизм хранимых процедур и триггеров
(рис. 28.2). Обработка данных разделена между клиентом и сервером. Со
стороны сервера обработка поддерживается хранимыми процедурами, которые
хранятся в базе данных и управляются СУБД. Клиентское приложение
запускает хранимую процедуру и получает запрошенные данные.
Контроль состояния БД выполняется с использованием триггеров –
процедур, автоматически запускаемых при возникновении некоторых
состояний. Триггеры могут вызывать хранимые процедуры.
В этой модели сервер активен, он может быть инициатором обработки
данных. Для написания хранимых процедур и триггеров используется SQL.
Недостаток модели – большая загрузка сервера.
Модель сервера приложений
Представление
Хранимые
процедуры
____________
Триггеры
____________
СУБД
БД
Вызов
процедур
ответы
клиент
сервер
Рис. 28.2. Модель сервера БД.
Представление
Обработка
БД
Вызов
процедур
ответы
клиент
сервер
приложений
Управление
данными
сервер БД
Рис. 28.3. Модель сервера приложений.
Это трехуровневая модель - функции приложения распределены между
тремя процессами: клиентом, сервером приложений и сервером БД (рис. 28.3).
Клиент выполняет функции представления. Серверы приложений
реализуют общие функции для клиентов, поддерживают распределенные
транзакции. Серверы баз данных обеспечивают создание и ведение БД,
поддерживают целостность данных.
Модель более гибкая, чем двухуровневая. Преимущества модели
особенно проявляются в случае сложной обработки данных.
Базы данных в Internet и intranet
Intranet
Технология intranet – это технология Internet, перенесенная в среду
локальных вычислительных систем (корпоративных информационных систем).
Корпоративные системы intranet, в отличие от систем «клиент-сервер»,
ориентированы не на данные, а на информацию в ее окончательном и
пригодном для использования неквалифицированным пользователем виде.
Навигатор
Навигатор
Навигатор
Сервер БД
…
Генерация
информации
Доставка
информации
Представление
информации
Информационная
система
intranet
Рис. 28.4. Информационная система intranet.
Отличительные черты технологии intranet:
на сервере порождается информация, а не данные;
при обмене между клиентом и сервером используется протокол
открытого стандарта;
прикладная система находится на сервере, поэтому на компьютере-
клиенте достаточно иметь навигатор.
Доступ к базам данных в Internet
Программы WWW могут иметь доступ к БД как со стороны сервера, так и
со стороны клиента (рис. 28.5).
При доступе со стороны сервера обращение к БД обычно производится
путем вызова Web-сервером внешних программ в соответствии с соглашениями
одного из интерфейсов: CGI (интерфейс общего шлюза), API (интерфейс
прикладного программирования). Внешние программы взаимодействуют с
сервером БД на SQL. Они пишутся на обычных языках программирования или
на специализированных языках типа Perl или PHP. Такие программы
называются CGI-сценариями или CGI-скриптами. Для поддержания этого
механизма на стороне клиента в состав HTML-документа включается форма
для представления запросов к БД.
Доступ в соответствии с интерфейсом CGI включает следующие шаги:
1. Запрос клиентом у сервера страницы, содержащей форму с
обращением к БД.
SQL-запрос
Web-клиент
JAVA-апплет
Web-сервер
Сервер БД
SQL-запрос
Web-клиент
Web-сервер
CGI-сценарий
Сервер БД
Рис. 28.5. Базы данных в Internet.