Технология CORBA

Структурированная память

Структурированная память (structured storage) – это специальная техника для записи объектов или данных на диск. Данная техника обеспечивает все услуги, которые пользователи привыкли видеть в стандартном файловом вводе/выводе. Можно записывать файлы на диск, можно создавать подкаталоги и считывать и записывать данные из этих файлов и каталогов посредством широкого множества технических приемов.

Различие между структурированной памятью и стандартным файловым вводом/выводом заключается в том, что каждый набор каталогов и файлов в структурированной памяти размещается внутри единого большого файла.

Файл структурированной памяти называется составным файлом. «Каталоги» внутри этих составных файлов называются потоками. В составном файле могут храниться и другие типы объектов. В действительности все DOC-файлы в Microsoft Word являются файлами структурированной памяти.

Сегодня структурированная память является одной из стандартных формой файлового ввода/вывода в современных версиях Windows.

Как было отмечено выше, структурированная память является частью OLE, отвечающей за сохранение составных файлов (объектов, документов).

В заключение следует отметить, что программный интерфейс для работы со структурированной памятью поддерживается во многих средах разработки ПО. Составные файлы создаются при помощи двух обращений: StgCreateDocFile и Storage.CreateStream. Открываются составные файлы при помощи вызовов StgOpenStrearn и Stomge.OpenStream. Наиболее важным интерфейсом в OLE является интерфейс IDispatch.

CORBA – это аббревиатура от Common Object Request Broker Architecture (стандартная архитектура брокера объектных запросов), обозначающая открытую, независимую от поставщика архитектуру и инфраструктуру, позволяющую использовать различные приложения для совместной работы в сетях.

Стандарт CORBA (как и стандарт UML) разработан группой Object Management Guide (OMG) – сообществом ведущих фирм производителей программного обеспечения таких, как Digital Equipment Corporation, Hewlett-Packard Company, HyperDesc Corporation и др.

Архитектура CORBA основана на трех ключевых блоках:

1. OMG Interface Definition Language (IDL) – язык описания интерфейсов.

2. Object Request Broker (ORB) – брокер объектных запросов.

3. Internet Inter-ORB Protocol (IIOP) – стандартный протокол обмена данными для CORBA, реализованный на базе TCP/IP.

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

При помощи языка IDL для каждого типа объекта жестко описывается его интерфейс. Тем самым фиксируется набор операций, выполняемых объектом и набор параметров.

Описание интерфейса можно отобразить в описание на одном из популярных языков программирования. В настоящее время разработаны стандарты отображения для C, C++, Java, COBOL, Smalltalk, Ada, Lisp, Python, IDLscript.

Реализация объекта (его исполняемый код и данные) инкапсулируется за границей описанного интерфейса.

Технология работы CORBA-приложения заключается в следующем.

1. Формируется «заглушка» (Stub), которая представляет собой откомпилированное IDL-описание интерфейса клиентской части.

2. Формируется «скелет» (Skeleton) - откомпилированное IDL-описание интерфейса серверного объекта.

3. Выполняется реализация серверного объекта (Object Implementation) и клиентской части к нему (Client).

4. Для каждого экземпляра CORBA-объекта формируется своя уникальная объектная ссылка.

5. Клиент, применяя объектную ссылку, передает ORB данные о том, какой именно экземпляр объекта должен быть задействован. При этом клиент действует так, как будто оперирует напрямую с экземпляром объекта, однако в действительности происходит обращение к методам заглушки, которая затем и передает через ORB запрос на выполнение и код скелета серверного объекта.

Для описываемой схемы взаимодействия частей приложения характерны следующие черты:

1. Клиент с самого начала знает о типе исполняемого объекта, поскольку как клиентская заглушка, так и скелет серверного объекта, генерируются из одного и того же IDL-описания.

2. ORB клиента и ORB серверного объекта базируются на общем протоколе IIOP.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: