Підтримувані протоколи
У Restorm протокол — це не спрощений різновид HTTP: кожен має власний редактор, власне виконання та власне подання відповіді. Тож один проєкт може містити виклик REST, підписку MQTT і споживача Kafka поруч.
Усі протоколи виконання входять до видання Community, без обмежень.
Запит / відповідь
Section titled “Запит / відповідь”| Протокол | Для чого | Режим сервера |
|---|---|---|
| HTTP | REST і будь-який виклик HTTP | ✔ |
| GraphQL | Запити, мутації, підписки | ✔ |
| gRPC | Унарні та потокові виклики, gRPC-Web, Connect | ✔ |
| SOAP | Служби WSDL, конверти XML | ✔ |
| OData | Набори сутностей, параметри запиту, $batch | ✔ |
| JSON-RPC | JSON-RPC 2.0, одиничний або пакетний | — |
| tRPC | Процедури query і mutation | — |
Потоки та обмін повідомленнями
Section titled “Потоки та обмін повідомленнями”| Протокол | Для чого | Режим сервера |
|---|---|---|
| WebSocket | Сире двоспрямоване з’єднання | ✔ |
| Socket.IO | Іменовані події Socket.IO | ✔ |
| MQTT | IoT — теми, QoS, утримання, заповіт | ✔ |
| SSE | Server-Sent Events, на приймання | — |
| STOMP | STOMP поверх WebSocket | — |
| AMQP | RabbitMQ — публікація, споживання, огляд | — |
| Kafka | Виробництво, споживання, огляд партиції | — |
| Redis | Pub/Sub і команди | — |
Що спільне для всіх
Section titled “Що спільне для всіх”{{variables}}обчислюються в усіх полях, зокрема й у тих, що властиві протоколу. Див. Вбудовані змінні.- Історія записує кожне виконання, хоч би яким був протокол. Див. Історія запитів.
- Фрагменти коду генеруються для кожного протоколу відповідними мовами. Див. Експорт коду.
- Сценарії вміють керувати кожним протоколом, зокрема довготривалими з’єднаннями (підключити / надіслати / закрити). Див. Каталог дій.
- Брандмауер перехоплює всі вихідні виклики, хоч би яким був транспорт. Див. Брандмауер.
Що не підтримується
Section titled “Що не підтримується”Щоб чітко окреслити межі: Restorm не виконує Thrift (його імпорт має суто документаційний характер), AMQP 1.0 (реалізовано лише AMQP 0-9-1 / RabbitMQ) і NATS.