Лекция № 19

Tехнологии «Файл-сервер». Технологии «Клиент-сервер (2ч.)

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

Аналогичный принцип распространяется и на взаимодействие программ.

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

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

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

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

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

Файл-серверная модель организации и хранения информации построена по двухуровневому принципу (клиент ® файл-сервер). Данные хранятся на файл-сервере в определенном формате, задаваемом типом СУБД. В файл-серверной архитектуре используются, как правило, так называемые "настольные" СУБД (Clipper, FoxPro, Access, Paradox и др.). Управление обменом осуществляет сетевая операционная система (Novell Netvare, Windows NT).

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

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

"Технология" базы данных поддерживается на рабочих станциях. Программы приложений на рабочих станциях отвечают следующим задачам:

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

§ логическая обработка данных;

§ манипулирование данными.

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

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

Второй, не менее важной проблемой, является медленная работа сети из-за больших объемов передаваемых данных и ее относительно низкая надежность.

Недостатки файл-серверной технологии:

· манипулирование данными производится независимыми и несогласованными между собой программами, работающими на различных рабочих станциях;

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

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

· низкая реакция системы на запросы пользователей.

Все эти недостатки были учтены при разработке клиент-серверной технологии. Различают три типа архитектуры клиент-серверной технологии, три модели:

§ двухуровневая;

§ трехуровневая;

§ многоуровневая.