Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_КИТ2_заочн.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

24. Клиент/ серверные системы

В отличие от архитектуры "файл-сервер" по запросу рабочей станции, которая называется теперь «клиент», таблицы полностью по сети не передаются. Клиент непосредственно по сети выбирает из таблицы только те данные, которые соответствуют критериям запроса на выборку (Рис.25).

Сервер

Код клиента

Клиент

Город

Улица

Телефон

АА

БелТур

Минск

Правды 11

2703995

АВ

Сименс

Мюнхен

Лейбница 8

6512345

АС

ПМК –23

Пуховичи

Широкая 1

21134

АD

Атлант

Минск

Захарова 20

2541134

SQL- запросы

Клиент 1

Клиент 2

Клиент N

Рис.25. Обработка данных в архитектуре клиент/сервер

Такая архитектура называется "клиент/ сервер" (client server system).

Выборка и модификация данных в клиент/ серверных системах осуществляется с помощью непроцедурного языка SQL.

Поскольку в этом случае по сети на клиента и обратно передается не вся таблица, а только необходимые данные из нее, то в сети практически не возникает заторов. При обращении одновременно нескольких клиентов к одним и тем же данным современные клиент/серверные СУБД позволяют разделить их во времени (задержать вторую транзакцию до завершения выполнения первой).

В основе клиент – серверных технологий лежит известная идея распределения обязанностей, разделения труда. Конвейеры Форда сделали в свое время прорыв в автомобильной промышленности, показав наивысшую производительность труда из-за того, что весь процесс сборки был разбит на мелкие и максимально простые операции, и каждый рабочий специализировался на выполнении только одной операции, но эту операцию он выполнял максимально быстро и качественно. В случае клиент серверных технологий клиентское приложение выполняет операции обработки- данных, а сервер хранения, поставки, и модификации данных.

Преимуществом архитектуры «клиент-сервер» является возможность хранения на сервере бизнес-правил (например, правил ссылочной целостности или ограничений на значения данных), что позволяет избежать дублирования кода в различных клиентских приложениях, использующих общую базу данных. Программный код, реализующий указанные бизнес- правила, представляется в виде триггеров и хранимых процедур.

Триггером называется именованный набор команд SQL, хранящийся на сервере, который автоматически выполняется, когда происходит некоторое заданное событие. Например, триггер может выполняться при вставке, изменении или удалении строки в существующей таблице, при наступлении определенного момента времени и т.д.

Хранимой процедурой называется именованный набор команд SQL, который работает точно так же, как и триггер, с той разницей, что он обычно вызывается из программы клиента, а не выполняется автоматически, как реакция на заданное событие.

В настоящее время архитектура клиент/ сервер реализуется в виде либо двухзвенной, либо трехзвенной модели. В зависимости от используемой модели происходит разделение функций обработки данных между сервером и клиентом.

Двухзвенная модель представляет собой вышеописанную классическую структуру, состоящую из компьютера -сервера и компьютера клиента. Двухзвенная модель может быть реализована:

  • модель удаленного доступа к данным

  • модель сервера базы данных

  • модель распределенной функции

В модели удаленного доступа к данным (Remote Data Access -RDA) программы, реализующие функции обработки информации и представления информации совмещены и выполняются на компьютере- клиенте («толстый клиент»). Основное достоинство RDA- модели состоит в большом количестве готовых СУБД (наиболее старая модель) и инструментальных средств, обеспечивающих быстрое создание программ клиентской части.

Недостатками RDA – модели являются, во-первых, довольно высокая загрузка трафика сети, поскольку все данные для обработки направляются на удаленный клиент, во- вторых, модель неудобна для модификации и сопровождения, поскольку все функции обработки и представления тесно взаимосвязаны. При незначительном изменении какой-нибудь функции требуется переделка клиентской части.

Модель сервера базы данных (DataBase Server- DBS) отличается от предыдущей модели тем, что функции компьютера- клиента ограничены функциями представления информации, в то время как функции обработки информации выполняются программами, находящимися на компьютере – сервере «тонкий клиент». Достоинствами модели DBS являются возможность хорошего централизованного администрирования, а также уменьшением трафика сети за счет того, что выполнение программ на компьютере -сервер требует значительно меньших затрат на пересылку данных по сети. К недостаткам модели DBS следует отнести сложность разработки хранимых процедур, так как хранимая процедура сильно зависит от конкретной СУБД, и плохо перемещаются на другие компьютеры- серверы.

В модели распределенной функции обработка данных разделена между компьютером – сервером и компьютером – клиентом. При этом общие функции обработки размещаются на сервере, а специфические функции обработки – на клиенте. Достоинством модели является то, что СУБД с распределенными функциями может использовать информацию с разнородных баз данных. К недостаткам можно отнести повышенную сложность разработки программных средств, учитывающих особенности сервера и клиента.

Модель распределенной базы данных использует мощный компьютер – клиента, при этом данные хранятся как на компьютере- сервере, так и на компьютере- клиенте. Достоинством данной модели является гибкость создаваемой на ее основе информационной системы, позволяющей клиенту обрабатывать локальные и удаленные базы данных. Такая система обладает повышенной живучестью, так как разрыв соединения клиента и сервера не приводит к остановке системы в целом. К недостаткам модели можно отнести большие высокую стоимость как компьютера – клиента, так и компьютера- сервера.

Распределение функций в вышеописанных моделях приведены в таблице.

Модель

Данные

Обработка

Представление

Удаленный доступ к данным

Сервер

Клиент

Клиент

Сервер баз данных

Сервер

Сервер

Клиент

Распределенная функция

Сервер

Клиент/ Сервер

Клиент

Распределенная база данных

Сервер/ Клиент

Клиент

Клиент

Трехзвенная модель подразумевает наличие помимо сервера баз данных выделенного сервера приложений (AS-Application Server), содержащего основную часть программ обработки информации. При этом компьютер – клиент осуществляет выборку данных не непосредственно с компьютера- сервера, а через сервер приложений (Рис 26.).

Необходимость создания трехзвенной модели была вызвана попыткой разработчиков, оставаясь в рамках двухзвенной модели, наращивать возможности хранимых процедур в модели «сервер баз данных». Следствием этого стала утеря совместимости между серверами баз данных различных производителей.

Данные

Сервер баз данных

Обработка информации

Сервер приложений

Клиент