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