PRC – удаленный вывод процедур. Главная особенность – вычислительная машина делает вычисления, клиенты посылают данные серверу на вычисления. Работа бывает синхронная и асинхронная. Синхронная клиент ждет ответ от сервера, асинхронная клиент отправляет данные на вычисление и продолжат свою работу. Процесс укомплектования параметров в сообщения называется – маршалинг. На стороне клиента имеется СТАБ клиента – это заглушка которая осуществляет маршалинг. Ядро клиента находится в операционной системе клиента. Процесс клиента передает СТАБУ клиента функцию, СТАБ переводит все в сообщение и передает ядру. Ядро клиента передает ядру сервера, ядро сервера передает СТАБУ сервера. СТАБ распаковывает сообщение вызывает функцию и передает параметры. Процедура отправляет СТАБУ и т.д. … Клиентский СТАБ распаковывает данные и передает их процессу который отправлял сообщение.
1. Процедура клиента вызывает клиентскую заглушку.
2. Клиентская заглушка создает сообщение и вызывает функцию RPC локальной ОС.
|
|
3. Служба RPC пересылает сообщение серверу
4. Служба RPC вызывает серверную заглушку и передает ей сообщение.
5. Серверная заглушка извлекает из сообщения параметры и вызывает удаленную процедуру.
6. Удаленная процедура выполняет код и возвращает параметры и значения серверной заглушке.
7. Серверная заглушка формирует сообщение и вызывает службу RPC своей локальной ОС.
8. Служба RPC сервера пересылает сообщение RPC ОС клиента.
9. RPC клиента возвращает сообщение заглушке.
10. Заглушка извлекает данные и передает их процессу.
XML-RPC (сокр. от англ. Extensible Markup Language Remote Procedure Call —
XML-вызов удалённых процедур) — основанный на XML стандарт (протокол) вызова удалённых процедур, является прародителем SOAP, отличается исключительной простотой применения. XML-RPC, как и любой другой интерфейс RPC, определяет набор стандартных типов данных и команд, которые программист может использовать для доступа к функциональности другой программы, находящейся на другом компьютере в сети.
Протокол XML-RPC был изначально разработан Дэйвом Винером из компании «UserLand Software» в сотрудничестве с Майкрософт в 1995 году. Однако корпорация Майкрософт вскоре сочла этот протокол слишком упрощённым, и начала расширять его функциональность. После нескольких циклов по расширению функциональности, появилась система, ныне известная как SOAP. Позднее Майкрософт начала широко рекламировать и внедрять SOAP, а изначальный XML-RPC был отвергнут. Но, несмотря на отвержение Майкрософт, стандарт XML-RPC очаровал многих программистов своей необычайной простотой и, за счёт этого, существует по сей день и даже постепенно набирает популярность.