Лекция № 19
Tехнологии «Файл-сервер». Технологии «Клиент-сервер (2ч.)
Технология клиент-сервер представляет собой разновидность сетевой технологии. Она отображает модель взаимодействия между вычислительными машинами и информационно-вычислительными ресурсами. Вычислительная машина, управляющая определенным ресурсом, называется сервером данного ресурса. Так, например, сервер базы данных управляет информационным ресурсом - файлами базы данных, поэтому его называют файл-сервером. Вычислительные машины, которые через средства связи пользуются ресурсами серверов, называются клиентами.
Аналогичный принцип распространяется и на взаимодействие программ.
Программа, которая выполняет заданный набор функций и предоставляет другим программам определенный набор услуг, рассматривается как сервер, а программа, которая пользуется этими услугами, называется клиентом.
Технология клиент-сервер имеет различные варианты реализации и поэтому сама по себе не дает универсальных рецептов, как устроена информационная система, но эта технология дает представление, как может быть организована современная распределенная информационная система.
Реализация этой технологии различна и во многом зависит от конкретных программных продуктов и видов программного обеспечения.
Один из основных принципов технологии клиент-сервер состоит в разделении функций стандартного диалогового (интерактивного) взаимодействия на три группы, имеющие различную природу.
Разработка архитектуры клиент-серверных вызвана неспособностью файл серверных моделей, которые функционировали на первом этапе использования сетевых приложений в экономике, решать задачи в централизованных базах данных со множеством клиентов.
Файл-серверная модель организации и хранения информации построена по двухуровневому принципу (клиент ® файл-сервер). Данные хранятся на файл-сервере в определенном формате, задаваемом типом СУБД. В файл-серверной архитектуре используются, как правило, так называемые "настольные" СУБД (Clipper, FoxPro, Access, Paradox и др.). Управление обменом осуществляет сетевая операционная система (Novell Netvare, Windows NT).
На файл-сервер в этой модели возлагается функция только физического хранения данных. Он предоставляет рабочим станциям услуги по работе с файлами самого низкого уровня (открытие, закрытие, модификацию файлов, передачу их в канал сети и прием их из сети).
На сеть в данном случае возлагается большая нагрузка по передаче данных, т.к. файлы передаются в полном объеме от файл-сервера к рабочей станции и обратно.
"Технология" базы данных поддерживается на рабочих станциях. Программы приложений на рабочих станциях отвечают следующим задачам:
§ формирование пользовательского интерфейса к базе данных (к файл-серверу);
§ логическая обработка данных;
§ манипулирование данными.
Таким образом, при использовании файл-серверной модели, манипулированием данных занимаются несколько независимых и несогласованных между собой программ, работающих на различных рабочих станциях. Большую проблему в такой структуре представляет обеспечение целостности базы данных, когда пользователи со своих рабочих станций пытаются в одно и то же время внести в нее противоречивые изменения. Следует отметить, что для выполнения любой обработки данных (поиск, модификация, выполнение логических и математических процедур и т.д.) данные по всем открытым файлам необходимо передать по сети от сервера до рабочих станций и обратно после обработки и закрытия файлов.
Как показывает опыт, возможности настольных СУБД по одновременному обслуживанию рабочих станций ограничены количеством клиентов (до 10), количеством открываемых файлов (до 100) и размером хранилища данных. Эти барьеры очень трудно преодолеть за счет наращивания аппаратных средств.
Второй, не менее важной проблемой, является медленная работа сети из-за больших объемов передаваемых данных и ее относительно низкая надежность.
Недостатки файл-серверной технологии:
· манипулирование данными производится независимыми и несогласованными между собой программами, работающими на различных рабочих станциях;
· трудности с обеспечением целостности базы данных, так как пользователи на различных рабочих станциях могут внести в них противоречивые изменения;
· большая загрузка сети из-за необходимости передавать файлы в полном объеме от сервера к рабочим станциям и обратно;
· низкая реакция системы на запросы пользователей.
Все эти недостатки были учтены при разработке клиент-серверной технологии. Различают три типа архитектуры клиент-серверной технологии, три модели:
§ двухуровневая;
§ трехуровневая;
§ многоуровневая.