Служба rpCи технологияXml-rpc.
PRC– удаленный вывод процедур. Главная особенность – вычислительная машина делает вычисления, клиенты посылают данные серверу на вычисления. Работа бывает синхронная и асинхронная. Синхронная клиент ждет ответ от сервера, асинхронная клиент отправляет данные на вычисление и продолжат свою работу. Процесс укомплектования параметров в сообщения называется – маршалинг. На стороне клиента имеется СТАБ клиента – это заглушка которая осуществляет маршалинг. Ядро клиента находится в операционной системе клиента. Процесс клиента передает СТАБУ клиента функцию, СТАБ переводит все в сообщение и передает ядру. Ядро клиента передает ядру сервера, ядро сервера передает СТАБУ сервера. СТАБ распаковывает сообщение вызывает функцию и передает параметры. Процедура отправляет СТАБУ и т.д. … Клиентский СТАБ распаковывает данные и передает их процессу который отправлял сообщение.
Процедура клиента вызывает клиентскую заглушку.
Клиентская заглушка создает сообщение и вызывает функцию RPC локальной ОС.
Служба RPCпересылает сообщение серверу
Служба RPCвызывает серверную заглушку и передает ей сообщение.
Серверная заглушка извлекает из сообщения параметры и вызывает удаленную процедуру.
Удаленная процедура выполняет код и возвращает параметры и значения серверной заглушке.
Серверная заглушка формирует сообщение и вызывает службу RPCсвоей локальной ОС.
Служба RPCсервера пересылает сообщениеRPCОС клиента.
RPCклиента возвращает сообщение заглушке.
Заглушка извлекает данные и передает их процессу.
Существует специальный язык IDL(InterfaceDefinitionLanguage) – кроссплатформенный язык определения интерфейсов. В шаблонеIDLнеобходимо определить название процедуры и ее параметры. Кроме этого, чтобы унифицировать вызов необходимо сделать уникальный идентификатор. Он создается в студии. Он состоит из букв, цифр и знаков, размером 128 бит.MIDL– при помощи этого компилятора на выходе 3 фала: Библиотека *.h, клиентский СТАП и серверный СТАП с расширением *.cpp. После компиляции на сервере получаем исполняемые файлы сервера и клиента.
Проблемы:
Клиент и сервер могут применять разные кодировки.
Клиент и сервере могут иметь разные представления данных.
В каждой из частей необходимо договориться о внутреннем представлении данных.
Могут случаться ситуации типа потери отправленных данных. Потери ответных сообщений от сервера к клиенту. Невозможность клиента определить местоположение сервера (сервер сменил имя). Сервер может претерпеть некую аварию и необходимо ждать пока сервер не перезагрузится и т.д и т.п.
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 очаровал многих программистов своей необычайной простотой и, за счёт этого, существует по сей день и даже постепенно набирает популярность.
- Стек протоколов tcp/ip. Публичные и частные пространства адресов, типы портов. Параметры настройкиTcp/ip.
- Понятие сокета. Основные параметры сокета.
- Интерфейс Nimed Pipe.
- Интерфейс MailSlot.
- Структура программы tcp-сервера.
- Структура программы tcp-клиента.
- Структура программы udp-сервера.
- Структура программы udp-клиента.
- Структура параллельного сервера.
- Структура параллельного сервера. AcceptServer.GarbageCleaner.
- Широковещание. Обнаружение сервера с помощью широковещания.
- Применение символического адреса хоста.
- Основные сетевые утилиты и их назначение.
- Служба dns.
- Служба dhcp.
- Стандарты сообщений Internet.
- Почтовая служба. Протоколы smtp,pop3.
- Протокол http.
- Служба rpCи технологияXml-rpc.
- Nat,proxy-серверы, межсетевые экраны, ремайлеры.
- Web-сервисы:soap,xml,wsdl,uddi.
- Национальная инфраструктура информационной безопасности.