Veebiteenused

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:

  1. Iga andmetükk (ressurss) on saadaval unikaalse URL-i kaudu.
  2. Kasutatakse standardseid HTTP-meetodeid (GET, POST, PUT, DELETE).
  3. Teenus on stateless — server ei salvesta kliendi olekut päringute vahel.
  4. 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:

KriteeriumSOAPREST
ProtokollAinult XML, töötab peamiselt HTTP, aga ka SMTP jmTavaliselt HTTP, võib kasutada JSON, XML või muid formaate
Turbeline tööTugev turvalisus (WS-Security), transaktsioonid, standardidLihtne, kerge, kiire, vähem standardeid
KomplekssusRaske seadistada ja arendadaLihtne ja kiire arendamiseks
StateVõib olla stateful (salvestab sessiooni)Stateless (server ei salvesta kliendi olekut)
KasutusPank, kindlustus, ettevõtte infosüsteemid, kus vajalik kõrge turvalisus ja transaktsioonide täpsusVeebirakendused, mobiilirakendused, avalikud API-d, kus oluline kiirus ja lihtsus
КритерийSOAPREST
ПротоколТолько XML, работает на HTTP, SMTP и др.Обычно HTTP, поддерживает JSON, XML и др. форматы
СложностьСложнее в настройке и разработкеПростое и быстрое в разработке
БезопасностьВысокая (WS-Security), поддержка транзакцийМенее формализованная, безопасность через HTTPS и токены
СостояниеМожет быть stateful (хранит состояние сессии)Stateless (сервер не хранит состояние клиента)
ПрименениеБанки, страховые, корпоративные системы с высокой безопасностью и транзакциямиВеб-приложения, мобильные приложения, публичные API, где важны скорость и простота