Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основные технологии доступа к данным.doc
Скачиваний:
5
Добавлен:
24.04.2019
Размер:
61.44 Кб
Скачать

Основные технологии доступа к данным Технология com (component object model)

Эта технология описывает модель объекта и способы взаимодействия объектов и программ.

COM-объект напоминает компонент Delphi 5. Это законченный объект со своими свойствами и методами, который может легко встраиваться в приложения и распространяться как отдельный программный продукт.

Объект COM может иметь один или несколько интерфейсов COM и содержит их описание и реализацию. Интерфейс COM позволяет клиентам COM общаться с COM-сервером на основе стандартного механизма публикаций интерфейса, т.е. стандартной регистрации в ОС, после которой изменения интерфейса недопустимы. Это гарантирует одинаковую работу COM-объекта в любых условиях.

У каждого объекта есть свой интерфейс, он называется IUnknown. Он позволяет узнать о наличии других интерфейсов, наследующих его характеристики. Любой COM-объект имеет GUID (глобальный идентификатор интерфейса) длиной 16 байт (он уникален и помогает избежать проблем при совпадении одинаковых имен), а также другие идентификаторы – на основе глобального IID.

GUID помогает избежать проблем при совпадении имен различных объектов.

COM-объект может быть реализован на любом языке программирования.

Сервер COM при обращении получает идентификатор класса, представляющий собой глобальный идентификатор интерфейса, который ссылается на подходящий COM-объект. Сервер COM создает специальный объект – "фабрику классов", – который занимается непосредственно производством экземпляра нужного объекта (создание и загрузка), а также экземпляра специального класса с именем Coclass, который обеспечивает возможность обращения к объекту COM.

Название объекта Coclass то же, что и объекта COM, только вместо первой буквы пишется Co.

Создание распределенных приложений на базе dCom

Для реализации технологий DCom может быть использован сервер транзакции MTS(MS Transaction Server). При организации распределенных вычислений понятие транзакции шире:

транзакция – это не просто логически законченная операция над набором данных, а логически законченный блок произвольных программных действий, в том числе и при обращении к БД.

Любой Com-объект регистрируется в MTS, а клиентская программа обращается к его интерфейсу в сервере.

Сервер транзакций MTS не является самостоятельным приложением, а входит в поставку Web-сервера (Personal Web Server) и организует совместную работу серверов Com и клиентов Com, выполняющихся, возможно, на разных компьютерах. Он организует гарантированную обработку транзакций, оптимальное распределение ресурсов и автоматическое управление серверными компонентами Com.

Технология corba (общая архитектура брокеров объектных запросов)

Это специальная технология, позволяющая создавать распределенные приложения, работающие на нескольких компьютерах в сети, которые, в отличие от Com-компонентов, могут выполняться под управлением разных ОС одновременно (а не только Windows). Отличие технологий CORBA от COM/MTS:

  1. Серверы CORBA – это exe-файлы, которые запускаются при каждом обращении к интерфейсу. Серверы COM – это библиотеки dll, загружаемые в сервер транзакций MTS и выполняемые только в его рабочем пространстве процессов. Внешняя схожесть обработки обеспечена лишь достоинствами Delphi.

  2. В технологии CORBA вместо сервера транзакции используется Broker CORBA.

Брокер объектных запросов – это специальная программа, которая отслеживает и синхронизирует работу объектов CORBA, организует процесс обмена сообщениями между ними, перезапускает их в случае сбоев компьютера, оптимально распределяет загрузку и организует связь клиентских программ с серверными объектами. Это выполняется с помощью набора встроенных служб, например, OTS – служба объектных транзакций.

Брокер данных – это не программный процесс, а коллекция библиотек стандартных функций CORBA и набор сетевых ресурсов, позволяющих их организовать. Технология CORBA поддерживается сегодня на большинстве вычислительных платформ, в том числе Unix, однако Delphi позволяет создавать объекты CORBA только для Windows.