Mis on veebiteenus ja API?
- API (Application Programming Interface) – liides, mille kaudu tarkvarad saavad üksteisega suhelda.
- Veebiteenus – API, mis kasutab HTTP protokolli (nagu veebiserverid ja brauserid).
- Kõik veebiteenused on API-d, aga mitte kõik API-d ei ole veebiteenused (nt Windows API, OpenGL).
SOAP (Simple Object Access Protocol)
- Vanem, standardiseeritud protokoll andmete vahetamiseks.
- Kasutab XML formaati sõnumite jaoks.
- Võib töötada erinevate transpordiviisidega (HTTP, SMTP jne).
- SOAP sõnum koosneb osadest:
- Envelope – sõnumi algus/lõpp
- Header – metaandmed
- Body – päringu või vastuse andmed
- Fault – veateated
- On olemas seotud standardid:
- WSDL – teenuse kirjeldus
- UDDI – teenuste kataloog (enam ei kasutata)
Eelised: standardiseeritus, töötab hästi keerukates süsteemides, sisseehitatud veahaldus.
Puudused: XML on „jutukas“, sõnumid on mahukad, õppimiskõver järsem.
REST (Representational State Transfer)
- Arhitektuuristiil, mitte range standard.
- Toetub HTTP protokollile ja kasutab:
- URI – ressursi aadress (nt
/invoices,/accounts) - HTTP meetodid:
GET– andmete lugeminePOST– uue ressursi loominePUT– olemasoleva ressursi asendaminePATCH– osaline uuendamineDELETE– kustutamine
- URI – ressursi aadress (nt
- Andmevormingud: JSON (kõige levinum), XML, HTML.
- REST on stateless – iga päring on sõltumatu.
Eelised: lihtne, paindlik, vähe andmemahtu, JSON on kiire ja mugav.
Puudused: puudub ametlik standard, mõnikord erinevad tõlgendused (“RESTful” vs “mitte päris REST”).
Millal kasutada?
- SOAP – kui on vaja rangeid standardeid, turvalisust ja keerulist funktsionaalsust (nt pangandus, ärilahendused).
- REST – kui on vaja lihtsust, kiirust ja arendajasõbralikkust (nt veebirakendused, mobiiliäpide API-d).