API vs Web Service
API i web usluga služe kao sredstvo komunikacije. Jedina je razlika što web usluga olakšava interakciju između dvaju uređaja preko mreže. API djeluje kao sučelje između dvije različite aplikacije tako da one mogu međusobno komunicirati. API je metoda kojom treći dobavljači mogu pisati programe koji se lako povezuju s drugim programima. Web usluga dizajnirana je tako da ima sučelje koje je prikazano u strojno obradivom obliku, obično navedenom u jeziku opisa web-servisa (WSDL). Tipično je za komunikaciju "HTTP" najčešće korišten protokol. Web usluga također koristi SOAP, REST i XML-RPC kao sredstvo komunikacije. API može koristiti bilo koje načine komunikacije za pokretanje interakcije između aplikacija. Na primjer, sistemski pozivi se pozivaju prekidima pomoću Linux kernel API-ja.
API točno definira metode interakcije jednog softverskog programa s drugim. Kada ova radnja uključuje slanje podataka putem mreže, na web-mjestu se pojavljuju slike. API obično uključuje funkcije pozivanja unutar softverskog programa.
U slučaju web aplikacija, API se upotrebljava na webu. Desktop aplikacije poput proračunskih tablica i word dokumenata koriste API-je temeljene na VBA i COM koji ne uključuju web uslugu. Poslužiteljska aplikacija kao što je Joomla može koristiti PHP-temeljen API prisutan unutar poslužitelja za koji nije potrebna web usluga.
Web usluga je samo API omotan u HTTP. API ne mora uvijek biti temeljen na webu. API se sastoji od cjelovitog niza pravila i specifikacija softverskog programa kojeg treba slijediti kako bi se olakšala interakcija. Web usluga možda ne sadrži potpuni skup specifikacija, a ponekad možda neće biti u mogućnosti izvršavati sve zadatke koji su mogući od kompletnog API-ja.
API-ji se mogu izlagati na više načina koji uključuju: COM objekte, DLL i .H datoteke na C / C ++ programskom jeziku, JAR datoteke ili RMI na Javi, XML preko HTTP-a, JSON preko HTTP-a itd. Metoda koju koristi Web usluga za izlaganje API-ja strogo je putem mreže.
Sažetak:
1. Sve web usluge su API-ji, ali svi API-i nisu Web usluge.
2. Web usluge možda neće izvoditi sve operacije koje obavlja API.
3. Web usluga koristi samo tri stila upotrebe: SOAP, REST i XML-RPC for
komunikacija dok API može koristiti bilo koji stil komunikacije.
4. Web usluzi uvijek treba mreža za rad, dok API ne treba
mreža za njegovo djelovanje.
5. API olakšava izravno povezivanje s aplikacijom, a web usluga je