He escuchado mucho sobre los servicios web y las API web, ¿hay alguna diferencia entre ellas o son las mismas?
He escuchado mucho sobre los servicios web y las API web, ¿hay alguna diferencia entre ellas o son las mismas?
Servicios web: eso es 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 estándares de descripción de parámetros, estándar de paso de parámetros, estándar de respuesta, estándar de descubrimiento, etc. etc. Es probable que pueda escribir un libro de 2000 páginas que describa 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 tiene ninguna garantía real de que se pueda llamar a ningún servicio desde cualquier cliente.
La API web se realiza normalmente como HTTP / REST, no se define nada, 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 automáticas y descubrimiento. Puede proporcionar alguna descripción en un 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 usted definirá todo lo demás.
Web está cambiando hacia Web API / REST. Los servicios web no son realmente mejores que la API web. Muy complicados de desarrollar y consumen muchos más recursos (ancho de banda y RAM) ... y debido a todas las conversiones de datos (REQUEST- > XML- > DATA- > RESPONSE- > XML- > VALIDATION- > CONVERSION - > DATOS) son muy lentos.
Por ejemplo. En WebAPI puede empaquetar los datos, enviarlos comprimidos y descomprimir + descomprimir en el cliente. En SOAP solo podías comprimir la solicitud HTML.
Un servicio web permite comunicaciones máquina a máquina a través de HTTP. Una API web es un subconjunto de servicios web que utilizan convenciones REST (que resume el artículo de Wikipedia ). Los conceptos definitivamente se superponen. Creo que todavía hay un enlace en la mente de la mayoría de las personas acerca del servicio web - > SOAP / XML-RPC que puede confundir innecesariamente las cosas.
Al final, tendrás que hacer algunas preguntas para aclarar qué significa la gente. No todos hacen una distinción o utilizan los términos indistintamente.
Los servicios web son una arquitectura y un enfoque definidos para un dominio de problemas como se indica en W3C .
Los servicios web proporcionan un medio estándar de interoperar entre diferentes aplicaciones de software, que se ejecutan en una variedad de plataformas y / o framework
La API web es un concepto y resume los medios sobre cómo se implementa el concepto.
En términos sencillos ... la API web es motor mientras que WS es BMW N53 .
Lea otras preguntas en las etiquetas api web-development terminology web-services