Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИОСУ (2011).doc
Скачиваний:
36
Добавлен:
20.07.2019
Размер:
500.22 Кб
Скачать

6.2 Технология Клиент-сервер

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

Архитектура клиент-сервер - архитектурная модель взаимодействия функциональных компонентов систем обработки данных различного назначения.

Предусматривается выделение одного из функциональных компонентов называемого сервером, для оказания некоторого набора услуг по запросам других компонентов, называемых клиентами.

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

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

По технологии клиент-сервер клиентское приложение формирует запрос к серверу, на котором выполняются все команды. Результаты команд посылаются клиенту для использования и просмотра.

Технология клиент сервер может быть использована как в среде распределенной, так и сосредоточенной архитектуры. Они широко применяются в распределенных СУБД и в информационных технологиях Internet.

(БД сосредоточенная – БД, полностью поддерживаемая на одном компьютере и доступная по запросам пользователей, работающих непосредственно на этом компьютере, либо предоставляемая для сетевого доступа.

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

Двухзвенная архитектура клиент-сервер.

Сервер поддерживает базу данных и обрабатывает запросы, поступающие от клиентов. Клиентские узлы поддерживают пользовательский интерфейс и функциональность приложений.

Недостатки: Ограниченные возможности масштабирования и наращивание нагрузки на сервер базы данных выше некоторого порога приводит к резкому снижению производительности системы. Усложняется процесс модификации приложений – изменения могут затрагивать целый ряд клиентских систем.

(Масштабируемость – способность программного обеспечения приложения адаптироваться к наращиванию аппаратных ресурсов системы для сохранения или повышения достигнутого уровня производительности в условиях, когда увеличивается объем хранимых и обрабатываемых данных, возрастает поток транзакций и/или количество пользователей.

Транзакция – совокупность операций манипулирования данными (вставки, удаления, выборки, обновления) в системе БД, которая переводит БД из одного целостного состояния в другое. В соответствии с классической моделью транзакция рассматривается как единое целое (свойство атомарности) В соответствии с такой моделью либо все операторы выполняются, и результаты фиксируются в БД, либо результаты транзакции полностью аннулируются в БД (откат транзакции). В обоих случаях логическая целостность БД не нарушается.)

Трехзвенная архитектура клиент-сервер.

Структура – клиент, сервер приложения и сервер базы данных.

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

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

ПО промежуточного слоя называется сервером приложений, принимает запросы клиентов, обрабатывает их в соответствии с запрограммированными правилами бизнес-логики, при необходимости преобразует в форму, удобную для сервера БД и отправляет серверу.

Сервер БД выполняет полученные запросы и отправляет результаты серверу приложений, который адресует данные клиентам.

Рисунок - Многозвенная архитектура приложений БД

Таким образом, многозвенное приложение БД состоит из (рисунок ):

- "тонких" клиентских приложений, обеспечивающих лишь передачу, представление, редактирование и простейшую обработку данных;

- одного или нескольких звеньев ПО промежуточного слоя (сервер приложений), которые могут функционировать как на одном компьютере, так и распределенно — в локальной сети;

- сервера БД (Oralce, Sybase, MS SQL, InterBase и т. д.), поддерживающего функционирование базы данных и обрабатывающего запросы.

Более простая трехзвенная модель содержит следующие элементы:

- "тонкие" клиенты;

- сервер приложений;

- сервер БД.

Например, при чрезмерной загрузке сервера, сервер приложений может самостоятельно обрабатывать запросы пользователей (ставить их в очередь или отменять) без дополнительной загрузки сервера БД.

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

Примеры технологий доступа к внешним данным.

1) Технологии доступа к данным:

  1. ADO;

  2. BDE;

  3. ODBC;

  4. InterBase Express;

  5. dbExpress.

2) Технологии доступа к данным для распределенных систем:

  1. COM;

  2. CORBA.