# ПРОЦЕССЫ Ресурсы Цикл разработки ПО Waterfall RUP Agile Kanban Управление Теория ограничений АНАЛИЗ Ресурсы ПО для Аналитика Кто аналитики? Бизнес-процесс Требования Уровни и типы Источники Стейкхолдеры Нотации Vision (Концепция) Сервисы АРХИТЕКТУРА Ресурсы ПО для Архитектора Кто архитекторы? Архитектурные слои язык Archimate GAP-анализ SOA Типы интеграции Solution Design (Проектное решение) DDD Микросервисы и service mesh ESB HTTP/REST RPC DevOps CI/CD/CDP VM и Docker Контракты API Оценка задачи git Frontend Apache Регулярка Linux ТЕСТИРОВАНИЕ Ресурсы QA и QC Цикл тестирования Уровни тестирования Виды тестирования Баг-репорт Шаблоны Тестирование требований Тест-анализ и тест дизайн Тест план Метрики качества Автотесты Selenium XPATH Генератор данных Безопасность Нагрузочное ДАННЫЕ Ресурсы MDM Big data Об информации SQL intro MongoDB intro БИБЛИОТЕКА Курсы Системная инженерия Сознание, интеллект Политэкономия Сумма технологии Экстраполяция в будущее Красивые диаграммы Арт
Эта страница:
Почерпнуть мудрость Суть RPC Кратко о XML-RPC
Другие страницы:
АРХИТЕКТУРА Solution Design Document DDD Микросервисы и service mesh ESB HTTP/REST RPC
Другие разделы:
# АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ DevOps БИБЛИОТЕКА ПРОЦЕССЫ ТЕСТИРОВАНИЕ
RPC
last update: 06-10-2020, 06:42
Почерпнуть мудрость
Суть RPC

скачать схему в формате diagrams.net (бывший draw.io)

Удалённый вызов процедур (Remote Procedure Call, RPC) = класс технологий, позволяющих ПО вызывать функции или процедуры в другом адресном пространстве (на удалённых компьютерах, либо в сторонней системе на этом же устройстве).
Обычно реализация RPC включает в себя два компонента: сетевой протокол для обмена в режиме клиент-сервер и язык сериализации объектов (или структур, для необъектных RPC).
Различные реализации RPC имеют очень отличающуюся друг от друга архитектуру и разнятся в своих возможностях: одни реализуют архитектуру SOA, другие — CORBA или DCOM. На транспортном уровне RPC используют в основном протоколы TCP и UDP, однако, некоторые построены на основе HTTP (что нарушает архитектуру ISO/OSI, так как HTTP — изначально не транспортный протокол).

Часто можно встретить следующие реализации:

  • gRPC -- RPC-фреймворк от Google, использующий protobuf и HTTP/2. Применяется в service mesh
  • JSON-RPC, JavaScript Object Notation Remote Procedure Calls -- текстовый протокол на базе HTTP
  • XML RPC -- текстовый протокол на базе HTTP
  • SOAP, Simple Object Access Protocol -- текстовый протокол на базе HTTP, как расширение XML RPC

Кратко о XML-RPC
Подробнее:

XML-RPC = протокол удалённого вызова процедур, использующий XML как формат данных и HTTP как транспортный протокол.

скачать схему в формате diagrams.net (бывший draw.io)

Преимущества XML-RPC:

  1. простой механизм вызова удалённых процедур на машинах с различным ОС
  2. независимость от ЯП и платформ. Библиотеки XML-RPC доступны для Java, C# и многих других языков
  3. имеет очень краткую спецификацию