15.3 Программы и процедуры RPC

15.3 Программы и процедуры RPC

Основные концепции RPC достаточно просты:

? Служба RPC реализуется одной или несколькими выполняющимися на сервере программами. Например, существуют отдельные программы управления доступом и блокировок файлов.

? Каждая программа может выполнять несколько процедур. Идея состоит в том, что процедура должна реализовывать одну простую, четко ограниченную функцию. Например, существуют отдельные процедуры файлового доступа NFS для операций чтения, записи, переименования и удаления файлов.

? Каждой программе присвоен числовой идентификатор.

? Каждая процедура программы также имеет числовой идентификатор.

На момент написания книги выделением уникальных номеров для программ занималась компания Sun Microsystems (в будущем это должно перейти под юрисдикцию IANA). Диапазоны идентификаторов программ показаны в таблице 15.1. Числовой идентификатор присваивается процедурам программы разработчиком этой программы. Например, процедура чтения NFS — 6, а переименования NFS — 11.

Таблица 15.1 Присваивание номеров в RPC

0–1fffffff Определяются компанией Sun (rpc@sun.com)
20000000–3fffffff Номера только для использования внутри сайта
40000000–5fffffff Для приложений, динамически генерирующих номера программ
60000000–7fffffff Зарезервировано
80000000–9fffffff Зарезервировано
a0000000–bfffffff Зарезервировано
c0000000–dfffffff Зарезервировано
e0000000–ffffffff Зарезервировано

Запрос клиента RPC идентифицирует запускаемую программу и процедуру по ее номеру. Например, чтобы прочитать файл, запрос RPC обратится к программе 100003 (NFS) и процедуре 6 (чтение). На рис. 15.3 показано клиентское приложение, обращающееся к удаленной процедуре программы 100003.

Опыт показывает, что через какое-то время программы меняются. Процедуры дорабатываются, и их становится все больше. По этой причине запрос RPC должен указывать версию программы. Очень часто на хосте сервера одновременно работает несколько версий одной программы RPC.

Рис. 15.3. Доступ к удаленной процедуре из клиентского приложения

Удаленный запрос к процедуре (RPC) послан от клиента серверу в форматированном сообщении. RPC не заботится о том, какой транспортный протокол используется для пересылки сообщения. В мире TCP/IP RPC может работать поверх UDP или TCP, но можно использовать и другой транспорт.

Хотя обычно предполагается взаимодействие клиента с уникальным сервером, запросы RPC могут передаваться в многоадресных или широковещательных рассылках.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Процедуры

Из книги Давайте создадим компилятор! автора Креншоу Джек

Процедуры Введение Наконец-то мы принимаемся за хорошую главу!К этому моменту мы изучили почти все основные особенности компиляторов и синтаксического анализа. Мы узнали как транслировать арифметические выражения, булевы выражения, управляющие конструкции,


8.1.7.2 Процедуры

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


12.21 Процедуры верификации ПО

Из книги ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию автора Госстандарт России


Создание хранимой процедуры с помощью программы SQL Query Analyzer

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Создание хранимой процедуры с помощью программы SQL Query Analyzer Процесс создания хранимой процедуры с помощью SQL Query Analyzer практически не отличается от аналогичного процесса в окне программы SQL Server Enterprise Manager. НА ЗАМЕТКУ Убедитесь в том, что хранимая процедура создается в базе


Вызов процедуры

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Вызов процедуры При вызове указывается имя подпрограммы, возможно, с фактическими аргументами. В инструкции вызова подпрограмма должна быть процедурой. Вызов функции является выражением. Хотя сейчас нас интересуют инструкции, следующие правила применимы в обоих


Однократные процедуры

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Однократные процедуры Функция close должна вызываться только один раз. Контроль над количеством ее вызовов рекомендуется возложить на глобальную переменную приложения. Из руководства к коммерческой библиотеке функций языка C Механизм однократных функций интересен и


Процедуры и функции 

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Процедуры и функции  VBScript поддерживаются два вида подпрограмм: встроенные функции и функции или процедуры


15.17.2 Процедуры NFS

Из книги Технологии программирования автора Камаев В А

15.17.2 Процедуры NFS Существуют процедуры NFS, обеспечивающие клиенту доступ, чтение или запись удаленного файла. Клиент может узнать структуру и реальную емкость удаленной файловой системы либо запросить атрибуты удаленного файла. Допустимо удалять и переименовывать


3 Рутинные процедуры

Из книги VBA для чайников автора Каммингс Стив

3 Рутинные процедуры Слово «рутинный» имеет отрицательный оттенок. Анонсы новых программных продуктов пестрят обещаниями избавить пользователя от рутинной работы. «Рутинный» означает «скучный», не так ли?Не так! Как системный администратор я приветствую скуку. Я


Процедуры типа Sub

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Процедуры типа Sub Термин процедура типа Sub кажется мне довольно неуклюжим, но он достаточно точно отражает суть дела. В некоторых языках программирования суб процедурам и, или подпрограммами, называются процедуры, вызываемые главными процедурами. В VBA, хотя процедуры типа


Хранимые процедуры

Из книги Конец холивара. Pascal vs C автора Кривцов М. А.

Хранимые процедуры Хранимые процедуры выполняются в контексте тех транзакций, которые их вызвали. Сделанная работа, включая ту, которая была выполнена в задачах встроенных или рекурсивных вызовов, будет иметь результат, если все завершится без ошибок, с обработанными


Хранимые процедуры

Из книги автора

Хранимые процедуры Хранимые процедуры могут быть использованы в приложениях различными способами.* Процедуры выбора используются на месте таблицы или просмотра в оператореSELECT.* Выполняемые процедуры исполняются оператором EXECUTE PROCEDURE для выполнения одной операции или


Специальные процедуры

Из книги автора

Специальные процедуры Существует несколько способов скрыть вирус или сделать его более эффективным. Например, можно создать специальный макрос, прячущий вирус, если Tools/Macro открывается для просмотра. Код такого макроса может выглядеть примерно так:Sub MAIN On Error Goto


3.2. Процедуры

Из книги автора

3.2. Процедуры Пример 1.8: Процедура вычисляет корни квадратного уравненияAX2+BX+C=0PROGRAM KU (INPUT, OUTPUT);VAR A, B, C, D, X1, X2 : REAL;PROCEDURE KVUR (A, B, C: REAL; VAR D, X1, X2: REAL); BEGIN D:=SQR (B) -4*A*C; IF D = 0 THEN X1:= (-B) / (2*A) ELSE IF D> 0 THEN BEGIN X1:= ((-B) – SQRT (D)) / (2*A); X2:= ((-B) + SQRT (D)) / (2*A) END END; BEGINWRITE (‘Введите A=’);READLN (A);WRITE (‘Введите