Технологии COM
Технологии COM, MIDAS
Технология доступа к удаленным данным Component Object Model (COM) — компонентная модель объектов, разработанная фирмой Microsoft как средство взаимодействия приложений (в том числе составных частей операционной системы Windows), функционирующих на одном компьютере.
В дальнейшем технология СОМ усовершенствовалась для управления объектами базы данных, расположенных в пределах локальной вычислительной сети.
На технологии СОМ построены такие методы управления удаленными объектами, как OLE, Автоматизация, ActiveX.
1. Метод OLE (Object Linking and Embedding) — связывание и объединение объектов — протокол, обеспечивающий обмен данными между приложениями. С помощью OLE пользователи могут связывать или внедрять объекты различных приложений (в том числе и баз данных) в файлы других приложений. (Одним из типов полей в реляционных базах данных является OLE.) Каждый объект OLE характеризуется двумя компонентами: собственно информацией, содержащейся в исходном файле, и адресом нахождения файла на дисковом пространстве компьютера или адресом файла в локальной вычислительной сети.
Развитием технологии OLE является технология OLE DB — программный интерфейс, удовлетворяющий структуре СОМ и предоставляющий унифицированный способ доступа к различным файлам, в общем случае не являющимся базами данных.
2. Метод Автоматизация, называемый иногда автоматизацией OLE, обеспечивает взаимодействие клиентских и серверных приложений программным способом (с применением языка VBA).
3. Метод ActiveX является 32-разрядной версией элементов управления OLE.
Таким образом, технология СОМ представляет собой различные методы управления удаленными объектами баз данных, построенных в архитектуре типа клиент - сервер, в том числе предназначенных и для работы в ЛВС.
Технология MIDAS (Multitier Distributed Applications Services) — набор сервисов для создания многозвенных распределенных приложений.
Многозвенное приложение представляет собой распределенные системы удаленного доступа к данным, которые состоят, как минимум, из трех логических уровней. Эти логические уровни могут находиться как на одном, так и на нескольких компьютерах.
Применение многозвенных приложений позволяет обеспечить следующие преимущества:
• формирование пакета бизнес-логики в общедоступном среднем уровне, доступ на который могут получить одновременно сразу несколько клиентов, что позволит избежать дублирования бизнес-логики для каждого отдельного клиентского приложения;
• получение распределенной обработки информации, т.е. возможность оптимизации распределения нагрузки на отдельные компьютеры;
• увеличение устойчивости за счет возможности организации гибкой перестраиваемой системы защиты информации.
В самой простой форме (так называемой three-tiered model) многозвенное приложение включает в себя следующие уровни: клиентское приложение, сервер приложений, управление передачей данных и удаленный сервер базы данных.
Клиентское приложение обеспечивает интерфейс пользователя на пользовательском компьютере.
Сервер приложений находится в доступном для всех клиентов месте и обеспечивает общую передачу данных.
Управление передачей данных обеспечивает так называемый брокер данных.
Удаленный сервер базы данных обеспечивает систему управления базой данных.
Взаимодействие указанных уровней осуществляется следующим образом.
1. Пользователь запускает клиентское приложение.
2..Клиент соединяется с сервером приложений (который может определяться как во время исполнения, так и во время создания приложения).
3. Запускается сервер приложений.
4. Клиент получает интерфейс IAppServer от сервера приложений.
5. Клиент запрашивает данные из сервера приложений, который, в свою очередь, запрашивает информацию из базы данных, упаковывает ее для клиента и возвращает пакет данных клиенту.
6. Клиент расшифровывает пакеты данных и предоставляет их пользователю.
7. Пользователь взаимодействует с клиентским приложением. При изменении данных клиент упаковывает измененные данные в пакеты и отсылает их на сервер приложений.
8. Сервер приложений расшифровывает пакеты и сохраняет изменения в контексте транзакции. Если запись не может быть сохранена на сервере, последний пытается согласовать изменения с текущими данными и отделяет данные, которые не могут быть сохранены. Когда процесс обработки измененных данных закончен, сервер возвращает все несохраненные данные клиенту для дальнейшего уточнения.
9. Клиент уточняет необработанные данные, после чего посылает их снова серверу приложений. Затем клиент обновляет свои данные с сервером.
Разработка пользовательских приложений производится с применением языка программирования Delphi.
Технология MIDAS позволяет:
• получать доступ к данным, физически расположенным на разных машинах;
• распределять нагрузку ресурсов по сети, что позволяет уменьшить сетевой трафик;
• разделить бизнес-логику приложения на отдельные части, что повышает уровень безопасности работы с базами данных.
Эффективную разработку приложений MIDAS обеспечивают следующие основные компоненты:
• модули удаленных данных;
• компонент TClientDataSet набора данных клиента;
• компоненты связи TDCOMConnection, TSocketConnection, TWebConnection, TCorbaConnection;
• брокер бизнес-объектов SimpleObjectBroker.
Модули удаленных данных — это специальные модули данных, которые действуют как серверы автоматизации или как CORBA-серверы, предоставляя клиентам доступ к любым провайдерам, которые они содержат. Используются на сервере приложений.
Компоненгтнабора данных клиента TClientDataSet — это специализированный набор данных, который использует MIDAS.DLL для управления.
Компоненты связи TDCOMConnection, TSocketConnection, TWebConnection, TCorbaConnection — это набор компонентов, которые определяют сервер приложений, тип взаимодействия между клиентом и сервером и формируют интерфейс, доступный для наборов данных клиента. Каждый из этих компонентов специализируется на конкретном протоколе связи.
Брокер бизнес-объектов SimpleObjectBroker служит для распределения вычислительной нагрузки по нескольким серверам.
С помощью технологии MIDAS можно создавать системы, которые могут обрабатывать запросы Интернет-приложений. MIDAS работает одинаково хорошо с технологиями CORBA, СОМ, OLEnterprise и MTS и упрощает интеграцию существующих систем.