Двухуровневая модель клиент-серверной структуры

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

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

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

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

Cервер базы данных может выполнять следующие функции:

§ физическое хранение данных;

§ манипулирование данными (поиск, выборка, модификация и т.д.);

§ логическая и математическая обработка данных по запросу клиента.

Серверы баз данных могут обслуживать различные типы баз данных (централизованные и распределенные, одноуровневые и многоуровневые). В качестве сервера баз данных используются программные изделия Microsoft SQL Server, Oracle, Sybase и др.

Формирование пользовательского интерфейса, организацию ввода и вывода в заданном виде в данной модели осуществляет программа-клиент.

Она также может производить дополнительную обработку данных. Программа - клиент посылает на сервер баз данных запрос на представление данных на определенном языке. Примером такого языка и соответственно типом базы данных является язык SQL (structured query language) - язык структурированных запросов для реляционной базы данных соответствующего типа.

В свою очередь, программа-клиент может представлять собой сложный инструментарий и базироваться не только на одной машине, но и на локальной вычислительной сети и на "настольной" CУБД.

Таким образом, при использовании двухуровневой технологии клиент-сервер обработку информации осуществляют как серверные, так и клиeнтские программы. Поэтому в зависимости от распределения функций между сервером баз данных и клиент-программой такие технологии можно разделить на три вида:

-технология “тонкого” или “бедного” клиента;

-технология “толстого” или “богатого” клиента;

-комбинированная технология.

При использовании технологии “тонкого” клиента (thin) клиент-программа осуществляет только интерфейс с пользователем и интерфейс с сервером баз данных в следующей последовательности:

§ запуск программы;

§ ввод запроса и исходных данных на сервер баз данных;

§ прием от него результатов решения задачи;

§ выдачу результатов решения задачи пользователю.

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

При использовании технологии “толстого” клиента (fat) клиент-программа производит:

§ интерфейсные процедуры c пользователем по запуску программы и вводу-выводу информации;

§ передачу запроса на сервер баз данных на поиск необходимых данных;

§ полную обработку информации по решению задачи.

Сервер баз данных осуществляет в данном случае:

§ хранение массивов информации;

§ прием запросов от клиент-программы на манипуляцию с данными;

§ поиск адреса информации в базах данных, запись, чтение и корректировку массива по указанному адресу;

§ формирование ответов на запросы и предоставление их клиент-программе.

При использовании технологии “толстого” клиента возникают следующие сложности:

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

- большая нагрузка на сеть, т.к. по линиям связи передается больший объем данных, чем при тонком “клиенте”.

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

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

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

Наиболее простым примером двухуровневой клиент-серверной технологии является схема взаимосвязи между банкоматом (периферийной ПЭВМ банка) и центральной ЭВМ банка. Банкомат производит ввод данных со смарткарты и клавиатуры и после их проверки и обработки в машине банка осуществляет выдачу банкнот или чеков.