API vs Web Service
API en Web Service dienen als communicatiemiddel. Het enige verschil is dat een webdienst de interactie tussen twee machines via een netwerk vergemakkelijkt. Een API fungeert als een interface tussen twee verschillende toepassingen, zodat zij met elkaar kunnen communiceren. Een API is een methode waarmee verkopers van derden programma’s kunnen schrijven die gemakkelijk met andere programma’s kunnen interfacen. Een webservice is ontworpen om een interface te hebben die wordt afgebeeld in een machinaal verwerkbaar formaat, gewoonlijk gespecificeerd in Web Service Description Language (WSDL). Gewoonlijk is “HTTP” het meest gebruikte protocol voor communicatie. Web services gebruiken ook SOAP, REST, en XML-RPC als communicatiemiddel. API kan om het even welk communicatiemiddel gebruiken om interactie tussen toepassingen op gang te brengen. De systeemaanroepen worden bijvoorbeeld aangeroepen met behulp van interrupts door de Linux-kernel-API.
Een API definieert precies de methoden voor het ene softwareprogramma om met het andere te communiceren. Wanneer deze actie het verzenden van gegevens over een netwerk inhoudt, komen Webdiensten in beeld. Een API houdt in het algemeen in dat functies vanuit een softwareprogramma worden aangeroepen.
In het geval van webtoepassingen is de gebruikte API webgebaseerd. Desktop applicaties zoals spreadsheets en Word-documenten maken gebruik van VBA en COM-gebaseerde API’s die geen gebruik maken van Web service. Een serverapplicatie zoals Joomla kan gebruik maken van een op PHP gebaseerde API die in de server aanwezig is en waarvoor geen Web service nodig is.
Een Web service is slechts een API die in HTTP is verpakt. Een API hoeft niet altijd webgebaseerd te zijn. Een API bestaat uit een complete set regels en specificaties die een softwareprogramma moet volgen om interactie mogelijk te maken. Een webdienst bevat wellicht geen volledige reeks specificaties en kan soms niet alle taken uitvoeren die met een volledige API mogelijk zijn.
De API’s kunnen op een aantal manieren worden blootgesteld, waaronder: COM-objecten, DLL- en .H-bestanden in de programmeertaal C/C++, JAR-bestanden of RMI in Java, XML over HTTP, JSON over HTTP, enz. De methode die door Web service wordt gebruikt om de API bloot te stellen is strikt via een netwerk.
Samenvatting:
1. Alle Web services zijn API’s, maar alle API’s zijn geen Web services.
2. Web services voeren wellicht niet alle operaties uit die een API zou uitvoeren.
3. Een Web service kent slechts drie gebruiksstijlen: SOAP, REST en XML-RPC voor
communicatie terwijl API elke stijl voor communicatie kan gebruiken.
4. Een Web service heeft altijd een netwerk nodig voor zijn werking terwijl een API geen
netwerk nodig heeft voor zijn werking.
5. Een API vergemakkelijkt de rechtstreekse interfacing met een toepassing terwijl een Web service via een netwerk met twee machines interageert.
6.Web service is als geavanceerde Urls en API is Geprogrammeerde Interface.
7.API bevat klassen en Interfaces net als een programma.
8.Een web service is een vorm van API (Application Programming Interface).
9.Een API wordt door een computerprogrammeur gebruikt om een koppeling tussen softwaretoepassingen tot stand te brengen. Deze interface kan verschillende vormen aannemen, een webdienst is er slechts één van.
10.Er zijn verschillende soorten webdiensten. SOAP (Simple Object Access Protocol) is een van de meest voorkomende. De API heeft de vorm van een servicebeschrijving (WSDL) die wordt gebruikt om automatisch de programmacode te genereren die de verbinding tot stand brengt.