web services - tipos - ¿Cuál es la diferencia entre una API web y un servicio web?
web service pdf (9)
La diferencia entre el servicio web y la API web se explica muy bien aquí:
Texto del enlace:
Servicios web: es un 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 parámetros de descripción estándar, estándar de aprobación de parámetros, estándar de respuesta, estándar de descubrimiento, etc. Probablemente puedas escribir 2000 páginas de libro que describan 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 automática y el descubrimiento apenas funcionan porque los clientes son bastante pobres, y usted no tiene ninguna garantía real de que se pueda llamar a ningún servicio desde ningún cliente.
La API web normalmente se realiza como HTTP / REST, no se define nada, la salida puede ser para, por ejemplo. JSON / XML, la entrada puede ser XML / JSON / o datos sin formato. No hay estándares para nada => ninguna llamada automática y descubrimiento. 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.
La web está cambiando hacia API / REST web. Los servicios web realmente no son 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 puedes empacar los datos, enviarlos comprimidos y descomprimirlos + desempaquetar en el cliente. En SOAP, solo puedes comprimir una solicitud HTML.
¿Hay alguna diferencia entre una API web y un servicio web ? ¿O son uno y el mismo?
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.
Diferencia básica entre los servicios web y las 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) Solo se puede hospedar en IIS.
4) 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) Puede alojarse en una aplicación o IIS.
4) Es de código abierto y puede ser utilizado por cualquier cliente que entienda JSON o XML.
5) Es ligero y está diseñado para dispositivos con ancho de banda limitado, como dispositivos móviles.
Dos cosas son muy simples de entender, API: es una capa en la aplicación que puede atender otras solicitudes de aplicaciones localmente. Webs Service: es una API que puede servir solicitudes y responder a través de la red desde un sistema remoto a través de la web o internet. Nota: Todos los servicios web son API pero no todos los API son servicios web
El servicio web es absolutamente el mismo que el API web: solo 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.
Un servicio web generalmente ofrece un WSDL desde el que puede crear resguardos de cliente automáticamente. Los servicios web se basan en el protocolo SOAP . Web API es un framework de Microsoft más nuevo 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 Web Api no ofrece una descripción del servicio como el WSDL de los servicios web. Por lo tanto, depende de sus requisitos cuál de las técnicas desea usar. Tal vez incluso WCF adapte mejor a sus necesidades, solo mire la documentación de MSDN.
Un servicio web si lo desea es una API web. Específicamente, la API web normalmente significa que el servicio web RESTful (basado en HTTP) y el 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.
Echa un vistazo a esta tabla 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!
Solo pegué el resumen del artículo vinculado:
Resumen:
Todos los servicios web son API pero todas las API no son servicios web.
Los servicios web podrían no realizar todas las operaciones que realizaría una API.
Un servicio web utiliza 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 directamente con una aplicación, mientras que un servicio web es un ...
Leer más: Diferencia entre la API y el 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.