Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Распределенная объектная модель компонентов ( 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 для управления процессами
Ссылки [ править ]
- ^ Пресс-релиз, объявляющий о бета-версии DCOM
- ^ Улучшения безопасности DCOM
- ^ «OpenVMS на 20 Ничто не останавливает» (PDF) . Цифровой. Октябрь 1997 . Проверено 12 февраля 2021 .
- ^ a b Джин Кронин, Теренс П. Шерлок (2000). COM Beyond Microsoft: проектирование и внедрение COM-серверов на платформах Compaq . ISBN 1555582265.
- ^ «Руководство разработчика OpenVMS Connectivity» . hpe.com . Июль 2000 . Проверено 1 января 2021 .
- ^ «Примечания к выпуску OpenVMS Alpha V7.2-1» . odl.sysworks.biz . Январь 1999 . Проверено 1 января 2021 .
Внешние ссылки [ править ]
- Протокол распределенной компонентной объектной модели - DCOM / 1.0
- COM-источник открытых групп
- COMsource
- TangramCOM
- CompleteX DCOM