Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Распределенная объектная модель компонентов ( DCOM ) - это проприетарная технология Microsoft для связи между программными компонентами на сетевых компьютерах . DCOM, который первоначально был назван «Сеть OLE », расширяет Microsoft «с COM , и обеспечивает субстрат связи под Microsoft » с COM + инфраструктуры сервера приложений.

Добавление буквы «D» к COM было связано с широким использованием DCE / RPC (распределенная вычислительная среда / удаленные вызовы процедур) - в частности, расширенной версии Microsoft, известной как MSRPC .

Что касается расширений, добавленных к COM, DCOM должен был решить проблемы

  • Маршаллинг - сериализация и десериализация аргументов и возвращаемых значений вызовов методов «по сети».
  • Распределенная сборка мусора - обеспечение того, чтобы ссылки, удерживаемые клиентами интерфейсов, были освобождены, когда, например, произошел сбой клиентского процесса или потеряно сетевое соединение.
  • Он должен был объединить Сотни / Десятки тысяч объектов, хранящихся в браузере клиента, с одной передачей, чтобы минимизировать использование полосы пропускания.

Одним из ключевых факторов в решении этих проблем является использование DCE / RPC в качестве основного механизма RPC, лежащего в основе DCOM. В DCE / RPC есть строго определенные правила в отношении маршалинга и того, кто отвечает за освобождение памяти.

DCOM был основным конкурентом CORBA . Сторонники обеих этих технологий видели, что в один прекрасный день они станут образцом для повторного использования кода и сервисов в Интернете . Однако трудности, связанные с тем, чтобы заставить любую из этих технологий работать через брандмауэры Интернета , а также на неизвестных и небезопасных машинах, означали, что обычные HTTP- запросы в сочетании с веб-браузерами преобладали над ними обоими. В какой-то момент Microsoft попыталась и не смогла предотвратить это, добавив в DCE / RPC дополнительный транспорт HTTP под названием ncacn_http (протокол, ориентированный на соединение с архитектурой сетевых вычислений). Позднее он был восстановлен для поддержки Microsoft Exchange. 2003 соединение по HTTP.

DCOM была публично запущена как бета-версия для Windows 95 18 сентября 1996 г. [1]

DCOM изначально поддерживается в Windows NT 4.0, Windows 2000, Windows XP и Windows Server 2003, а также в Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 и Windows Server 2016.

Закалка [ править ]

В рамках инициативы, начатой ​​Microsoft в рамках цикла Secure Development Lifecycle по реорганизации небезопасного кода, DCOM претерпел ряд значительных изменений, связанных с безопасностью, в Windows XP Service Pack 2 [2].

Альтернативные версии и реализации [ править ]

COMsource : доступен его исходный код вместе с полной документацией, достаточной для использования, а также реализации совместимой версии DCOM. Согласно этой документации, COMsource происходит непосредственно из исходного кода Windows NT 4.0 и даже включает исходный код для службы реестра Windows NT .

В 1995 году Digital и Microsoft анонсировали Affinity для OpenVMS (также известную как NT Affinity), которая должна была позволить OpenVMS выступать в качестве уровня сохраняемости для клиент-серверных приложений Windows NT . [3] В рамках этой инициативы в OpenVMS Alpha была добавлена реализация объектной модели распределенных компонентов (DCOM). [4] Для поддержки DCOM VMS была предоставлена ​​реализация реестра Windows , аутентификации NTLM и подмножества Win32 API, необходимых для поддержки COM. [5] DCOM был впервые добавлен в OpenVMS V7.2-1 для Alpha. [6]Аналогичная реализация DCOM была добавлена ​​в Digital Unix как часть программы AllConnect. [4]

Команда Wine также внедряет DCOM для обеспечения бинарной совместимости; в настоящее время их не интересует сетевая сторона DCOM, которую предоставляет MSRPC . Они ограничены реализацией NDR (представление сетевых данных) через API Microsoft [ необходима цитата ] , но стремятся сделать его максимально совместимым с MSRPC.

TangramCOM - это отдельный от Wine проект , ориентированный на реализацию DCOM на смартфонах на базе Linux.

Команда Samba также внедряет DCOM для обеспечения взаимодействия по сети: в отличие от Wine Team, они в настоящее время не заинтересованы в возможности взаимодействия в двоичном коде, поскольку реализация Samba MSRPC далека от двоичного взаимодействия с MSRPC от Microsoft.

См. Также [ править ]

  • ActiveX
  • Компонентная объектная модель
  • Динамический обмен данными (DDE)
  • Удаленное взаимодействие .NET
  • OLE для управления процессами

Ссылки [ править ]

  1. ^ Пресс-релиз, объявляющий о бета-версии DCOM
  2. ^ Улучшения безопасности DCOM
  3. ^ «OpenVMS на 20 Ничто не останавливает» (PDF) . Цифровой. Октябрь 1997 . Проверено 12 февраля 2021 .
  4. ^ a b Джин Кронин, Теренс П. Шерлок (2000). COM Beyond Microsoft: проектирование и внедрение COM-серверов на платформах Compaq . ISBN 1555582265.
  5. ^ «Руководство разработчика OpenVMS Connectivity» . hpe.com . Июль 2000 . Проверено 1 января 2021 .
  6. ^ «Примечания к выпуску OpenVMS Alpha V7.2-1» . odl.sysworks.biz . Январь 1999 . Проверено 1 января 2021 .

Внешние ссылки [ править ]

  • Протокол распределенной компонентной объектной модели - DCOM / 1.0
  • COM-источник открытых групп
  • COMsource
  • TangramCOM
  • CompleteX DCOM