API on liides, mis võimaldab programmidel andmeid vahetada ja üksteise funktsioone kasutada ilma sisemist toimimist tundmata.
Näide: ilmarakendus saab andmeid veebisaidilt API kaudu.
API — это интерфейс, который позволяет программам обмениваться данными и использовать функции друг друга без знания внутренней реализации.

SOAP – lihtne objektipöördusprotokoll (SOP) on protokoll struktureeritud sõnumite vahetamiseks hajusarvutuskeskkonnas.
SOAP – Simple Object Access Protocol (простой протокол доступа к объектам) — протокол обмена структурированными сообщениями в распределённой вычислительной среде.
REST (Representational State Transfer) on veebiteenuste arhitektuuristiil, mis kasutab HTTP-protokolli kliendi ja serveri vaheliseks suhtluseks.
REST (Representational State Transfer) — это стиль архитектуры для веб-сервисов, который использует HTTP-протокол для взаимодействия между клиентом и сервером.

RESTful tähendab, et veebiteenus või API on loodud REST-i põhimõtete järgi.
See tähendab:
- Iga andmetükk (ressurss) on saadaval unikaalse URL-i kaudu.
- Kasutatakse standardseid HTTP-meetodeid (
GET,POST,PUT,DELETE). - Teenus on stateless — server ei salvesta kliendi olekut päringute vahel.
- Andmeid vahetatakse tavaliselt JSON- või XML-formaadis.
Kuidas valida SOAPi ja REST-i vahel?
Valiku SOAPi ja REST-i vahel teeb tavaliselt vajadus ja kontekst. Siin on peamised erinevused ja soovitused:
| Kriteerium | SOAP | REST |
|---|---|---|
| Protokoll | Ainult XML, töötab peamiselt HTTP, aga ka SMTP jm | Tavaliselt HTTP, võib kasutada JSON, XML või muid formaate |
| Turbeline töö | Tugev turvalisus (WS-Security), transaktsioonid, standardid | Lihtne, kerge, kiire, vähem standardeid |
| Komplekssus | Raske seadistada ja arendada | Lihtne ja kiire arendamiseks |
| State | Võib olla stateful (salvestab sessiooni) | Stateless (server ei salvesta kliendi olekut) |
| Kasutus | Pank, kindlustus, ettevõtte infosüsteemid, kus vajalik kõrge turvalisus ja transaktsioonide täpsus | Veebirakendused, mobiilirakendused, avalikud API-d, kus oluline kiirus ja lihtsus |
| Критерий | SOAP | REST |
|---|---|---|
| Протокол | Только XML, работает на HTTP, SMTP и др. | Обычно HTTP, поддерживает JSON, XML и др. форматы |
| Сложность | Сложнее в настройке и разработке | Простое и быстрое в разработке |
| Безопасность | Высокая (WS-Security), поддержка транзакций | Менее формализованная, безопасность через HTTPS и токены |
| Состояние | Может быть stateful (хранит состояние сессии) | Stateless (сервер не хранит состояние клиента) |
| Применение | Банки, страховые, корпоративные системы с высокой безопасностью и транзакциями | Веб-приложения, мобильные приложения, публичные API, где важны скорость и простота |