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

UptoLike

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

10
транслирует параметры в стандартный сетевой формат представле-
ния данных (NDR network data representation), что необходимо для их
передачи по сети;
вызывает функции клиентской RPC-библиотеки времени выполнения,
чтобы послать запрос и параметры серверу .
Сервер выполняет следующие шаги, чтобы вызвать удаленную процедуру :
функции серверной RPC-библиотеки времени выполнения принимают
запрос и вызывают процедуру серверного стаба;
стаб сервера выбирает параметры из сетевого буфера и преобразует их
из сетевого формата передачи в формат , необходимый серверу ;
стаб сервера вызывает фактическую серверную процедуру .
Удаленная процедура выполняется, возможно, генерируя выходные пара-
метры и возвращаемое значение. Когда удаленная процедура завершается , по-
добная вышеописанной последовательность шагов возвращает данные клиенту :
удаленная процедура возвращает данные серверному стабу ;
стаб сервера преобразует выходные параметры в формат , требуемый
для передачи по сети, и возвращает их функциям RPC-библиотеки вре-
мени выполнения;
функции серверной RPC-библиотеки передают данные по сети на ком -
пьютер клиента.
Клиент завершает процесс, принимая данные из сети и возвращая их вы -
звавшей функции:
клиентская RPC-библиотека получает возвращаемые удаленной
процедурой значения и возвращает их клиентскому стабу ;
клиентский стаб преобразует данные из сетевого представления в фор-
мат , используемый компьютером клиента, записывает данные в память
клиента и возвращает результат вызвавшей клиентской программе;
вызвавшая процедура продолжается, как после локального вызова.
Для Microsoft Windows и Microsoft Windows NT, библиотеки времени вы -
полнения состоят из двух частей : импортируемой библиотеки, компонуемой с
прикладной программой , и RPC-библиотеки времени выполнения, которая реа-
лизована как динамическая (DLL). Серверное приложение содержит вызовы
функций серверной библиотеки времени выполнения, которые регистрируют
интерфейс сервера и позволяют серверу принимать удаленные вызовы . Сервер -
ное приложение также содержит и сами специфические удаленные процедуры ,
предназначенные для вызова клиентскими приложениями.
Учебный пример распределенного приложения
Это введение в RPC представлено очень простой прикладной программой ,
концентрирующей внимание на различиях между автономными программами
на C и распределенными приложениями, использующими RPC. Этот пример ,
конечно, не является исчерпывающим показом возможностей RPC, богатых
средств языка определения интерфейсов Microsoft (MIDL). Приложение печа-
тает слова «Привет, мир» . Клиентский компьютер делает удаленный вызов
                                     10
    • транслирует параметры в стандартный сетевой формат представле-
       ния данных (NDR – network data representation), что необходимо для их
       передачи по сети;
    • вызывает функции клиентской RPC-библиотеки времени выполнения,
       чтобы послать запрос и параметры серверу.
    Сервер выполняет следующие шаги, чтобы вызвать удаленную процедуру:
    • функции серверной RPC-библиотеки времени выполнения принимают
       запрос и вызывают процедуру серверного стаба;
    • стаб сервера выбирает параметры из сетевого буфера и преобразует их
       из сетевого формата передачи в формат, необходимый серверу;
    • стаб сервера вызывает фактическую серверную процедуру.
    Удаленная процедура выполняется, возможно, генерируя выходные пара-
метры и возвращаемое значение. Когда удаленная процедура завершается, по-
добная вышеописанной последовательность шагов возвращает данные клиенту:
    • удаленная процедура возвращает данные серверному стабу;
    • стаб сервера преобразует выходные параметры в формат, требуемый
       для передачи по сети, и возвращает их функциям RPC-библиотеки вре-
       мени выполнения;
    • функции серверной RPC-библиотеки передают данные по сети на ком-
       пьютер клиента.
    Клиент завершает процесс, принимая данные из сети и возвращая их вы-
звавшей функции:
    • клиентская RPC-библиотека получает возвращаемые удаленной
       процедурой значения и возвращает их клиентскому стабу;
    • клиентский стаб преобразует данные из сетевого представления в фор-
       мат, используемый компьютером клиента, записывает данные в память
       клиента и возвращает результат вызвавшей клиентской программе;
    • вызвавшая процедура продолжается, как после локального вызова.
    Для Microsoft Windows и Microsoft Windows NT, библиотеки времени вы-
полнения состоят из двух частей: импортируемой библиотеки, компонуемой с
прикладной программой, и RPC-библиотеки времени выполнения, которая реа-
лизована как динамическая (DLL). Серверное приложение содержит вызовы
функций серверной библиотеки времени выполнения, которые регистрируют
интерфейс сервера и позволяют серверу принимать удаленные вызовы. Сервер-
ное приложение также содержит и сами специфические удаленные процедуры,
предназначенные для вызова клиентскими приложениями.

    Учебный пример распределенного приложения
    Это введение в RPC представлено очень простой прикладной программой,
концентрирующей внимание на различиях между автономными программами
на C и распределенными приложениями, использующими RPC. Этот пример,
конечно, не является исчерпывающим показом возможностей RPC, богатых
средств языка определения интерфейсов Microsoft (MIDL). Приложение печа-
тает слова «Привет, мир». Клиентский компьютер делает удаленный вызов