Erinevus API ja veebiteenuse vahel

API vs veebiteenus

API ja veebiteenus toimivad suhtlusvahendina. Ainus erinevus on see, et veebiteenus hõlbustab kahe masina vahelist suhtlust võrgu kaudu. API toimib liidesena kahe erineva rakenduse vahel, nii et need saavad omavahel suhelda. API on meetod, mille abil kolmandad osapooled saavad kirjutada programme, mis on hõlpsasti liidestatavad teiste programmidega. Veebiteenusel on kujundatud liides, mida on kujutatud masintöödeldavas vormingus, mida tavaliselt täpsustatakse veebiteenuse kirjelduskeeles (WSDL). Tavaliselt on suhtluseks kõige sagedamini kasutatav protokoll “HTTP”. Veebiteenus kasutab suhtlusvahendina ka SOAP, REST ja XML-RPC. Rakendusüksuste vahelise suhtluse algatamiseks võib API kasutada mis tahes sidevahendeid. Näiteks kutsutakse süsteemikõnesid katkestama Linuxi kerneli API.

API määratleb täpselt ühe tarkvaraprogrammi interaktsiooni meetodid teisega. Kui see toiming hõlmab andmete saatmist võrgu kaudu, satuvad pildile veebiteenused. API hõlmab üldjuhul funktsioonide kutsumist tarkvaraprogrammist.

Veebirakenduste puhul on kasutatav API veebipõhine. Töölauarakendused, näiteks arvutustabelid ja sõnadokumendid, kasutavad VBA- ja COM-põhiseid API-sid, mis ei hõlma veebiteenust. Serverirakendused, näiteks Joomla, võivad kasutada serveris asuvat PHP-põhist API-d, mis ei vaja veebiteenust.

Veebiteenus on vaid HTTP-sse mähitud API. API ei pea alati olema veebipõhine. API koosneb terviklikest reeglitest ja spetsifikatsioonidest, mida tarkvaraprogramm peab järgima interaktsiooni hõlbustamiseks. Veebiteenus ei pruugi sisaldada täielikku spetsifikatsioonide komplekti ja mõnikord ei pruugi see olla võimeline täitma kõiki toiminguid, mis võivad olla võimalikud täieliku API kaudu.

API-sid saab paljastada mitmel viisil, sealhulgas: COM-objektid, DLL ja .H-failid C / C ++ programmeerimiskeeles, JAR-failid või RMI Java-s, XML üle HTTP, JSON üle HTTP jne. Veebi kasutatav meetod teenus API paljastamiseks toimub rangelt võrgu kaudu.

Kokkuvõte:

1. Kõik veebiteenused on API-d, kuid kõik API-d ei ole veebiteenused.

2. Veebiteenused ei pruugi täita kõiki toiminguid, mida API teeks.

3. Veebiteenus kasutab ainult kolme kasutusstiili: SOAP, REST ja XML-RPC

side, samas kui API võib suhtlemiseks kasutada mis tahes stiili.

4. Veebiteenus vajab oma toimimiseks alati võrku, samas kui API ei vaja

selle toimimiseks vajalik võrk.

5. API hõlbustab rakendusega otse liidestamist, samal ajal kui veebiteenus on