Распределенные вычисления: технология Microsoft RPC. Часть1. Фертиков В.В. - 9 стр.

UptoLike

Составители: 

9
диционным ролям , сервер , использующий RPC, может играть роль вычисли-
тельной станции. В этой роли, сервер предоставляет собственную вычисли-
тельную мощность другим компьютерам сети, а клиент использует не только
файлы и принтеры , но также и центральные модули обработки других компью -
теров.
Компоненты Microsoft RPC
Реализация Microsoft RPC совместима со стандартом DCE консорциума
OSF (Open Software Foundation) с небольшими отличиями. Клиентские или сер -
верные приложения, написанные с использованием Microsoft RPC, могут экс-
плуатироваться совместно с любыми DCE RPC серверами или клиентами, чьи
библиотеки времени выполнения работают над поддерживаемым протоколом
(список поддержанных протоколов см . ниже).
Продукт Microsoft RPC включает следующие главные компоненты :
компилятор MIDL;
библиотеки времени выполнения и заголовочные файлы;
модули транспортного интерфейса;
провайдер сервиса имен;
сервис подключения (Endpoint supply service).
Как сказано выше, в модели RPC предусматривается формальное опреде-
ление интерфейса к удаленным процедурам с использованием специального
языка. Это так называемый язык определения интерфейсов , или IDL (Interface
Definition Language). Реализация Microsoft этого языка называется MIDL. После
того , как интерфейс описан , необходимо обработать его компилятором MIDL.
Компилятор генерирует стабы (stub), которые транслируют локальные вызовы
процедуры в удаленные. Стабы являются заместителями функций и в свою
очередь производят вызовы функций библиотеки времени выполнения, выпол -
няющих удаленный вызов процедур. Преимущество такого подхода в том , что
сеть становится почти полностью прозрачной для распределенного приложе-
ния . Клиентская программа как будто бы вызывает локальные процедуры ; ра-
бота по превращению их в удаленные вызовы выполняется автоматически. Весь
код , который транслирует данные, обращается к сети и возвращает результаты ,
генерируется компилятором MIDL и невидим для прикладной программы.
Особенности работы MS RPC
Как выяснено раньше, инструментальные средства RPC позволяют вызы-
вать процедуру , размещенную в удаленной серверной программе, как если бы
она размещалась локально. Клиент и сервер имеют свои собственные адресные
пространства; то есть каждый имеет собственный ресурс памяти, выделенный
для размещения данных, используемых процедурой . Клиентское приложение
вызывает локальную процедуру стаба вместо фактического кода, реализующего
процедуру . Стабы компилируются и компонуются с клиентской программой .
Вместо фактического кода, реализующего удаленную процедуру , код стаба
пользователя:
выбирает требуемые параметры из адресного пространства клиента;
                                      9
диционным ролям, сервер, использующий RPC, может играть роль вычисли-
тельной станции. В этой роли, сервер предоставляет собственную вычисли-
тельную мощность другим компьютерам сети, а клиент использует не только
файлы и принтеры, но также и центральные модули обработки других компью-
теров.

     Компоненты Microsoft RPC
     Реализация Microsoft RPC совместима со стандартом DCE консорциума
OSF (Open Software Foundation) с небольшими отличиями. Клиентские или сер-
верные приложения, написанные с использованием Microsoft RPC, могут экс-
плуатироваться совместно с любыми DCE RPC серверами или клиентами, чьи
библиотеки времени выполнения работают над поддерживаемым протоколом
(список поддержанных протоколов см. ниже).
     Продукт Microsoft RPC включает следующие главные компоненты:
     • компилятор MIDL;
     • библиотеки времени выполнения и заголовочные файлы;
     • модули транспортного интерфейса;
     • провайдер сервиса имен;
     • сервис подключения (Endpoint supply service).
     Как сказано выше, в модели RPC предусматривается формальное опреде-
ление интерфейса к удаленным процедурам с использованием специального
языка. Это так называемый язык определения интерфейсов, или IDL (Interface
Definition Language). Реализация Microsoft этого языка называется MIDL. После
того, как интерфейс описан, необходимо обработать его компилятором MIDL.
Компилятор генерирует стабы (stub), которые транслируют локальные вызовы
процедуры в удаленные. Стабы являются заместителями функций и в свою
очередь производят вызовы функций библиотеки времени выполнения, выпол-
няющих удаленный вызов процедур. Преимущество такого подхода в том, что
сеть становится почти полностью прозрачной для распределенного приложе-
ния. Клиентская программа как будто бы вызывает локальные процедуры; ра-
бота по превращению их в удаленные вызовы выполняется автоматически. Весь
код, который транслирует данные, обращается к сети и возвращает результаты,
генерируется компилятором MIDL и невидим для прикладной программы.

     Особенности работы MS RPC
     Как выяснено раньше, инструментальные средства RPC позволяют вызы-
вать процедуру, размещенную в удаленной серверной программе, как если бы
она размещалась локально. Клиент и сервер имеют свои собственные адресные
пространства; то есть каждый имеет собственный ресурс памяти, выделенный
для размещения данных, используемых процедурой. Клиентское приложение
вызывает локальную процедуру стаба вместо фактического кода, реализующего
процедуру. Стабы компилируются и компонуются с клиентской программой.
Вместо фактического кода, реализующего удаленную процедуру, код стаба
пользователя:
     • выбирает требуемые параметры из адресного пространства клиента;