ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 1618
Скачиваний: 25
15.
Распределенные
системы
.
Архитектура
клиент
-
сервер
Из
материала
предыдущих
разделов
видно
,
что
работающее
с
базой
данных
программное
обеспечение
должно
выполнять
следующие
функции
:
•
управление
информационными
ресурсами
базы
данных
,
обеспечение
целостности
данных
;
•
обработка
и
интерпретация
данных
в
соответствие
с
алгоритмами
решения
конкретных
пользовательских
задач
(
так
называемая
бизнес
-
логика
прикладных
задач
);
•
функции
ввода
и
отображения
информации
(
презентационная
логика
).
Ранее
,
в
«
досетевую
»
эпоху
компьютерных
систем
,
сама
база
данных
и
все
работающее
с
ней
программное
обеспечение
размещалось
на
одном
«
большом
»
компьютере
–
мэйнфрейме
(main frame)
и
реализовывало
все
необходимые
функции
по
управлению
данными
,
выполнения
бизнес
-
логики
,
вводу
данных
и
их
отображению
на
соответствующих
терминальных
устройствах
(
см
.
рис
.
15.1).
Пользователи
таком
компьютере
базой
данных
с
)
или
других
периферийных
работали
с
общей
,
расположенной
на
помощью
видео
-
терминалов
(
дисплеев
устройств
ввода
-
вывода
информации
.
Рис
. 15.1.
ИС
с
базой
данных
на
компьютере
-
мэйнфрейме
197
С
появлением
в
восьмидесятые
годы
персональных
ЭВМ
наступил
период
массового
использования
локальных
персональных
информационных
систем
с
базами
данных
.
Каждая
такая
персональная
система
представляла
собой
,
по
сути
, «
маленький
мэйнфрейм
»,
реализующий
все
три
группы
функций
информационной
системы
с
собственной
базой
данных
,
используемой
персонально
одним
пользователем
.
По
сравнению
с
классическим
многопользовательским
мэйнфреймом
такие
информационные
системы
явились
«
шагом
назад
»
с
точки
зрения
соответствия
требованиям
к
информационным
системам
с
базами
данных
(
см
.
Введение
),
в
частности
,
их
принципиальным
недостатком
было
отсутствие
интеграции
данных
,
что
приводило
к
дублированию
данных
и
проблемам
с
обеспечением
их
актуальности
,
непротиворечивости
и
целостности
.
Современные
информационные
системы
,
как
правило
,
представляют
собой
компьютеры
,
объединенные
в
сети
.
Возможность
оперативного
обмена
информацией
между
компьютерными
системами
в
сетевой
инфокоммуникационной
среде
позволяет
совершенно
по
-
новому
ставить
вопрос
о
распределении
функций
между
такими
системами
.
Причем
,
в
этом
случае
возможны
самые
различные
варианты
такого
распределения
и
построения
архитектуры
информационной
системы
.
Исходя
из
общего
назначения
информационной
системы
–
предоставление
пользователям
определенных
информационных
услуг
или
сервисов
–
информационную
систему
с
базой
данных
можно
представить
как
систему
с
простой
структурой
,
состоящей
из
двух
частей
–
сервера
(
стороны
,
предоставляющей
информационный
сервис
)
и
клиента
(
стороны
,
получающей
этот
сервис
).
В
сетевой
компьютерной
среде
функции
сервера
и
клиента
могут
быть
распределены
самым
различным
образом
:
одни
компьютеры
могут
выполнять
роль
сервера
(
серверов
),
другие
клиентов
,
причем
в
разное
время
это
распределение
ролей
может
меняться
,
более
того
,
в
зависимости
от
рассматриваемых
функций
,
клиент
и
сервер
могут
быть
локализованы
на
одном
и
том
же
компьютере
.
Упомянутая
выше
мэйнфреймовая
система
может
с
этой
точки
зрения
рассматриваться
как
такой
частный
случай
.
Архитектура
с
файловым
сервером
Простейшей
сетевой
реализацией
системы
,
когда
база
данных
и
прикладное
программное
обеспечение
расположены
на
разных
компьютерах
,
является
сетевая
архитектура
с
файловым
сервером
.
В
этом
случае
файлы
базы
данных
хранятся
на
одном
компьютере
–
файловом
сервере
,
а
работающее
с
данными
прикладной
программное
обеспечение
информационной
системы
на
другом
или
других
компьютерах
–
рабочих
станциях
(
см
.
рисунок
198
Рис
. 15.2.
Архитектура
с
файловым
сервером
Все
функции
информационной
системы
,
кроме
функций
управления
файлами
данных
,
а
именно
:
•
функции
по
управлению
информационными
ресурсами
базы
данных
,
обеспечению
целостности
данных
(
логика
базы
данных
);
•
функции
по
обработке
и
интерпретации
данных
в
соответствии
с
решаемой
прикладной
задачей
(
бизнес
-
логика
);
•
функции
формирования
экранных
форм
для
ввода
и
отображения
данных
,
обработка
манипуляций
мыши
и
клавиатуры
(
презентационная
логика
);
•
а
также
мета
-
данные
базы
данных
(
информация
о
ее
схеме
,
правилах
обеспечения
целостности
данных
и
т
.
д
.,
иными
словами
– «
данные
о
данных
»);
реализуются
в
данном
случае
соответствующим
программным
обеспечением
,
располагающимся
на
компьютере
(
компьютерах
)
клиентской
стороны
.
Достоинством
такой
системы
по
сравнению
с
мэйнфреймовой
является
возможность
использования
общих
данных
,
расположенных
на
одном
общем
компьютере
-
сервере
,
различными
прикладными
программами
,
расположенными
на
разных
компьютерах
–
рабочих
станциях
.
В
этом
случае
также
снижается
нагрузка
на
компьютер
,
выполняющим
функции
сервера
,
так
как
он
освобождается
от
реализации
функций
логики
базы
данных
,
бизнес
-
логики
прикладных
задач
,
наконец
,
функций
по
вводу
и
отображению
данных
с
использованием
современных
средств
графического
интерфейса
,
и
,
следовательно
,
снижаются
требования
к
аппаратным
ресурсам
компьютера
-
сервера
.
Представителями
такого
рода
файл
-
серверных
систем
баз
данных
являются
широко
распространенные
вплоть
до
настоящего
времени
программные
комплексы
: Dbase, FoxPro, Clipper, Clarion, Paradox
и
др
.
199
Выполнение
в
системе
файл
-
сервер
информационного
запроса
пользователя
,
например
,
запроса
на
поиск
и
выборку
записей
базы
данных
,
удовлетворяющих
определенному
условию
,
осуществляются
путем
обращения
клиентской
прикладной
программы
через
сеть
к
операционной
системе
файлового
сервера
(
ее
подсистемы
управления
файлами
),
последовательному
считыванию
и
передачу
по
сети
на
клиентскую
сторону
записей
соответствующего
файла
базы
данных
,
и
,
затем
,
обработки
и
интерпретации
этих
данных
на
клиентской
стороне
прикладной
программой
.
Таким
образом
,
для
того
,
чтобы
пользователь
смог
получить
из
базы
данных
несколько
записей
,
удовлетворяющих
заданному
им
условию
,
система
должна
будет
предать
по
сети
все
записи
соответствующего
файла
базы
данных
.
Таким
образом
,
очевидным
недостатком
систем
с
базами
данных
,
построенных
по
архитектуре
файлового
сервера
,
является
то
,
что
сетевой
трафик
в
этом
случае
оказывается
перегруженным
из
-
за
необходимости
передачи
большого
количества
информации
,
оказывающейся
в
конечном
итоге
пользователю
бесполезной
.
Не
случайно
,
что
при
увеличении
размеров
базы
данных
,
уже
при
небольшом
числе
рабочих
станций
-
клиентов
эффективность
такого
рода
файл
-
серверных
информационных
систем
становится
совершенно
не
удовлетворительной
.
Другим
существенным
недостатком
файл
-
серверных
систем
с
базами
данных
является
низкий
уровень
возможности
обеспечения
в
них
безопасности
данных
(
обеспечения
их
целостности
,
защищенности
от
несанкционированного
доступа
,
от
системных
сбоев
),
так
как
для
решения
этих
проблем
могут
быть
использованы
только
низкоуровневые
средства
подсистемы
управления
файловыми
ресурсами
операционной
системы
файлового
сервера
.
Обеспечить
запрет
операций
нарушающих
целостность
данных
на
уровне
концептуальной
схемы
базы
данных
(
целостность
первичных
ключей
,
ссылочную
целостность
и
т
.
д
.)
файловый
сервер
в
принципе
не
может
.
Средства
манипуляции
данными
на
самом
файловом
сервере
в
таких
системах
ограничиваются
узким
спектром
файловых
команд
операционной
системы
.
200
Сервер
базы
данных
Современная
архитектура
клиент
-
сервер
,
позволяет
строить
,
однако
,
гораздо
более
эффективные
схемы
взаимодействия
в
сети
серверной
и
клиентской
компонент
информационной
системы
с
базами
данных
.
В
системах
,
основанных
на
использовании
так
называемого
сервера
базы
данных
функции
управления
информационными
ресурсами
базы
данных
,
включая
исполнение
информационных
запросов
,
функции
обеспечения
целостности
данных
,
разграничение
доступа
к
данным
и
их
защиту
,
возложены
на
специальные
программные
средства
.
Эту
роль
выполняет
программный
комплекс
–
система
управления
базой
данных
(
СУБД
),
которая
располагается
на
том
же
компьютере
,
что
и
файлы
базы
данных
.
В
такой
системе
любой
доступ
к
данным
(
поиск
,
выборка
,
ввод
,
модификация
,
удаление
данных
)
возможен
только
через
запросы
к
серверу
базы
данных
(
к
СУБД
),
который
уже
сам
взаимодействует
с
операционной
системой
сервера
для
получения
доступа
к
файлам
данных
.
Непосредственный
доступ
к
файлам
данных
средствами
операционной
системы
,
минуя
СУБД
,
блокируется
.
На
программное
обеспечение
клиентской
стороны
(
рабочих
станций
)
возлагаются
в
этом
случае
функции
по
реализации
обработки
и
интерпретации
данных
в
соответствии
с
алгоритмами
бизнес
-
логики
решения
конкретных
пользовательских
задач
и
все
интерфейсные
функции
ввода
и
отображения
информации
(
презентационная
логика
).
Взаимодействие
клиентской
и
серверной
сторон
осуществляется
в
этом
случае
путем
формирования
клиентом
и
передачи
по
сети
серверу
базы
данных
соответствующих
информационных
запросов
(
в
современных
системах
на
языке
SQL).
Эти
запросы
интерпретируются
и
выполняются
программным
обеспечением
сервера
базы
данных
(
СУБД
),
который
затем
,
если
это
необходимо
,
возвращает
клиенту
по
сети
результат
исполнения
запроса
,
то
есть
только
полезную
,
затребованную
информацию
.
Схема
взаимодействия
клиента
и
сервера
в
рассматриваемом
случае
представлена
на
рисунке
Рис
. 15.3.
Архитектура
клиент
-
сервер
с
использованием
сервера
БД