Pregunta

¿Cuál es la diferencia entre un servicio web y una API? ¿Es la diferencia más que el protocolo utilizado para transferir datos? Gracias.

¿Fue útil?

Solución

Una API (Interfaz de programación de aplicaciones) es el medio por el cual los terceros pueden escribir código que interactúa con otro código. Un servicio web es un tipo de API, que casi siempre funciona a través de HTTP (aunque algunos, como SOAP, pueden usar transportes alternativos, como SMTP). La definición oficial de W3C menciona que los Servicios web no necesariamente usan HTTP, pero esto es casi siempre es el caso y se suele suponer a menos que se indique lo contrario.

Para obtener ejemplos de servicios web específicamente, consulte SOAP , REST , y XML-RPC . Para ver un ejemplo de otro tipo de API, una escrita en C para usar en una máquina local, consulte Linux Kernel API .

En lo que respecta al protocolo, una API de servicios web casi siempre utiliza HTTP (de ahí el elemento web), y definitivamente implica la comunicación a través de una red. Las API en general pueden utilizar cualquier medio de comunicación que deseen. La API del kernel de Linux, por ejemplo, utiliza Interrupts para invocar las llamadas del sistema que comprenden su API para llamadas desde el espacio de usuario.

Otros consejos

Básicamente, un servicio web es un método de comunicación entre dos máquinas, mientras que una API es una capa expuesta que le permite programar contra algo.

Es muy posible que tengas una API y el método principal para interactuar con esa API es a través de un servicio web.

Las definiciones técnicas (cortesía de Wikipedia) son:

API

  

Una interfaz de programación de aplicaciones (API) es un conjunto de rutinas, estructuras de datos, clases de objetos y / o protocolos proporcionados por bibliotecas y / o servicios del sistema operativo para permitir la creación de aplicaciones.

Servicio web

  

Un servicio web (también servicio web) está definido por el W3C como "un sistema de software diseñado para admitir la interacción interoperable de máquina a máquina en una red"

En un sentido genérico, un servicio web ES es una API a través de HTTP. A menudo utilizan JSON o XML, pero también existen otros enfoques.

Las

API son una interfaz publicada que define cómo el componente A se comunica con el componente B.

Por ejemplo, Doubleclick tiene una API de Java publicada que permite a los usuarios interrogar las tablas de la base de datos para obtener información sobre su campaña de publicidad en línea.

por ejemplo llame a GetNumberClicks (nombre de usuario)

Para implementar la API, debe agregar el archivo .jar de doble clic a su ruta de clase. La llamada es local.

Un servicio web es una forma de API donde la interfaz se define mediante un WSDL. Esto permite llamadas remotas de una interfaz a través de HTTP.

Si Doubleclick implementara su interfaz como un servicio web, usarían algo como Axis2 que se ejecuta dentro de Tomcat.

El usuario remoto llamaría al servicio web

por ejemplo llame a GetNumberClicksWebService (nombre de usuario)

y el servicio GetNumberClicksWebService llamaría a GetNumberClicks localmente.

API (Interfaz de programación de aplicaciones), el formulario completo en sí mismo sugiere que es una Interfaz que le permite programar para su aplicación con la ayuda o el soporte de alguna otra Interfaz de aplicación que expone algún tipo de funcionalidad que sea útil para su aplicación.

Por ejemplo, si se muestran las tasas de cambio de moneda actualizadas en su sitio web, se necesitará una Interfaz de terceros para programar, a menos que planee tener su propia base de datos con tasas de cambio y actualizaciones periódicas de la misma. Este conjunto de funcionalidades está disponible cuando ya está disponible con otra persona y cuando quieren compartirlo con otras personas, deben tener un punto final para comunicarse con las demás personas interesadas en dichas interacciones, de modo que lo implementen en la web a través de Internet. servicios. Este punto final no es más que una interfaz de su aplicación que puede programarse contra la API.

API es la integración basada en código, mientras que el servicio web es la integración basada en mensajes con estándares interoperables que tienen un contrato como WSDL.

Piense en el servicio web como una API web. API es un término tan general ahora, por lo que un servicio web es una interfaz para la funcionalidad, generalmente relacionada con el negocio, que puede acceder desde la red a través de una variedad de protocolos.

Marque esto http://en.wikipedia.org/wiki/Web_service

Como se menciona en el enlace, entonces la API web es un desarrollo de servicios web que probablemente se relaciona con la web 2.0, mientras que los servicios basados ??en SOAP son reemplazados por comunicaciones basadas en REST. Tenga en cuenta que los servicios REST no requieren definiciones de API de servicios XML, SOAP o WSDL, por lo que es muy diferente al servicio web tradicional.

otro ejemplo: google map api vs google direction api web service, mientras que el primero sirve (entrega) un archivo javascript al sitio (que luego se puede usar como una api para crear nuevas funciones), el último es un servicio web Rest entrega de datos (en formato json o xml), que se pueden procesar (pero no se pueden utilizar en un sentido api).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top