CОМ-технологии

Рефераты, курсовые, дипломные, контрольные (предпросмотр)

Тип: Реферат. Файл: Word (.doc) в архиве zip. Категория: Информатика, IT
Адрес этого реферата http://referat-kursovaya.repetitor.info/?essayId=25196 или
Загрузить
В режиме предпросмотра не отображаются таблицы, графики и иллюстрации. Для получения полной версии нажмите кнопку «Загрузить». Рефераты, контрольные, дипломные, курсовые работы предоставляются в ознакомительных целях, не для плагиата.
Страница 1 из 5 [Всего 5 записей]1 2 3 4 5 »

Введение

В данной работе кратко рассмотрена технология COM, которая в настоящее время широко применяется при разработке программного обеспечения, интеграции программных продуктов в единые информационные системы. Целью разработки COM-технологии являлось стремление к интеграции программного обеспечения через стандартизацию механизмов взаимодействия программных модулей между собой. На основе данной технологии, которая является масштабируемой, разработано огромное число технологий, которые стали стандартами в разнообразных сферах применения информационных технологий - от управления технологическими процессами в промышленности до домашних персональных компьютеров. Массовое применение COM отчасти связано с мощью ее разработчика, фирмы Microsoft. С этим приходится считаться, и каждый программный продукт, выпущенный под платформу Windows, для достижения коммерческого успеха обязан соответствовать инновациям Microsoft.

Обзор COM-технологии

Технология COM (Component Object Technology) - объектно-ориентированная программная спецификация, предложенная Microsoft. COM предназначена для повышения надежности взаимодействия программных продуктов между собой. Данная технология не определяет структуру программного продукта, язык программирования и прочие детали реализации. COM является стандартом, который регламентирует модель программного объекта, соответствующий требованиям COM-технологии. Программный объект, созданный согласно спецификации COM называется COM-объектом. Данная технология определяет механизм взаимодействия COM-объектов между собой. COM относится к так называемым двоичным стандартам, т.к. прилагается к оттранслированному в двоичный код программному объекту. Взаимодействие COM-объектов обеспечивается набором предопределенных подпрограмм, называемыми интерфейсами, доступ к которым обеспечивается через уникальные идентификаторы интерфейсов GUID (Global Unique Interface Identifyer), уникальность которых гарантирует операционная система. Такой механизм схож с использованием указателей при доступе к объектам в объектно-ориентированных языках программирования, что дает возможность прозрачного управления объектами, т.к. доступ к ним обеспечивается через указатели. COM-технология расширяет этот механизм, перенося применение указателей (в виде GUID) для доступа к объектам на уровень операционной системы. Таким образом, COM-объекты могут быть прозрачно друг для друга модифицироваться, т.к. доступ к объектам обеспечивается через GUID. COM технология включает в себя также библиотеку, в которой содержится набор стандартных интерфейсов, которые определяют ядро функциональности COM и небольшой набор API функций, разработанных для создания COM-объектов и управления ими.

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

COM использует такое понятие как "класс", которое по смыслу означает то же самое, что и в объектно-ориентированных средствах разработки. COM-объект является объектом COM-класса (COM class). COM-классы, для различия с классами в объектно-ориентированных языках, с помощью которых может создаваться приложение, обычно называются соклассами (CoClass). Далее в тексте будет использоваться терминология, исходящая из объектно-ориентированного программирования.

Состав COM-объекта

В COM-технологии различаются следующие строительные блоки, используемые для создания объектов:

* Interface (COM-интерфейс) - множество прототипов функций (методов), чисто определенных. Термин "чисто определенный метод" или "абстрактный метод" исходит теории объектно-ориентированного анализа, и означает, что в определении класса отсутствует реализация метода, а присутствует только его определение. От такого класса нельзя создавать объекты. Его предназначение - описать фундаментальные общности для всех производных классов;

* COM object (COM-объект) - объект класса CoClass, который содержит реализацию COM интерфейса;

* COM/ActiveX server (COM сервер или ActiveX сервер)- модуль, такой как EXE, DLL или OCX, который содержит машинный код COM или ActiveX объектов;

* Class factory (фабрика классов)- объект, который может создавать COM-объекты из CoClass;

* Type library (библиотека типов) - файл, содержащий информацию о типах данных, которые использует COM/ActiveX сервер.

Интерфейсы

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

COM определяет следующие ключевые аспекты, связанные с COM-интерфейсами:

* Методы интерфейса абстрактны (чисто определены). Интерфейс представляет собой набор прототипов методов, чье назначение состоит только в определении интерфейса. Определения прототипов методов включает в себя определения числа и типов передаваемых значений, возвращаемого значения, а также ожидаемого поведения объекта. Как методы реализованы, в определение интерфейса не включается. Таким образом, реализуется полиморфизм интерфейса, т.к. каждый потомок, наследующий интерфейс, может включать собственную реализацию метода;

* Интерфейс подчиняется двоичному стандарту. Так как все методы интерфейса абстрактны, интерфейс представлен как указатель на vtable (virtual table). Каждая запись в vtable представляет собой ссылку на соответствующий метод класса, который содержит реализацию интерфейса. Определение интерфейса как указателя устанавливает протокол для доступа к COM-объекту, который является двоичным. Таким образом, получение доступа к реализации метода интерфейса объекта представляет собой через последовательную процедуру получения указателей:

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

* Интерфейс включает в себя определенную функциональность. Методы интерфейса семантически связаны по функциональности и назначению. Согласно этому, методы интерфейса обычно именуется согласно своему назначению, и имя предваряется заглавной I. Для примера, метод IMalloc предназначен для размещения и освобождения памяти;

* Интерфейс имеет уникальный идентификатор. Интерфейсы различаются посредством использования глобальных идентификаторов GUID, которые используются для ссылки на идентификаторы конкретных интерфейсов IID (Interface Identifier). Каждый интерфейс имеет свой IID, и при регистрации в системе получает связанный с ним GUID. Использование GUID более совершенно, чем использование символьных имен, т.к. гарантирует отсутствие конфликтов имен при обновлении программных продуктов (выхода новых версий) и при использовании программного обеспечения от различных производителей;

* Интерфейс не может измениться после регистрации в системе. Каждый интерфейс предназначен для выполнения определенной задачи, и определяет, какие данные поступают на обработку и какие данные выводятся. Таким образом, после того, как интерфейс опубликован в системе, и стал доступен для использования, он не должен меняться. Любое изменение в семантике интерфейса ведет к необходимости оявления нового интерфейса. Однако существует возможность безопасной реализации многоинтерфейсных объектов посредством использования для доступа к разным версиям интерфейса разные IID.

RSSСтраница 1 из 5 [Всего 5 записей]1 2 3 4 5 »


При любом использовании материалов сайта обязательна гиперссылка на сайт «Репетитор».
Разработка и Дизайн компании Awelan
www.megastock.ru
Проверить аттестат