Component Object Model
В статье есть список источников, но не хватает сносок. |
COM (
.История COM
Стандарт COM был разработан в
Путаница в названиях
В
Некоторая путаница между понятиями OLE и ActiveX сохраняется и до сих пор, но речь идёт об одних и тех же COM-технологиях. Причём иногда даже путают понятия OLE и COM. Так, внедряемые OLE-объекты иногда называют COM-объектами, а OLE-контейнеры — COM-контейнерами, и т. п.
Поддержка в ОС Windows
- Windows 7, Windows 8, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 поддерживают COM+[2].
- Для Windows Server 2012 R2 роль сервера приложений, которая реализует COM+, объявлена устаревшей и подлежащей удалению в будущих версиях[3].
Принципы работы COM
Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор (
IUnknown
», который предоставляет базовые средства для работы с компонентом. Интерфейс «IUnknown
» включает в себя три метода: QueryInterface, AddRef, Release.
Технологии, основанные на стандарте COM
DCOM
Выпущенная в
Как DCOM, так и CORBA решают задачу вызова метода объекта, расположенного на другой машине, а также передачу ссылки на объект с одной машины на другую.
Сетевой уровень DCOM называется ORPC (Object RPC) и является объектно-ориентированным расширением DCE RPC.
Технология DCOM обеспечивает базовые установки безопасности, позволяя задавать, кто и из каких машин может создавать экземпляры объекта и вызывать его методы.
COM+
Microsoft Transaction Server был включен в Option Pack для Windows NT4 еще в 1997 году.
В составе
Технология расширяла возможности разработчиков COM-компонентов, предоставляя им некоторые готовые услуги, например:
- автоматический пул потоков, создаваемый стандартным процессом-загрузчиком mtx.exe
- доступ к контексту, в котором выполняется компонент (например, компоненты, используемые в ASP, могут с этой возможностью получить доступ к внутренним объектам той страницы, на которой они выполняются).
- интеграция с транзакциями монитора MS DTC (контекст COM+ может автоматически содержать в себе транзакцию MS DTC)
MTS/COM+ использовался внутри ряда версий веб-сервера MS
COM+ объединяет компоненты в так называемые приложения COM+, что упрощает администрирование и обслуживание компонентов. Безопасность и производительность — основные направления усовершенствований COM+. Некоторые идеи, заложенные в основу COM+, были также реализованы в Microsoft .NET.
.NET и будущее COM
В
DCOM через интернет и решение проблемы XP SP2
В 2009 году DComLab опубликовал коммерческий продукт ComBridge. При использовании ComBridge для работы по DCOM через интернет не требуется CIS, не используется 135 порт, в локальной сети не требуются настройки dcomcnfg. ComBridge встраивается в транспортный уровень DCOM, полностью выделяя весь трафик созданного объекта и всех полученных из него объектов в отдельный поток.
OPC
OPC (OLE for Process Control) — семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Многие из OPC-протоколов базируются на Windows-технологиях: OLE, ActiveX, COM/DCOM. Такие OPC-протоколы, как OPC XML DA и OPC UA, являются платформо-независимыми.
OLE
OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений с помощью OLE-технологии.
Примечания
- ↑ Технология COM . Дата обращения: 26 января 2022. Архивировано 26 января 2022 года.
- ↑ Manage COM+ Applications . Microsoft TechNet. Microsoft Corp. (22 февраля 2013). Дата обращения: 31 августа 2018. Архивировано 23 января 2012 года.
- ↑ Features Removed or Deprecated in Windows Server 2012 R2 . Microsoft TechNet. Microsoft Corp. (31 августа 2016). Дата обращения: 31 августа 2018. Архивировано 8 февраля 2015 года.
Ссылки
- Раздел разработки Win32 и COM в библиотеке MSDN (англ.)
- Раздел COM в библиотеке MSDN (англ.)
- Раздел COM+ в библиотеке MSDN (англ.)
- Раздел DCOM в библиотеке MSDN (англ.)
- раздел COM/DCOM/COM+ на сайте RSDN (рус.)
- Концепция COM (англ.)
- Программирование COM-интерфейсов (англ.)
- Подборка статей о COM (рус.)
Литература
- Роберт Дж. Оберг. Технология COM+. Основы и программирование = Understanding and Programming COM+: A Practical Guide to Windows 2000 First Edition. — М.: «Вильямс», 2000. — С. 480. — ISBN 0-13-023114-2.
- Дейл Роджерсон. Основы COM. — 2-е изд.