Servicios web - Características
Los servicios web tienen las siguientes características especiales de comportamiento:
Basado en XML
Los servicios web utilizan XML en las capas de representación y transporte de datos. El uso de XML elimina cualquier enlace de red, sistema operativo o plataforma. Las aplicaciones basadas en servicios web son altamente interoperables en su nivel central.
Débilmente acoplado
Un consumidor de un servicio web no está vinculado directamente a ese servicio web. La interfaz del servicio web puede cambiar con el tiempo sin comprometer la capacidad del cliente para interactuar con el servicio. Un sistema estrechamente acoplado implica que la lógica del cliente y del servidor están estrechamente vinculadas entre sí, lo que implica que si una interfaz cambia, la otra debe actualizarse. La adopción de una arquitectura poco acoplada tiende a hacer que los sistemas de software sean más manejables y permite una integración más simple entre diferentes sistemas.
De grano grueso
Las tecnologías orientadas a objetos como Java exponen sus servicios a través de métodos individuales. Un método individual es una operación demasiado fina para proporcionar alguna capacidad útil a nivel corporativo. La construcción de un programa Java desde cero requiere la creación de varios métodos detallados que luego se componen en un servicio detallado que es consumido por un cliente u otro servicio.
Las empresas y las interfaces que exponen deben ser generales. La tecnología de servicios web proporciona una forma natural de definir servicios generales que acceden a la cantidad adecuada de lógica empresarial.
Capacidad para ser sincrónico o asincrónico
La sincronicidad se refiere a la vinculación del cliente a la ejecución del servicio. En las invocaciones sincrónicas, el cliente bloquea y espera que el servicio complete su operación antes de continuar. Las operaciones asincrónicas permiten que un cliente invoque un servicio y luego ejecute otras funciones.
Los clientes asíncronos recuperan su resultado en un momento posterior, mientras que los clientes síncronos reciben su resultado cuando el servicio se ha completado. La capacidad asincrónica es un factor clave para habilitar sistemas con acoplamiento flexible.
Admite llamadas a procedimiento remoto (RPC)
Los servicios web permiten a los clientes invocar procedimientos, funciones y métodos en objetos remotos utilizando un protocolo basado en XML. Los procedimientos remotos exponen parámetros de entrada y salida que un servicio web debe admitir.
El desarrollo de componentes a través de Enterprise JavaBeans (EJB) y .NET Components se ha convertido cada vez más en parte de las arquitecturas y las implementaciones empresariales durante los últimos dos años. Ambas tecnologías se distribuyen y son accesibles a través de una variedad de mecanismos RPC.
Un servicio web es compatible con RPC proporcionando servicios propios, equivalentes a los de un componente tradicional, o traduciendo las invocaciones entrantes en una invocación de un componente EJB o .NET.
Admite intercambio de documentos
Una de las ventajas clave de XML es su forma genérica de representar no solo datos, sino también documentos complejos. Estos documentos pueden ser tan simples como representar una dirección actual, o pueden ser tan complejos como representar un libro completo o una Solicitud de Cotización (RFQ). Los servicios web admiten el intercambio transparente de documentos para facilitar la integración empresarial.