API y servicio web

Anonim

API vs servicio web

API y servicio web sirven como un medio de comunicación. La única diferencia es que un servicio web facilita la interacción entre dos máquinas a través de una red. Una API actúa como una interfaz entre dos aplicaciones diferentes para que puedan comunicarse entre sí. Una API es un método mediante el cual los proveedores externos pueden escribir programas que interactúan fácilmente con otros programas. Un servicio web está diseñado para tener una interfaz que se muestra en un formato procesable por máquina que generalmente se especifica en el lenguaje de descripción de servicios web (WSDL). Normalmente, "HTTP" es el protocolo más utilizado para la comunicación. El servicio web también utiliza SOAP, REST y XML-RPC como medio de comunicación. API puede usar cualquier medio de comunicación para iniciar la interacción entre aplicaciones. Por ejemplo, las llamadas del sistema se invocan utilizando interrupciones por la API del kernel de Linux.

Una API define exactamente los métodos para que un programa de software interactúe con el otro. Cuando esta acción implica el envío de datos a través de una red, los servicios web entran en escena. Una API generalmente implica llamar a funciones desde un programa de software.

En el caso de aplicaciones web, la API utilizada está basada en web. Las aplicaciones de escritorio, como las hojas de cálculo y los documentos de Word, utilizan API basadas en VBA y COM que no implican el servicio web. Una aplicación de servidor como Joomla puede usar una API basada en PHP presente en el servidor que no requiere servicio web.

Un servicio web es simplemente una API envuelta en HTTP. Una API no siempre tiene que estar basada en la web. Una API consiste en un conjunto completo de reglas y especificaciones que debe seguir un programa de software para facilitar la interacción. Es posible que un servicio web no contenga un conjunto completo de especificaciones y, a veces, no pueda realizar todas las tareas que pueden realizarse desde una API completa.

Las API se pueden exponer de varias formas, que incluyen: objetos COM, archivos DLL y.H en lenguaje de programación C / C ++, archivos JAR o RMI en Java, XML sobre HTTP, JSON sobre HTTP, etc. El método utilizado por la Web El servicio para exponer la API es estrictamente a través de una red.

Resumen:

1. Todos los servicios web son API, pero no todas las API son servicios web.

2. Es posible que los servicios web no realicen todas las operaciones que realizaría una API.

3. Un servicio web utiliza solo tres estilos de uso: SOAP, REST y XML-RPC para

comunicación mientras que API puede usar cualquier estilo para la comunicación.

4. Un servicio web siempre necesita una red para su funcionamiento, mientras que una API no necesita

Una red para su funcionamiento.

5. Una API facilita la interacción directa con una aplicación, mientras que un servicio web es un