web services - services - API vs servicio web
jira rest services (9)
¿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.
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, mostrar las tasas de cambio de moneda actualizadas en su sitio web necesitaría una Interfaz de terceros con la cual realizar la programación, 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 desean compartirlo con otras personas, deben tener un punto final para comunicarse con las demás personas interesadas en dichas interacciones, de modo que puedan implementarlo en la web a través de Internet. servicios. Este punto final no es más que la interfaz de su aplicación, que puede programar 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.
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 tenga 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.
Webservice
Un servicio web (también servicio web) es definido por el W3C como "un sistema de software diseñado para soportar la interacción interoperable de máquina a máquina a través de una red"
Compruebe esto Webservice
Como se menciona en el enlace, 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 esto es muy diferente al servicio web tradicional.
En un sentido genérico, un servicio web es una API sobre 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 consultar 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.
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.
Una API (Interfaz de programación de aplicaciones) es el medio por el cual 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 este es casi siempre el caso y generalmente se asume a menos que se mencione 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 su uso en una máquina local, consulte la API del núcleo de Linux .
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 del usuario.
otro ejemplo: el servicio web de google map api vs google direction api, 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 que entrega datos ( en formato json o xml), que se puede procesar (pero no se puede utilizar en un sentido de api).