API vs servizio Web
I servizi API e Web servono come mezzo di comunicazione. L'unica differenza è che un servizio Web facilita l'interazione tra due macchine su una rete. Un'API funge da interfaccia tra due diverse applicazioni in modo che possano comunicare tra loro. Un'API è un metodo con cui i fornitori di terze parti possono scrivere programmi che si interfacciano facilmente con altri programmi. Un servizio Web è progettato per disporre di un'interfaccia che viene rappresentata in un formato elaborabile dalla macchina, in genere specificato in WSDL (Web Service Description Language). In genere, "HTTP" è il protocollo più utilizzato per la comunicazione. Il servizio Web utilizza anche SOAP, REST e XML-RPC come mezzo di comunicazione. L'API può utilizzare qualsiasi mezzo di comunicazione per avviare l'interazione tra le applicazioni. Ad esempio, le chiamate di sistema vengono richiamate mediante interruzioni dall'API del kernel di Linux.
Un'API definisce esattamente i metodi con cui un programma software interagisce con l'altro. Quando questa azione comporta l'invio di dati su una rete, i servizi Web entrano in scena. Un'API implica generalmente la chiamata di funzioni da un programma software.
Nel caso di applicazioni Web, l'API utilizzata è basata sul Web. Le applicazioni desktop come fogli di calcolo e documenti word utilizzano API VBA e COM che non implicano il servizio Web. Un'applicazione server come Joomla può utilizzare un'API basata su PHP presente nel server che non richiede il servizio Web.
Un servizio Web è semplicemente un'API racchiusa in HTTP. Un'API non ha sempre bisogno di essere basata sul web. Un'API consiste in un set completo di regole e specifiche per un programma software da seguire per facilitare l'interazione. Un servizio Web potrebbe non contenere un set completo di specifiche e talvolta potrebbe non essere in grado di eseguire tutte le attività che potrebbero essere possibili da un'API completa.
Le API possono essere esposte in vari modi che includono: oggetti COM, file DLL e .H in linguaggio di programmazione C / C ++, file JAR o RMI in Java, XML su HTTP, JSON su HTTP, ecc. Il metodo utilizzato dal Web servizio per esporre l'API è strettamente attraverso una rete.
Sommario:
1. Tutti i servizi Web sono API ma tutte le API non sono servizi Web.
2. I servizi Web potrebbero non eseguire tutte le operazioni eseguite da un'API.
3. Un servizio Web utilizza solo tre stili di utilizzo: SOAP, REST e XML-RPC per
comunicazione mentre API può utilizzare qualsiasi stile per la comunicazione.
4. Un servizio Web ha sempre bisogno di una rete per il suo funzionamento, mentre un'API non ha bisogno
una rete per il suo funzionamento.
5. Un'API facilita l'interfacciamento diretto con un'applicazione mentre un servizio Web è un