MIDAS

MIDAS (Multi-tier Distributed Application Services Suite) - продукт компании Inprise/Borland, предназначенный для эксплуатации серверов приложений. Этот продукт позволяет использовать при построении информационных систем трехзвенную архитектуру с "тонким" клиентом и обеспечить высокую производительность, надежность и защиту от сбоев при эксплуатации подобных систем. Повышение производительности достигается за счет концентрации бизнес-логики приложения на промежуточном уровне, т. е. на сервере приложений. MIDAS позволяет работать с серверами приложений, функционирующими под управлением Windows NT. Разработка, поддержка и распространение распределенных приложений всегда была одной из существенных проблем в компьютерной индустрии. MIDAS адресован тем разработчикам, которые хотели бы найти более экономичное решение этой проблемы.

MIDAS использует следующие технологии:

1.Remote Data Broker

Remote Data Broker позволяет создавать распределенные трехзвенные информационные системы, состоящие из серверной СУБД, среднего звена и "тонкого" клиента, при этом среднее звено может в общем случае состоять из нескольких серверов приложений и функционировать на нескольких компьютерах. "Tонкий" клиент представляет собой приложение, не содержащее бизнес-правил, а лишь предоставляющее интерфейс пользователя, и по этой причине не требующее почти никаких дополнительных библиотек (кроме dbclient.dll размером 140 K), используемых обычными "толстыми" клиентами для доступа к данным (таких, как Borland Database Engine и клиентская часть серверных СУБД) и, соответственно, практически не нуждающееся в соответствующей настройке. Типичным примером такого клиентского приложения является исполняемая в Web-броузере форма ActiveX (созданная с помощью Delphi 3), содержащая интерфейсные элементы для отображения и редактирования данных, вся процедура инсталляции и настройки которого заключается в загрузке соответствующей Web-страницы из Internet или локальной сети.

Remote DataBroker реализует так называемую "briefcase model" - модель обработки данных, основанную на том, что "тонкий" клиент осуществляет редактирование данных по большей части при отсутствии соединения с сервером, используя лишь кэш или локальные внешние устройства, и лишь иногда соединяется с сервером приложений для передачи ему измененных данных с целью дальнейшей обработки.

Отметим также, что удаленные модули данных (объекты Remote Data Module), входящие в состав серверной части Remote DataBroker и содержащие компоненты TDBDataSet, позволяют предоставить DCOM-интерфейс для соответствующих объектов, делая их управляемыми извне и превращая, таким образом, сервер приложений в DCOM-сервер. Осуществляется такая публикация объектов путем выбора опции экспорта из удаленного модуля данных из контекстного меню соответствующего компонента при разработке сервера приложений.

2.Business ObjectBroker

При использовании сервера приложений как DCOMсервера информационная система не имеет никакой защиты от сбоев, связанных с перегрузкой сервера приложений или с его отказом по каким-либо иным причинам. Использование Business ObjectBroker и OLEnterprise (составной части MIDAS) позволяет решить подобную проблему (при этом несущественно, какое средство разработки использовалось для создания сервера приложений, лишь бы это был сервер OLE Automation). Business ObjectBroker осуществляет для "тонкого" клиента поиск нужного сервера приложений среди доступных серверов в сети.

Если в сети имеется несколько компьютеров, на которых установлен и зарегистрирован один и тот же сервер приложений, при запросе "тонкого" клиента Object Agent обратится к Business ObjectBroker за сведениями о местоположении сервера, а тот, в свою очередь, найдет для него в глобальном реестре один из этих компьютеров. После этого Object Agent обратится к Object Factory выбранного компьютера, инициируя создание экземпляра удаленного модуля данных на сервере приложений.

В случае отказа одного из серверов соединенные с ним клиенты будут соединены с помощью Business ObjectBroker с оставшимися серверами случайным образом без участия пользователя и незаметно для него.

3.ConstraintBroker

Еще одной важной составляющей частью MIDAS является ConstraintBroker, предоставляющий возможность использовать бизнес-правила сервера баз данных "тонким" клиентом. Обычно при проектировании баз данных бизнес-правила и правила ссылочной целостности реализуются в виде объектов базы данных, таких как индексы, триггеры, хранимые процедуры, что позволяет использовать эти объекты различными клиентскими приложениями без написания дополнительного кода. При использовании ConstraintBroker RemoteDataBroker не только доставляет данные клиентскому приложению, но и обращается к словарю данных с целью получения ограничений сервера и передачи их клиенту. Соответственно при попытке передачи записи на сервер приложений анализ соответствия записи правилам сервера производится непосредственно в клиентском приложении без обращения к серверу баз данных и серверу приложений, что снижает загрузку серверов и сети.

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

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

Отметим, что разработка серверов приложений с помощью Delphi 3 может быть осуществлена с помощью trial-версии MIDAS, входящей в комплект поставки Delphi Client/Server Suite и имеющей ограниченное число подключаемых клиентов и объектов, доступных Business ObjectBroker, а также ограничения на время работы ConstrainBroker. Однако эксплуатация серверов приложений требует обязательного наличия на компьютерах, содержащих серверы приложений, полной версии MIDAS, не обладающей вышеперечисленными ограничениями.

Дополнительная информация


Interface Ltd.