Объектная модель распределенных компонентов
Объектная модель распределенных компонентов ( DCOM ) — это собственная технология Microsoft для связи между программными компонентами на сетевых компьютерах . DCOM, который первоначально назывался «Network OLE Microsoft », расширяет COM и обеспечивает основу для связи в инфраструктуре сервера приложений Microsoft COM+ .
Расширение COM в Distributed COM произошло из-за широкого использования DCE/RPC (распределенная вычислительная среда/вызовы удаленных процедур) – точнее, расширенной версии Microsoft, известной как MSRPC . [1]
Что касается расширений, добавленных к COM, DCOM пришлось решить проблемы:
- Маршалинг – сериализация и десериализация аргументов и возвращаемых значений вызовов методов «по сети».
- Распределенная сборка мусора — гарантия того, что ссылки, хранящиеся на клиентах интерфейсов, будут освобождены, например, в случае сбоя клиентского процесса или потери сетевого соединения.
- Объединение значительного количества объектов в браузере клиента в одну передачу с целью минимизации использования полосы пропускания.
Одним из ключевых факторов в решении этих проблем является использование DCE/RPC в качестве основного механизма RPC, лежащего в основе DCOM. DCE/RPC имеет строго определенные правила относительно маршалинга и того, кто несет ответственность за освобождение памяти. [2]
DCOM был основным конкурентом CORBA . [3] Сторонники обеих этих технологий считали, что однажды они станут моделью повторного использования кода и сервисов в Интернете . Однако трудности, связанные с обеспечением работы любой из этих технологий через брандмауэры Интернета , а также на неизвестных и незащищенных машинах, означали, что обычные HTTP- запросы в сочетании с веб-браузерами победили их обе. [4] В какой-то момент Microsoft попыталась исправить эти недостатки, добавив к DCE/RPC дополнительный HTTP-транспорт под названием ncacn_http (протокол сетевой вычислительной архитектуры, ориентированный на соединение). [5]
DCOM был публично запущен как бета-версия для Windows 95 18 сентября 1996 года. [6]
DCOM изначально поддерживается во всех версиях Windows, начиная с Windows 95, и во всех версиях Windows Server, начиная с Windows NT 4.0. [7]
Улучшения безопасности
[ редактировать ]В рамках инициативы, начатой в Microsoft в рамках жизненного цикла безопасной разработки по перепроектированию небезопасного кода, DCOM увидела некоторые существенные изменения, ориентированные на безопасность, в пакете обновления 2 для Windows XP. [8]
В ответ на уязвимость безопасности, о которой сообщила лаборатория Tencent Security Xuanwu Lab в июне 2021 г., [9] Microsoft выпустила обновления безопасности для нескольких версий Windows и Windows Server, усложнив доступ к DCOM. [10]
Альтернативные версии и реализации
[ редактировать ]COMsource — это реализация DCOM на базе Unix, обеспечивающая взаимодействие между различными платформами. Доступен его исходный код, а также полная документация, достаточная для использования и реализации совместимой версии DCOM. COMsource создан непосредственно из исходного кода Windows NT 4.0 и включает в себя исходный код службы реестра Windows NT . [11]
В 1995 году Digital и Microsoft анонсировали Affinity для OpenVMS (также известный как NT Affinity), который был предназначен для того, чтобы позволить OpenVMS служить уровнем персистентности Windows NT для клиент-серверных приложений . [12] В рамках этой инициативы в OpenVMS Alpha была добавлена реализация объектной модели распределенных компонентов (DCOM). [13] Для поддержки DCOM в VMS были включены реализации реестра Windows, аутентификации NTLM и подмножество API-интерфейсов Win32 , необходимых для поддержки COM. [14] DCOM был впервые добавлен в OpenVMS V7.2-1 для альфа-версии. [15] Аналогичная реализация DCOM была добавлена в Digital Unix как часть программы AllConnect. [13]
TangramCOM был отдельным от Wine проектом, направленным на внедрение DCOM на смартфонах на базе Linux. [16]
См. также
[ редактировать ]- ActiveX
- Динамический обмен данными (DDE)
- Удаленное взаимодействие .NET
- OLE для управления процессами
Ссылки
[ редактировать ]- ^ «Что такое объектная модель распределенных компонентов (DCOM)?» . WhatIs.com . Проверено 3 августа 2022 г.
- ^ «DCE 1.1: Удаленный вызов процедур — введение в API RPC» . pubs.opengroup.org . Проверено 3 августа 2022 г.
- ^ Новак, Филип; Касим, Мохсин. «Сравнение технологий распределенных объектов CORBA и DCOM» (PDF) . Архивировано (PDF) из оригинала 29 августа 2017 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Объектная технология Джефф Сазерленд: Веб-сервисы: лучше, чем CORBA или DCOM?» . Проверено 3 августа 2022 г.
- ^ Стивихимс. «Удаленные вызовы процедур с использованием RPC через HTTP — приложения Win32» . docs.microsoft.com . Проверено 3 августа 2022 г.
- ^ Пресс-релиз, объявляющий о бета-версии DCOM
- ^ «Протокол удаленного доступа объектной модели распределенных компонентов (DCOM)» (PDF) . Microsoft — протокол удаленного доступа объектной модели распределенных компонентов (DCOM) . 25 июня 2021 г. Архивировано (PDF) из оригинала 9 мая 2021 г. Проверено 3 августа 2022 г.
- ^ Улучшения безопасности DCOM
- ^ «Руководство по обновлению безопасности — Центр реагирования на безопасность Microsoft» . msrc.microsoft.com . Проверено 3 августа 2022 г.
- ^ «KB5004442 — Управление изменениями для обхода функции безопасности Windows DCOM Server (CVE-2021-26414)» . support.microsoft.com . Проверено 3 августа 2022 г.
- ^ «Информационная таблица COMsource для Solaris, Tru64 UNIX и других платформ» . Таблица данных COMsource для Solaris, Tru64 UNIX и других платформ .
- ^ «OpenVMS в 20. Ничто не остановит» (PDF) . Цифровой. Октябрь 1997 г. Архивировано (PDF) из оригинала 19 апреля 2021 г. Проверено 12 февраля 2021 г.
- ^ Jump up to: а б Джин Кронин, Теренс П. Шерлок (2000). COM за пределами Microsoft: проектирование и внедрение COM-серверов на платформах Compaq . ISBN 1555582265 .
- ^ «Руководство разработчика OpenVMS Connectivity» . hpe.com . Июль 2000 года . Проверено 1 января 2021 г.
- ^ «Примечания к выпуску OpenVMS Alpha V7.2-1» . odl.sysworks.biz . Январь 1999 года . Проверено 1 января 2021 г.
- ^ «Домой — ТанграмКОМ» . www.andjoin.com . Проверено 3 августа 2022 г.