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

UptoLike

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

7
ства такого подхода очевидны : и клиент и сервер являются независимыми от
сетевой реализации, оба они работают в рамках некой распределенной вирту -
альной машины , и вызовы процедур имеют стандартный интерфейс. В то же
время, при разработке распределенных приложений не придется вникать в под -
робности протокола RPC или программировать обработку сообщений . Система
предполагает существование соответствующей среды разработки, которая зна-
чительно облегчает жизнь создателям прикладного программного обеспечения.
Одним из ключевых моментов в RPC является то , что разработка распределен-
ного приложения начинается с определения интерфейса формального описа-
ния функций сервера, сделанного на специальном языке. На основании этого
интерфейса затем автоматически создаются стабы клиента и сервера. Единст-
венное, что необходимо сделать после этого , написать фактический код про-
цедуры.
Реализация RPC фирмы Microsoft
Microsoft Remote Procedure Call (MS RPC) для языков программирования C
и C++ представляет совокупность трех моделей программирования распреде-
ленных вычислений : обычная модель разработки приложений на C путем напи-
сания процедур и библиотек ; модель, которая использует мощные компьютеры
в качестве сетевых серверов, выполняющих специфические задачи для своих
клиентов; и модель клиент- сервер , в которой клиент обычно управляет интер -
фейсом пользователя, в то время как сервер занимается выборкой , манипулиро-
ванием и хранением данных. Выделим основные их особенности.
Программная модель.
Язык C поддерживает процедурно- ориентированное программирование.
Все процедурно- ориентированные языки обеспечивают простые механизмы
определения и описания процедур. Например , ANSI стандарт прототипа функ -
ции C конструкция, используемая для определения имени процедуры , типа
возвращаемого результата (если есть), а также числа, последовательности, и
типов параметров. Использование функционального прототипа формальный
способ определить интерфейс между процедурами. Далее термин «процедура»
используется как синоним термина «подпрограмма» для обозначения любой
последовательности компьютерных команд , выполняющих функциональную
цель. Термин «функция» обозначает процедуру , которая возвращает значение.
Связанные процедуры часто группируются в библиотеках . Так , библиотека
может включать набор процедур, которые выполняют задачи в какой -либо об-
щей области, например , математические операции с плавающей запятой , фор-
матируемый ввод / вывод , сетевые функции. Библиотека процедур следую-
щий уровень упаковки, облегчающий разработку прикладных программ. Биб-
лиотеки могут разделяться многими прикладными программами. Библиотеки,
разработанные на C, обычно сопровождаются файлами заголовков. Каждая
программа, использующая библиотеку , компилируется с файлами заголовков,
которые формально определяют интерфейс к процедурам библиотеки.
                                     7
ства такого подхода очевидны: и клиент и сервер являются независимыми от
сетевой реализации, оба они работают в рамках некой распределенной вирту-
альной машины, и вызовы процедур имеют стандартный интерфейс. В то же
время, при разработке распределенных приложений не придется вникать в под-
робности протокола RPC или программировать обработку сообщений. Система
предполагает существование соответствующей среды разработки, которая зна-
чительно облегчает жизнь создателям прикладного программного обеспечения.
Одним из ключевых моментов в RPC является то, что разработка распределен-
ного приложения начинается с определения интерфейса – формального описа-
ния функций сервера, сделанного на специальном языке. На основании этого
интерфейса затем автоматически создаются стабы клиента и сервера. Единст-
венное, что необходимо сделать после этого, – написать фактический код про-
цедуры.

    Реализация RPC фирмы Microsoft
    Microsoft Remote Procedure Call (MS RPC) для языков программирования C
и C++ представляет совокупность трех моделей программирования распреде-
ленных вычислений: обычная модель разработки приложений на C путем напи-
сания процедур и библиотек; модель, которая использует мощные компьютеры
в качестве сетевых серверов, выполняющих специфические задачи для своих
клиентов; и модель клиент-сервер, в которой клиент обычно управляет интер-
фейсом пользователя, в то время как сервер занимается выборкой, манипулиро-
ванием и хранением данных. Выделим основные их особенности.

    Программная модель.
    Язык C поддерживает процедурно-ориентированное программирование.
Все процедурно-ориентированные языки обеспечивают простые механизмы
определения и описания процедур. Например, ANSI стандарт прототипа функ-
ции C – конструкция, используемая для определения имени процедуры, типа
возвращаемого результата (если есть), а также числа, последовательности, и
типов параметров. Использование функционального прототипа – формальный
способ определить интерфейс между процедурами. Далее термин «процедура»
используется как синоним термина «подпрограмма» для обозначения любой
последовательности компьютерных команд, выполняющих функциональную
цель. Термин «функция» обозначает процедуру, которая возвращает значение.
    Связанные процедуры часто группируются в библиотеках. Так, библиотека
может включать набор процедур, которые выполняют задачи в какой-либо об-
щей области, например, математические операции с плавающей запятой, фор-
матируемый ввод / вывод, сетевые функции. Библиотека процедур – следую-
щий уровень упаковки, облегчающий разработку прикладных программ. Биб-
лиотеки могут разделяться многими прикладными программами. Библиотеки,
разработанные на C, обычно сопровождаются файлами заголовков. Каждая
программа, использующая библиотеку, компилируется с файлами заголовков,
которые формально определяют интерфейс к процедурам библиотеки.