Soap vs Restful resumen
Sistemas software diseñados para soportar una interacción interoperable maquina a
maquina sobre una red. Los Servicios Web suelen ser APIs Web que pueden ser
accedidas dentro de una red (principalmente Internet) y son ejecutados en el sistema que
los aloja.
Estilos de usos más comunes:
Remote Procedure Calls (RPC, Llamadas a Procedimientos Remotos):Los
Servicios Web basados en RPC presentan una interfaz de llamada a
procedimientos y funciones distribuidas, lo cual es familiar a muchos
desarrolladores. La unidad básica es la operación WSDL. (Googlear).
Arquitectura Orientada a Servicios (Service-oriented Architecture, SOA). Los
Servicios Web pueden también ser implementados siguiendo los conceptos de la
arquitectura SOA, donde la unidadbásica de comunicación es el mensaje, más que
la operación. Esto es típicamente referenciado como servicios orientados a
mensajes. Este estilo es débilmente acoplado.
REST (REpresentation State Transfer).Los Servicios Web basados en REST
intentan emular al protocolo HTTP o protocolos similares mediante la restricción
de establecer la interfaz a un conjunto conocido de operaciones estándar(por
ejemplo GET, PUT,…). Por tanto, este estilo se centra más en interactuar con
recursos con estado, que con mensajes y operaciones.
Es un estilo de arquitectura de software para sistemas hipermedias distribuidos tales
como la Web. Se refiere estrictamente a una colección de principios para el diseño de
arquitecturas en red. No es un estándar, solo un estilo de arquitectura.
Principios:
Escalabilidad de la interacción con los componentes.
Generalidad de interfaces. Gracias al protocolo HTTP, cualquier cliente puede
interactuar con cualquier servidor HTTP sin ninguna configuración especial.
Puesta en funcionamiento independiente. Los clientes y servidores pueden ser
puestas en funcionamiento durante años. Por tanto, los servidores antiguos deben
ser capaces deentenderse con clientes actuales y viceversa. HTTP permite la
extensibilidad mediante el uso de las cabeceras, a través de las URIs, a través de la
habilidad para crear nuevos métodos y tipos de contenido.
Compatibilidad con componentes intermedios. Ej: Proxys, cachés, firewalls. La
compatibilidad con intermediarios nos permite reducir la latencia de interacción,
reforzar la seguridad yencapsular otros sistemas.
Restricciones:
Identificación de recursos y manipulación de ellos a través de representaciones,
mediante el uso de URIs. os recursos son los objetos lógicos a los que se le envían
mensajes. Los recursos no pueden ser directamente accedidos o modificados. Más
bien se trabaja con representaciones de ellos. Cuando se utiliza un método PUT
para enviarinformación, se coge como una representación de lo que nos gustaría
que el estado del recurso fuera. Internamente el estado del recurso puede ser
cualquier cosa desde una base de datos relacional a un fichero de texto.
Mensajes autodescriptivos. REST dicta que los mensajes HTTP deberían ser tan
descriptivos como sea posible. Esto hace posible que los intermediarios interpreten
los mensajes yejecuten servicios en nombre del usuario. HTTP es un protocolo sin
estado y cuando se utiliza adecuadamente, es posible es posible interpretar cada
mensaje sin ningún conocimiento de los mensajes precedentes. Por ejemplo, en
vez de loguearse del modo que lo hace el protocolo FTP, HTTP envía esta
información en cada mensaje.
Hipermedia como un mecanismo del estado de la aplicación. El estadoactual de
una aplicación Web debería ser capturada en uno o más documentos de hipertexto,
residiendo tanto en el cliente como en el servidor.
En la actualidad existen millones de aplicaciones Web que implícitamente heredan estas
restricciones de HTTP. Hay una disciplina detrás del diseño de sitios Web escalables
que puede ser aprendida de los documentos de arquitectura Web o de varios...
Regístrate para leer el documento completo.