API vs. Serviciul Web
API și serviciul Web servesc drept mijloc de comunicare. Singura diferență este că un serviciu Web facilitează interacțiunea între două mașini pe o rețea. Un API acționează ca o interfață între două aplicații diferite, astfel încât să poată comunica între ele. Un API este o metodă prin care furnizorii de la terți pot scrie programe care interfețează cu ușurință cu alte programe. Un serviciu Web este proiectat pentru a avea o interfață care este descrisă într-un format prelucrat de mașină, specificat de obicei în limba de descriere a serviciului Web (WSDL). De obicei, "HTTP" este cel mai frecvent utilizat protocol pentru comunicare. Serviciul Web folosește SOAP, REST și XML-RPC ca mijloc de comunicare. API poate utiliza orice mijloc de comunicare pentru a iniția interacțiunea între aplicații. De exemplu, apelurile de sistem sunt invocate prin întreruperi de către API-ul kernel-ului Linux.
Un API definește exact metodele pentru interacțiunea unui program software cu celălalt. Când această acțiune implică trimiterea de date prin intermediul unei rețele, serviciile Web intră în imagine. Un API implică, în general, apelarea de funcții din cadrul unui program software.
În cazul aplicațiilor Web, API-ul folosit este bazat pe web. Aplicațiile desktop, cum ar fi foile de calcul și documentele Word, utilizează interfețe API bazate pe VBA și COM care nu implică servicii Web. O aplicație de server cum ar fi Joomla poate folosi un API bazat pe PHP prezent în cadrul serverului, care nu necesită servicii Web.
Un serviciu Web este doar un API înfășurat în HTTP. Un API nu trebuie întotdeauna să fie bazat pe web. Un API constă dintr-un set complet de reguli și specificații pentru un program software care trebuie urmat pentru a facilita interacțiunea. Este posibil ca un serviciu Web să nu conțină un set complet de specificații și uneori să nu poată efectua toate sarcinile care ar putea fi posibile dintr-un API complet.
API-urile pot fi expuse într-un număr de moduri care includ: obiecte COM, fișiere DLL și .H în limba de programare C / C ++, fișiere JAR sau RMI în Java, XML peste HTTP, JSON peste HTTP etc. Metoda folosită de Web serviciul pentru a expune API este strict printr-o rețea.
Rezumat:
1. Toate serviciile Web sunt API, dar toate API-urile nu sunt servicii Web.
2. Este posibil ca serviciile Web să nu efectueze toate operațiile pe care le-ar efectua un API.
3. Un serviciu Web utilizează numai trei stiluri de utilizare: SOAP, REST și XML-RPC pentru
comunicare, în timp ce API poate folosi orice stil pentru comunicare.
4. Un serviciu Web necesită întotdeauna o rețea pentru funcționarea acestuia, în timp ce un API nu are nevoie
o rețea pentru funcționarea sa.
5. Un API facilitează interfața directă cu o aplicație, în timp ce un serviciu Web este a