Двухзвенные модели распределения функций
Двухзвенные модели соответствуют распределению функций СУБД между двумя узлами сети. Компьютер (узел сети), на котором обязательно присутствует функция управления данными, назовемкомпьютером-сервером. Компьютер, близкий к пользователю и обязательно занимающийся вопросами представления информации, назовем компьютером-клиентом. Наиболее типичными вариантами (см. приложение Е ) разделения функций между компьютером-сервером и компьютером-клиентом являются следующие: распределенное представление; удаленное представление; распределенная функция; удаленный доступ к данным; распределенная БД. Перечисленные способы распределения функций в системах с архитектурой клиент-сервер иллюстрируют различные варианты: от мощного сервера, когда практически вся работа производится на нем, до мощного клиента, когда большая часть функций выполняется на рабочей станции, а сервер обрабатывает поступающие к нему по сети SQL-вызовы. Рассмотрим сначала модели удаленного доступа к данным и удаленного представления (сервера БД) как наиболее широко распространенные. В модели удаленного доступа к данным (Remote Data Access - RDA) программы, реализующие функции представления информации и логику прикладной обработки, совмещены и выполняются на компьютере-клиенте. Обращение за сервисом управления данными происходит через среду передачи с помощью операторов языка SQL или вызовом функций специальной библиотеки API (Application Programnimg Interface - интерфейса прикладного программирования). Основное достоинство RDA-модели состоит в большом обилии готовых СУБД, имеющих SQL-интерфейсы. и существующих инструментальных средств, обеспечивающих быстрое создание программ клиентской части. Средства разработки чаще всего поддерживают графический интерфейс пользователя в MS Windows, стандарт интерфейса ODBC и средства автоматической генерации кода. Подавляющее большинство средств разработки использует языки четвертого поколения. Недостатками RDA-модели являются, во-первых, довольно высокая загрузка системы передачи данных вследствие того, что вся лотка сосредоточена в приложении, а обрабатываемые данные расположены па удаленном узле. Как увидим далее, во время работы приложений обычно но сети передаются целые БД. Во-вторых, системы, построенные на основе модели RDA, неудобны с точки зрения разработки, модификации и сопровождения. Основная причина состоит в том, что в получаемых приложениях прикладные функции и функции представления тесно взаимосвязаны. Поэтому даже при незначительном изменении функций системы требуется переделка всей прикладной ее части, усложняющая разработку и модификацию системы. Модельсервера БД (DataBase Server - DBS) отличается от предыдущей модели тем, что функции компьютера-клиента ограничиваются функциями представления информации, в то время как прикладные функции обеспечиваются приложением, находящимся на компьютере-сервере. Эта модель является более технологичной чем RDA-модель и применяется в таких СУБД, как Ingress, Sybase и Oracle. При этом приложения реализуются в виде хранимых процедур. Процедуры обычно хранятся в словаре БД и разделяются несколькими клиентами. В общем случае хранимые процедуры могут выполняться в режимах компиляции и интерпретации. Достоинствами модели DBS являются: возможность хорошего централизованного администрирования приложений на этапах разработки, сопровождения и модификации, а также эффективное использование вычислительных и коммуникационных ресурсов. Последнее достигается за счет того, что выполнение программ в режиме коллективного пользования требует существенно меньших затрат на пересылку данных в сети[11]. Один из недостатков модели DBS связан с ограничениями средств разработки хранимых процедур. Основное ограничение - сильная привязка операторов хранимых процедур к конкретной СУБД. Язык написания хранимых процедур, по сути, является процедурным расширением языка SQL, и не может соперничать по выразительным средствам и функциональным возможностям с традиционными языками третьего поколения, такими, как С и Pascal. Кроме того, в большинстве СУБД нет удовлетворительных средств отладки и тестирования хранимых процедур, что делает их механизм опасным инструментом - неотлаженные программы могут приводить к некорректностям БД, зависаниям серверных и клиентских программ во время работы системы и т. и. Другим недостатком DBS-модели является низкая эффективность использования вычислительных ресурсов ЭВМ, поскольку не удается организовать управление входным потоком запросов к программам компьютера-сервера, а также обеспечить перемещение процедур па другие компьютеры-серверы. В модели распределенного представления имеется мощный компьютер-сервер, а клиентская часть системы практически вырождена. Функцией клиентской части является просто отображение информации на экране монитора и связь с основным компьютером через локальную сеть. СУБД подобного рода могут иметь место в сетях, поддерживающих работу так называемых Х-терминалов. В них основной компьютер (хост-машина) должен иметь достаточную мощность, чтобы обслуживать несколько Х-терминалов. X-терминал тоже должен обладать достаточно быстрым процессором и иметь достаточный объем оперативной памяти (дисковые накопители отсутствуют). Часто Х-терминалы создают на базе RISC-компьютеров (restricted [reduced] instruction set computer) - компьютеров с сокращенным набором команд. Все программное обеспечение находится на хост-машине, Программное обеспечение Х-терминала, выполняющее функции управления представлением и сетевые функции, загружается по сети с сервера при включении Х-терминала, Модель распределенного представления имели СУБД ранних поколений, которые работали па малых, средних и больших ЭВМ. В роли Х-терминалов выступали дисплейные станции и абонентские пункты (локальные и удаленные). В этом случае основную часть функций представления информации реализовывали сами СУБД, а окончательное построение изображений на терминалах пользователя выполнялось на оконечных устройствах. По модели распределенного представления построены системы обслуживания пользователей БД в гетерогенной (неоднородной) среде. Серверная часть таких систем обычно обеспечивает некоторый унифицированный интерфейс, а клиентские части реализуют функции учета специфики оконечного оборудования или преобразования одного формата представления информации в другой. Модель распределенного представления реализует централизованную схему управления вычислительными ресурсами. Отсюда следуют ее основные достоинства - простота обслуживания и управления доступом к системе и относительная дешевизна (ввиду невысокой стоимости оконечных терминалов). Недостатками модели являются уязвимость системы при невысокой надежности центрального узла, а также высокие требования к серверу по производительности при большом числе клиентов. В модели распределенной функции логика обработки данных распределена по двум узлам. Такую модель могут иметь ИС, в которых общая часть прикладных функций реализована на компьютере-сервере, а специфические функции обработки информации выполняются на компьютере-клиенте. Функции общего характера могут включать в себя стандартное обеспечение целостности данных, например, в виде хранимых процедур, в оставшиеся прикладные функции реализуют специальную прикладную обработку. Подобную модель имеют также ИС, использующие информацию из нескольких неоднородных БД. Модель распределенной БД предполагает использование мощного компьютера-клиента, причем данные хранятся на компьютере-клиенте и на компьютере-сервере. Взаимосвязь обеих баз данных может быть двух разновидностей: а) в локальной и удаленной базах хранятся отдельные части единой БД; б) локальная и удаленная БД являются синхронизируемыми друг с другом копиями. Достоинством модели распределенной БД является гибкость создаваемых па ее основе ИС, позволяющих компьютеру-клиенту обрабатывать локальные и удаленные БД. При наличии механизмов координации соответствия копий система в целом, кроме того, обладает высокой живучестью, так как разрыв соединения клиента и сервера не приводит к краху системы, а ее работа может быть восстановлена с возобновлением соединения. К недостатку модели можно отнести высокие затраты при выполнении большого числа одинаковых приложений на компьютерах-клиентах.
2 Трехзвенная модель распределения функций и сложные схемы взаимодействия Трехзвенная модель распределения функций представляет собой типовой вариант, при котором каждая из трех функций приложения реализуется на отдельном компьютере. Варианты распределения функций приложения на большее число компьютеров могут иметь место, но ввиду их редкого применения рассматриваться не будут[12]. Рассматриваемая нами модель имеет название модель сервера приложений, или AS-модель (Application Server) (см. рис.5 приложение Ж). Согласно трехзвенной AS-модели, отвечающий за организацию диалога с конечным пользователем процесс, как обычно, реализует функции представления информации и взаимодействует с компонентом приложения также, как в модели DBS. Компонент приложения, располагаясь на отдельном компьютере, в свою очередь, связан, с компонентом управления данными подобно модели RDA. Центральным звеном AS-модели является сервер приложений. На сервере приложений реализуется несколько прикладных функций, каждая из которых оформлена как служба предоставления услуг всем требующим этого программам. Серверов приложений может быть несколько, причем каждый из них предоставляет свой вид сервиса. Любая программа, запрашивающая услугу у сервера приложений, является для него клиентом. Поступающие от клиентов к серверам запросы помещаются в очередь, из которой выбираются в соответствии с некоторой дисциплиной, например, по приоритетам. Компонент, реализующий функции представления и являющийся клиентом для сервера приложений, в этой модели трактуется более широко, чем обычно. Он может служить для организации интерфейса с конечным пользователем, обеспечивать прием данных от устройств, например, датчиков, или быть произвольной программой. Рисунок 1.- Трехзвенная модель сервера приложений
Достоинством AS-модели является гибкость и универсальность вследствие разделения функций приложения на три независимые составляющие. Во многих случаях эта модель оказывается более эффективной по сравнению с двухзвенными. Основной недостаток модели - более высокие затраты ресурсов компьютеров на обмен информацией между компонентами приложения по сравнению с двухзвенными моделями. Возможны более сложные схемы взаимодействия, например, схемы, в которых элемент, являющийся сервером для некоторого клиента, в свою очередь, выступает в роли клиента по отношению к другому серверу (см. рис. 6 приложение Ж). Пример этого мы наблюдали в AS-модели. Возможно также, что в распределенной вычислительной системе при работе с БД имеются множественные связи (статические), когда один объект по отношению к одним является клиентом, а по отношению к другим - сервером (см. рис. 7 приложение Ж). При рассмотрении взаимодействия объектов в динамике получаются еще более сложные схемы взаимодействия. Примером такой схемы является случай, когда в процессе работы роли объектов меняются: объект, являющийся в некоторый момент времени клиентом по отношению к другому объекту, в последующем становится сервером для другого объекта.
3 Модель монитора транзакций Как отмечалось, наиболее гибкой и универсальной моделью распределения функций СУБД является АS-модель. Она описывает взаимодействие трех основных элементов: клиента, сервера приложений и сервера БД, но не затрагивает вопросы организации функционирования программного обеспечения при обработке информации, в частности при выполнении транзакций. Для преодоления этого недостатка предложена модель монитора транзакций. Мониторы обработки транзакций (Transaction Processing Monitor - ТРМ), или мониторы транзакций, представляют собой программные системы категории промежуточного слоя (Middleware), обеспечивающие эффективное управление информационно-вычислительными ресурсами в распределенной вычислительной системе. Основное их назначение - организация гибкой, открытой среды для разработки и управления мобильными приложениями, оперативно обрабатывающими распределенные транзакции. Применение мониторов транзакций наиболее эффективно в гетерогенных вычислительных системах[13]. Приложение ТРМ позволяет выполнять масштабирование системы, поддерживать функциональную полноту и целостность приложений а также повысить производительность обработки данных при невысокой стоимости накладных расходов. Принципы организации обработки информации с помощью монитора транзакций описываются моделью монитора транзакций X/Open DTP (Distributed Transaction Processing - обработка распределенных транзакций). Эта модель (см. приложение З) включает в себя три объекта: прикладную программу, менеджер ресурсов (Resource Manager - RM.) и монитор, или менеджер, транзакций (Transaction Manager - ТМ). Рисунок 2 - Модель обработки транзакций X/Open DTR
В качестве прикладной программы может выступать произвольная программа-клиент. RM выполняет функции сервера ресурса некоторого вида. Прикладная программа взаимодействует с RM с помощью набора специальных функций либо посредством операторов SQL (когда сервером является сервер БД). Интерфейс ATMI (Application Transaction Monitor Interface - интерфейс монитора транзакций приложения) позволяет вызывать функции ТРМ на некотором языке программирования, например, С. Функции менеджера ресурсов обычно выполняют серверы БД или СУБД. В задачах организации управления обработкой распределенных транзакций (транзакций, затрагивающих программные объекты вычислительной сети) ТМ взаимодействует с RM, который должен поддерживать протокол двухфазной фиксации транзакций и удовлетворять стандарту Х/Ореn ХА. Примерами СУБД, поддерживающих протокол двухфазной фиксации транзакции, являются Oracle 7.0, Open INGRES и Informix-Online 5.0. Понятие транзакции в ТРМ несколько шире, чем в СУБД, где транзакция включает в себя элементарные действия над данными базы. Здесь транзакция может охватывать и другие необходимые действия: передачу сообщения, запись информации в файл, опрос датчиков и т. д. Это значит, что ТРМ предоставляет более мощные средства управления вычислительным процессом. Транзакции, которые поддерживают ТРМ, называют также прикладными или бизнес-транзакциями. Модель X/Open DTP не раскрывает структуру ТМ в деталях, а определяет состав компонентов распределенной системы обработки информации и как эти компоненты взаимодействуют друг с другом. Практические реализации этой модели, естественно, могут отличаться друг от друга. В числе примеров реализации мониторов транзакций можно назвать ACMS, CICS, и TUXEDO System. Для разработчиков приложений мониторы обработки транзакций ТРМ предоставляют удобства, связанные с возможностью декомпозиции приложений по нескольким функциональным уровням со стандартными интерфейсами, что позволяет создавать легко модифицируемые ИС со стройной архитектурой. Прикладные программы становятся практически независимыми от конкретной реализации интерфейса с пользователем и от менеджера ресурсов. Первое означает, что для реализации функций представления можно выбрать любое удобное и привычное для разработчика средство (от языка С до какой-либо CASE-системы). Независимость от менеджера ресурсов подразумевает возможность легкой замены одного менеджера ресурсов на другой, лишь бы они поддерживали стандарт взаимодействия с прикладной программой (для СУБД - язык SQL). Если ТРМ поддерживает множество аппаратно-программных платформ, как например, TUXEDO System, то разрабатываемые приложения становятся, кроме того, мобильными. Сосредоточение всех прикладных функций в серверах приложений и наличие богатых возможностей управлениям администрирования существенно упрощает обновление прикладных функций (бизнес-функций) и контроль за их непротиворечивостью. Изменения в прикладных функциях при этом никак не отражаются на программах-клиентах. Для пользователей распределенных систем ТРМ позволяют улучшить показатели пропускной способности и времени отклика, снизить стоимость обработки данных в оперативном режиме на основе эффективной организации вычислительного процесса[14]. Улучшение показателей функционирования достигается благодаря осуществлению статической и динамической балансировки нагрузки. Управление загрузкой состоит в запуске или остановке AS-процессов (программных компонентов AS-модели) в зависимости от заранее установленных параметров и текущего состояния системы. При необходимости ТРМ может тиражировать копии AS-процессов на этом или других узлах сети. Администраторы распределенных систем, имея ТРМ, получают возможность легкого масштабирования ИС и увеличения производительности обработки информации. Здесь, кроме вертикального и горизонтального масштабирования, можно обеспечить так называемое матричное масштабирование. Суть его - введение дополнительных ресурсов в любую точку гетерогенной вычислительной среды без изменения архитектуры приложения, выполняемого в новой среде. Это означает, что без остановки серверов приложений в любое время может быть добавлен, например, компьютер или менеджер ресурсов, Кроме того, администраторы систем получают возможность снизить общую стоимость программного обеспечения систем клиент-сервер. Снижение стоимости можно достигнуть простым уменьшением количества подключений к серверам БД. Стоимость серверов БД (или СУБД) в сильной степени зависит от числа одновременных подключений к программе. Уменьшение количества подключений к серверу БД достигается путем мультиплексирования запросов или, что то же самое, логического преобразования потока запросов от многих источников к потоку от одного или нескольких источников. Выигрыш в стоимости и производительности при эффективной реализации самих ТРМ может оказаться весьма существенным.
|