Veebiteenus vs API
Veebiteenus (web service) ja API (Application Programming Interface) on seotud, kuid mitte täiesti samad asjad. Veebiteenus on API tüüpi, mis kasutab veebiprotokolle (nt HTTP) ja tavaliselt standardiseeritud sõnumvormingut (nt SOAP või REST). API on üldisem mõiste, mis tähendab liidest tarkvara komponentide vahel suhtlemiseks. Kõik veebiteenused on API-d, kuid mitte kõik API-d pole veebiteenused.

SOAP
SOAP (Simple Object Access Protocol) on protokoll, mis kasutab XML-i sõnumite saatmiseks ja vastuvõtmiseks. SOAP on väga formaalne ja toetab keerulisi ettevõtte nõudeid nagu turvalisus, transactionid ja veateated. SOAP sõnumid liiguvad tavaliselt HTTP või SMTP kaudu ja nõuavad WSDL (Web Services Description Language) spetsifikatsiooni, mis määratleb teenuse kasutusreeglid.

REST
REST (Representational State Transfer) on arhitektuuristiil, mis kasutab lihtsaid HTTP meetodeid nagu GET, POST, PUT, DELETE. REST API-d on kerged ja kasutavad andmete edastamiseks tavaliselt JSON-formaati, mis teeb need kiireks ja lihtsasti kasutatavaks veebis ja mobiilirakendustes. REST on paindlik ja ei vaja ranget spetsifikatsiooni nagu SOAP.

Mida tähendab RESTful?
RESTful tähendab, et API järgib REST arhitektuuri põhimõtteid. See tähendab, et API kasutab HTTP meetodeid õigesti, kasutab ressursse URI-de kaudu ning on olekuta (stateless). RESTful teenused kasutavad sageli JSON-vormingut ja on skaleeritavad, lihtsad ja kiire reageerimisega.
Kuidas valida SOAPi ja REST-i vahel?
Valik sõltub vajadustest. Kui vajad tugevat turvalisust, transaktsiooni haldust või keerukaid äriloogikaid, sobib SOAP paremini. Kui aga soovid kerget, kiiret ja hõlpsasti kasutatavat teenust veebilehtede või mobiilirakenduste jaoks, on REST tavaliselt parem valik. REST on ka paremini toetatud tänapäeva veebitehnoloogiates.

Kuidas erineb URI RESTis ja SOAPis?
REST kasutab URI-d, et identifitseerida ressursse, näiteks /users/123, kus iga URI viitab kindlale objektile või andmetele. SOAP seevastu kasutab sageli ühe URL-i teenuse juurdepääsuks ning saadab päringud ja vastused XML-vormingus, kus tegevus on defineeritud sõnumi sees, mitte URI kaudu.

Kuidas erineb käsku (ehk tegevuse, mida soovitakse teha) edastamine?
REST kasutab HTTP meetodeid (GET, POST, PUT, DELETE) tegevuste väljendamiseks — näiteks GET toob andmed, POST loob uue ressursi jne. SOAP seevastu edastab tegevused XML-sõnumite sees, kus on defineeritud konkreetne operatsioon nimega, mis täidetakse serveris.