Эта статья включает список ссылок , связанных материалов или внешних ссылок , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Сентябрь 2022 г. ) |
Microsoft RPC ( Microsoft Remote Procedure Call ) — это модифицированная версия DCE/RPC . Дополнения включают частичную поддержку строк UCS-2 (но не Unicode ), неявные дескрипторы и сложные вычисления в строках переменной длины и парадигмах структур, уже присутствующих в DCE/RPC.
Реализация эталонной версии DCE 1.0 допускает только такие конструкции, как size_is(len)
, или возможно size_is(len-1)
. MSRPC допускает гораздо более сложные конструкции, такие как size_is(len / 2 - 1)
и даже length_is ((max & ~0x7) + 0x7)
, общее выражение в файлах DCOM IDL.
MSRPC использовался Microsoft для бесшовного создания клиент-серверной модели в Windows NT с минимальными усилиями. Например, протоколы доменов Windows Server полностью основаны на MSRPC, как и административный инструмент DNS от Microsoft . Административные интерфейсы Microsoft Exchange Server 5.5 — это все клиент-серверные приложения MSRPC, а его MAPI стал более безопасным за счет «проксирования» MAPI через набор простых функций MSRPC, которые обеспечивают шифрование на уровне MSRPC без использования протокола MAPI.
MSRPC получен из эталонной реализации Distributed Computing Environment 1.2 от Open Software Foundation , но защищен авторским правом Microsoft. DCE/RPC изначально был заказан Open Software Foundation, отраслевым консорциумом для установления нейтральных по отношению к поставщикам и технологиям открытых стандартов для вычислительной инфраструктуры. Ни один из поставщиков Unix (теперь представленный Open Group ) в то время не хотел использовать сложный DCE или такие компоненты, как DCE/RPC.
Component Object Model от Microsoft в значительной степени основана на MSRPC, добавляя интерфейсы и наследование. Семантика маршалинга DCE/RPC используется для сериализации вызовов методов и результатов между процессами с отдельными адресными пространствами, хотя изначально COM не допускал сетевых вызовов между различными машинами.
С появлением модели распределенных компонентных объектов (DCOM) COM был расширен до программных компонентов, распределенных по нескольким сетевым компьютерам. DCOM, который изначально назывался «Network OLE», расширяет COM от Microsoft и обеспечивает коммуникационный субстрат в инфраструктуре сервера приложений COM+ от Microsoft.