¿Hay alguna diferencia entre una API web y un servicio web ? ¿O son uno y lo mismo?
¿Hay alguna diferencia entre una API web y un servicio web ? ¿O son uno y lo mismo?
Respuestas:
Un servicio web generalmente ofrece un WSDL desde el cual puede crear stubs de cliente automáticamente. Los servicios web se basan en el protocolo SOAP . ASP.NET Web API es un nuevo marco de Microsoft que le ayuda a construir interfaces basadas en REST . La respuesta puede ser JSON o XML, pero no hay forma de generar clientes automáticamente porque la API web no ofrece una descripción del servicio como WSDL de los servicios web. Por lo tanto, depende de sus requisitos cuál de las técnicas desea utilizar. Quizás incluso WCF se ajuste mejor a sus requisitos, solo mire la documentación de MSDN.
La diferencia básica entre servicios web y API web
Servicio web:
1) Es un servicio basado en SOAP y devuelve datos como XML.
2) Solo es compatible con el protocolo HTTP.
3) No es de código abierto, pero puede ser utilizado por cualquier cliente que entienda XML.
5) Requiere un protocolo SOAP para recibir y enviar datos a través de la red, por lo que no es una arquitectura ligera.
API web:
1) Una API web es un servicio basado en HTTP y devuelve datos JSON o XML de forma predeterminada.
2) Es compatible con el protocolo HTTP.
3) Se puede alojar dentro de una aplicación o IIS.
4) Es de código abierto y puede ser utilizado por cualquier cliente que entienda JSON o XML.
5) Tiene una arquitectura ligera y buena para dispositivos con ancho de banda limitado, como los dispositivos móviles.
Acabo de pegar el resumen del artículo vinculado:
Resumen:
Todos los servicios web son API, pero no todas las API son servicios web.
Es posible que los servicios web no realicen todas las operaciones que realizaría una API.
Un servicio web usa solo tres estilos de uso: SOAP, REST y XML-RPC para la comunicación, mientras que API puede usar cualquier estilo para la comunicación.
Un servicio web siempre necesita una red para su funcionamiento, mientras que una API no necesita una red para su funcionamiento.
Una API facilita la interacción directa con una aplicación, mientras que un servicio web es ...
Leer más: Diferencia entre API y servicio web | Diferencia entre | API vs Servicio web http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
Vea el enlace de arriba para la respuesta completa.
Un servicio web si lo desea es una API web. Específicamente, API web generalmente significa servicio web RESTful (basado en HTTP) y Servicio web generalmente significa SOAP + WSDL (+ HTTP o SMTP o JMS ...).
Típicamente, los servicios web RESTful se oponen a los servicios web (WSDL, SOAP), pero recientemente se ha introducido el término servicios web RESTful (con 'W' mayúscula) que significa RESTful + WSDL + SOAP.
Consulte este cuadro para ver las diferencias entre los tres conceptos: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
¡Espero eso ayude!
El servicio web es absolutamente igual que la API web, solo que un poco más restringido en términos de formato de datos subyacente. Ambos usan el protocolo HTTP y ambos permiten crear servicios RESTful. Y no se olvide de otros protocolos como JSON-RPC, tal vez se ajusten mejor.
En el contexto de ASP.Net, una API web es un controlador cuya clase base es ApiController y no utiliza vistas. Un servicio web es una clase derivada de WebService y tiene generación automática de WSDL. Por defecto, es una API SOAP, pero también puede usar JSON agregando un ScriptServiceAttribute .
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 en 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 de terceros pueden escribir programas que interactúan fácilmente con otros programas. Un servicio web está diseñado para tener una interfaz que se representa en un formato procesable por máquina, generalmente especificado en el lenguaje de descripción de servicio web (WSDL)
Todos los servicios web son API, pero no todas las API son servicios web.
Un servicio web es simplemente una API envuelta en HTTP.
Esta aquí artículo proporciona un buen conocimiento sobre el servicio web y API.
Bueno, TMK puede estar en el mundo de Microsoft, pero en el mundo de todo el software, incluido Java / Python / etc., creo que no hay diferencia. Son lo mismo.
/software/38691/difference-between-web-api-and-web-service
Servicios web: ese es el estándar definido por W3C, por lo que se puede acceder de forma semiautomática o automática (WSDL / UDDI). Todo se basa en XML, por lo que cualquiera puede llamarlo. Y cada aspecto del servicio está muy bien definido. Hay un estándar de descripción de parámetros, un estándar de paso de parámetros, un estándar de respuesta, un estándar de descubrimiento, etc., etc. Probablemente podría escribir un libro de 2000 páginas que describiera el estándar. Incluso hay algunos estándares "adicionales" para hacer cosas "estándar", como la autenticación.
A pesar del hecho de que la invocación y el descubrimiento automáticos apenas funcionan porque los clientes son bastante pobres y no tienes ninguna garantía real de que se pueda llamar a ningún servicio desde ningún cliente.
La API web generalmente se realiza como HTTP / REST, nada está definido, la salida puede ser, por ejemplo. JSON / XML, la entrada puede ser XML / JSON / o datos sin formato. No hay estándares para nada => no hay llamadas y descubrimiento automáticos. Puede proporcionar alguna descripción en archivo de texto o PDF, puede devolver los datos en Windows-1250 en lugar de Unicode, etc. Para describir el estándar, sería un folleto de 2 páginas con información simple y definirá todo lo demás.
Web está cambiando hacia API web / REST. Los servicios web no son realmente mejores que la API web. Muy complicado de desarrollar y consumen muchos más recursos (ancho de banda y RAM) ... y debido a todas las conversiones de datos (SOLICITUD-> XML-> DATOS-> RESPUESTA-> XML-> VALIDACIÓN-> CONVERSIÓN-> DATOS) son muy lento.
P.ej. En WebAPI puede empaquetar los datos, enviarlos comprimidos y descomprimir + desempaquetar en el cliente. En SOAP solo puedes comprimir la solicitud HTML.
Todos los servicios web son API pero todas las API no son servicios web, la API que se expone en la web se llama servicios web.
Dos cosas son muy simples de entender,
Nota: Todos los servicios web son API, pero no todas las API son servicios web.