Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Component Object Model (COM)

«Component Object Model» (COM) переводится с английского как «Объектная модель компонентов» (или «Компонентная объектная модель»). Аббревиатура произносится как «ком». COM — это технологический стандарт, предложенный компанией Microsoft для создания компьютерных программ на основе взаимодействующих друг с сдругом распределенных компонентов, из которых каждый может использоваться одновременно во многих программах.

Стандарт следует идеям полиморфизма и инкапсуляции ООП. Стандарт COM не является универсальным и применяется, в основном, для создания программ под операционные системы семейства Microsoft Windows. Причем в современных версиях ОС Windows технология COM используется довольно широко. COM оказал влияние на создание технологий ActiveX, Microsoft OLE Automation, DCOM, COM+, DirectX, XPCOM.

Стандарт COM был создан в 1993 году в корпорации Microsoft как база для развития своей технологии OLE, которая к версии 1.0 уже предоставляла возможность создания т.н. «составных документов» (compound documents). В пакете MS Office по этой технологии включались, например, диаграммы MS Excel в документы MS Word.

В 1996 году компания Microsoft попыталась переименовать OLE в ActiveX, однако это удалось только частично. Например, OLE позволяла реализовывать так называемые «OLE Controls» (элементы управления OLE или OCX), то есть повторно используемые элементы интерфейса, построеные на стандарте COM. Они были переименованы в «ActiveX controls» (элементы управления ActiveX), но за ними осталось расширение файлов «.ocx».

Затем Microsoft начала активно продвигать ActiveX для среды Интернет, включив поддержку его элементов в свой браузер Internet Explorer. Это привело к тому, что название OLE осталось за технологиями локальных внедряемых объектов и составных документов. А сетевые объекты OLE стали называть ActiveX.

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

Основным понятием стандарта COM, является понятие COM-компонента. Программы, разрабатываемые на стандарте COM, представляют собой систему взаимодействующих COM-компонентов. Каждому такому компоненту присвоен уникальный идентификатор (GUID). Каждый компонент может использоваться многими программами одновременно.

Компонент взаимодействует с программами через наборы абстрактных свойств и функций (COM-интерфейсы). Каждый COM-компонент как минимум, поддерживает стандартный интерфейс «IUnknown». Последний предоставляет базовые методы для работы с любым компонентом: QueryInterface, AddRef и Release.

API Windows предоставляет базовые функции, которые позволяют использовать COM-компоненты. Гораздо более удобные и гибкие средства работы с COM предоставляют библиотеки MFC и ATL/WTL. Библиотека ATL до сих пор является самым популярным средством для создания COM-компонентов. COM-разработка, зачастую, остаётся довольно сложным делом, и многие рутинные задачи программистам приходится выполнять вручную (что особенно заметно в случае программирования на C++). В технологиях COM+ и .NET компания Microsoft попыталась упростить разработку COM-компонентов.

В 1996 году была создана технология DCOM. Аббревиатура рсшифровывается как «Distributed COM», что означает «распределённая COM». Она основана на разновидности RPC, — технологии DCE/RPC. DCOM позволяет компонентам COM взаимодействовать по сети и обеспечивает базовые установки для обеспечения безопасности, задавая, кто и с каких машин имеет право создавать экземпляры объекта, вызывать его методы.

25.08.2010

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2010-08-25 17:08:37

Метки материала: com, программы, windows, component object model, компьютерные программы, ооп, компонентная объектная модель, программирование, программное обеспечение, разработка программ, софт, компьютерные ноу-хау, ит, информационные технологии, it

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2019, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.