Тема 1. Подготовка сообщения и мастер-класса по сравнению Rest API и RPC
REST API
REST (Representational State Transfer - передача состояния представления) — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.
Ограничения для построения REST-приложений по Филдингу:
- Модель клиент-сервер
- Отсутствие состояния
- Кэширование
- Единообразие интерфейса
- Слои
- Код по требованию
Преимущества REST-приложений:
- Надёжностть
- Производительность
- Масштабируемость
- Прозрачность системы взаимодействия
- Простота интерфейсов
- Портативность компонентов
- Лёгкость внесения изменений
- Способностью эволюционировать, приспосабливаясь к новым требованиям
PRC
PRC (Remote Procedure Call - удалённый вызов процедур) — класс технологий, позволяющих программам вызывать функции или процедуры в другом адресном пространстве (на удалённых узлах, либо в независимой сторонней системе на том же узле).
Идея вызова удалённых процедур состоит в расширении механизма передачи управления и данных внутри программы, выполняющейся на одном узле, на передачу управления и данных через сеть. Средства удалённого вызова процедур предназначены для облегчения организации распределённых вычислений и создания распределенных клиент-серверных информационных систем.
Характерными чертами вызова удалённых процедур являются:
- асимметричность, то есть одна из взаимодействующих сторон является инициатором;
- синхронность, то есть выполнение вызывающей процедуры приостанавливается с момента выдачи запроса и возобновляется только после возврата из вызываемой процедуры.
С точки зрения разработки веб-решений можно сравнить REST и RPC следующим образом:
Передача данных запроса
REST: в URL, в GET-параметрах, в HTTP-заголовках, в теле запроса
RPC: в теле запроса
Передача данных ответа
REST: в HTTP-коде ответа, в HTTP-заголовках, в теле ответа
RPC: в теле ответа