7.4. Организация взаимодействия устройств в сети
В зависимости от способа организации обработки данных и взаимодействия пользователей, который поддерживается конкретной сетевой операционной системой, выделяют два типа информационных систем:
В иерархических сетях все задачи, связанные с хранением, обработкой данных, их представлением пользователям, выполняет центральный компьютер. Пользователь взаимодействует с центральным компьютером с помощью терминала. Операциями ввода/вывода информации на экран управляет центральный компьютер.
Достоинства иерархических систем:
- отработанная технология обеспечения отказоустойчивости, сохранности данных;
- надежная система защиты информации и обеспечения секретности.
- высокая стоимость аппаратного и программного обеспечения, высокие эксплуатационные расходы;
- быстродействие и надежность сети зависят от центрального компьютера.
Примеры иерархических систем: SNA, IBM Corp., DNA, DEC.
В системах клиент/сервер обработка данных разделена между двумя объектами: клиентом и сервером. Клиент — это задача, рабочая станция, пользователь. Он может сформировать запрос для сервера: считать файл, осуществить поиск записи и т.п. В системах клиент/сервер требования к производительности компьютеров значительно ниже, чем в иерархических системах.
Выделяются четыре подхода, реализованные в моделях системы клиент/сервер:
- модель файлового сервера (File Server — FS);
- модель доступа к удаленным данным (Remote Data Access — RDA);
- модель сервера базы данных (DataBase Server — DBS);
- модель сервера приложений (Application Server — AS).
FS-модель является базовой для локальных сетей персональных компьютеров. Суть модели следующая — один из компьютеров в сети считается файловым сервером и предоставляет услуги по обработке файлов другим компьютерам. Файловый сервер работает под управлением сетевой операционной системы и играет роль компонента доступа к информационным ресурсам (т.е. к файлам). На других компьютерах в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент. Протокол обмена представляет собой набор низкоуровневых вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.
К технологическим недостаткам подобного типа взаимодействия относят высокий сетевой трафик (передача множества файлов, необходимых приложению), узкий спектр операций манипуляции с данными («данные — это файлы»), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д.
В RDA-модели компонентом доступа к информационным ресурсам является SQL-сервер. Коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Последний поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к информационным ресурсам обеспечивается либо операторами специального языка (языка SQL, например, если речь идет о базах данных), либо вызовами функций специальной библиотеки (если имеется соответствующий интерфейс прикладного программирования — API).
Основное достоинство RDA-модели — унификация интерфейса «клиент-сервер» в виде языка SQL.
Недостатки: во-первых, взаимодействие клиента и сервера посредством SQL-запросов существенно загружает сеть; во-вторых, удовлетворительное администрирование приложений в RDA-модели практически невозможно из-за совмещения в одной программе различных по своей природе функций (функции представления и прикладные).
Наряду с RDA-моделью все большую популярность приобретает перспективная DBS-модель. Последняя реализована в некоторых реляционных СУБД (Informix, Ingres, Sybase, Oracle). Ее основу составляет механизм хранимых процедур — средство программирования SQL-сервера. Процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. Язык, на котором разрабатываются хранимые процедуры, представляет собой процедурное расширение языка запросов SQL и специфичен для каждой конкретной СУБД.
Достоинства DBS-модели очевидны: это и возможность централизованного администрирования прикладных функций, и снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур), и возможность разделения процедуры между несколькими приложениями, и экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. К недостаткам модели можно отнести ограниченность средств, используемых для написания хранимых процедур, которые представляют собой разнообразные процедурные расширения SQL, не выдерживающие сравнения по изобразительным средствам и функциональным возможностям с языками третьего поколения, такими, как C или Pascal. Сфера их использования ограничена конкретной СУБД, в большинстве СУБД отсутствуют возможности отладки и тестирования разработанных хранимых процедур.
На практике часто используется смешанные модели, когда обеспечение целостности базы данных и некоторые простейшие прикладные функции поддерживаются хранимыми процедурами (DBS-модель), а более сложные функции реализуются в специальной прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель).
В AS-модели процесс, выполняемый на компьютере-клиенте, отвечает, как обычно, за интерфейс с пользователем (т.е. осуществляет функции первой группы). Обращаясь за выполнением услуг к прикладному компоненту, этот процесс играет роль клиента приложения (Application Client — AC). Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (Application Server — AS). Все операции над информационными ресурсами выполняются соответствующим компонентом, по отношению к которому AS играет роль клиента. Из прикладных компонентов доступны ресурсы различных типов: базы данных, очереди, почтовые службы и др.
RDA- и DBS-модели опираются на двухзвенную схему разделения функций. В RDA-модели прикладные функции приданы программе-клиенту, в DBS-модели ответственность за их выполнение берет на себя ядро СУБД. В первом случае прикладной компонент сливается с компонентом представления, во втором — интегрируется в компонент доступа к информационным ресурсам. В AS-модели реализована трехзвенная схема разделения функций, где прикладной компонент выделен как важнейший изолированный элемент приложения, для его определения используются универсальные механизмы многозадачной операционной системы и стандартизованы интерфейсы с двумя другими компонентами. AS-модель является фундаментом для мониторов обработки транзакций, которые выделяются как особый вид программного обеспечения.
В зависимости от метода взаимодействия устройств в сети различают два типа систем, использующих метод клиент/сервер: равноправную сеть и сеть с выделенным сервером.
Равноправная сеть (одноранговая) — это сеть, в которой нет единого центра управления взаимодействием рабочих станций, нет единого устройства хранения данных. Операционная система такой сети распределена по всем рабочим станциям, поэтому каждая рабочая станция одновременно может выполнять функции как сервера, так и клиента. Пользователю в такой сети доступны все устройства (принтеры, жесткие диски и т.п.), подключенные к другим рабочим станциям.
Достоинства: низкая стоимость (используются все компьютеры, подключенные к сети, и умеренные цены на программное обеспечение для работы сети); высокая надежность (при выходе из строя рабочей станции, доступ прекращается лишь к части информации).
Недостатки: работа сети эффективна только при количестве одновременно работающих станций не более 10; трудности организации эффективного управления взаимодействием рабочих станций и обеспечение секретности информации; трудности обновления и изменения ПО рабочих станций.
Сеть с выделенным сервером — здесь один из компьютеров выполняет функции хранения данных общего пользования, организации взаимодействия между рабочими станциями, выполнения сервисных услуг — сервер сети.
Достоинства: выше скорость обработки данных; обладает надежной системой защиты информации и обеспечения секретности; проще в управлении по сравнению с равноправными.
Недостатки: такая сеть дороже из-за отдельного компьютера под сервер; менее гибкая по сравнению с равноправной.
Сети с выделенным сервером являются более распространенными. Примеры сетевых операционных систем такого типа: LAN Server, IBM Corp., VINES, Banyan System Inc., NetWare, Novell Inc.