38
После создания файла IDL он транслируется компилятором MIDL, кото-
рый и создает процедуры-заглушки для клиентской и серверной стороны, а
также заголовочные файлы для подключения к приложению. При компонов-
ке клиентского приложения совместно с файлом процедур-заглушек разре-
шаются все ссылки на удаленные процедуры. Используя аналогичный про-
цесс, удаленные процедуры устанавливаются на серверной
машине. Если
программисту требуется только вызывать существующее приложение RPC,
ему необходимо написать лишь программу для клиентской части и скомпо-
новать ее с локальной библиотекой RPC периода выполнения.
Библиотека RPC периода выполнения использует для взаимодействия с
транспортным протоколом единый интерфейс доступа к транспорту RPC
(RPC transport interface). Этот интерфейс служит прослойкой между средст-
вом RPC и транспортным протоколом
, которая отображает операции RPC в
функции, предоставляемые транспортным протоколом.
Средство RPC для Windows’NT предоставляет DLL-компоненты доступа к
транспортному протоколу для именованных каналов, NetBIOS, TCP/IP и
DECnet, имеется возможность разработки дополнительных DLL с целью под-
держки других транспортных протоколов. Сходным образом средство RPC
поддерживает работу с различными средствами защиты (при отсутствии не-
штатных DLL защиты программное обеспечение RPC для Windows’NT ис-
пользует
встроенную защиту именованных каналов).
Для обеспечения взаимодействия средства RPC с приложениями RPC на
другой ЭВМ они должны использовать одинаковые соглашения RPC.
Microsoft RPC соответствует стандарту RPC, установленному Open Software
Foundation (OSF) в спецификации среды распределенных вычислений (DCE,
Distribute Calculation Environment). Таким образом, написанные с использо-
ванием Microsoft RPC приложения могут вызывать удаленные процедуры на
других системах, использующих стандарт DCE.
Большинство сетевых сервисов Windows’NT являются приложениями
RPC
и поэтому могут вызываться как локальными процессами, так и процессами
на удаленных машинах. Это значит, что удаленный компьютер может обра-
щаться к сервисам данной ЭВМ для просмотра совместно используемых ре-
сурсов, открытых файлов, очередей печати или активных пользователей на
этом сервере, либо он может вызвать сервис сообщений для посылки сооб-
щений (при наличии соответствующих прав доступа).
Существуют более совершенные механизмы реализации вызова удален-
ных процедур - асинхронные вызовы удаленных функций (ARPC,
Asynchronous Remote Procedure Cal), позволяющие на основе применения
функций отклика (call-back function) избежать приостановки выполнения
прикладной программы на локальной машине. Для связи с удаленными сис-
темами RPC может использовать сервис NetBIOS, Windows Sockets и другие
доступные средства (например,
именованные каналы для Windows’NT). Для