¿Qué son los servicios web?
Diferentes libros y diferentes organizaciones proporcionan diferentes definiciones a los servicios web. Algunos de ellos se enumeran aquí.
Un servicio web es cualquier software que esté disponible en Internet y utilice un sistema de mensajería XML estandarizado. XML se utiliza para codificar todas las comunicaciones a un servicio web. Por ejemplo, un cliente invoca un servicio web enviando un mensaje XML y luego espera la respuesta XML correspondiente. Como toda la comunicación se realiza en XML, los servicios web no están vinculados a ningún sistema operativo o lenguaje de programación: Java puede hablar con Perl; Las aplicaciones de Windows pueden comunicarse con las aplicaciones de Unix.
Los servicios web son aplicaciones autónomas, modulares, distribuidas y dinámicas que se pueden describir, publicar, ubicar o invocar a través de la red para crear productos, procesos y cadenas de suministro. Estas aplicaciones pueden ser locales, distribuidas o basadas en la web. Los servicios web se basan en estándares abiertos como TCP / IP, HTTP, Java, HTML y XML.
Los servicios web son sistemas de intercambio de información basados en XML que utilizan Internet para la interacción directa de aplicación a aplicación. Estos sistemas pueden incluir programas, objetos, mensajes o documentos.
Un servicio web es una colección de protocolos y estándares abiertos que se utilizan para intercambiar datos entre aplicaciones o sistemas. Las aplicaciones de software escritas en varios lenguajes de programación y que se ejecutan en varias plataformas pueden utilizar servicios web para intercambiar datos a través de redes informáticas como Internet de manera similar a la comunicación entre procesos en una sola computadora. Esta interoperabilidad (por ejemplo, entre Java y Python, o aplicaciones de Windows y Linux) se debe al uso de estándares abiertos.
En resumen, un servicio web completo es, por tanto, cualquier servicio que:
Está disponible a través de Internet o redes privadas (intranet).
Utiliza un sistema de mensajería XML estandarizado
No está vinculado a ningún sistema operativo o lenguaje de programación.
Se autodescribe mediante una gramática XML común.
Es detectable mediante un sencillo mecanismo de búsqueda.
Componentes de los servicios web
La plataforma de servicios web básica es XML + HTTP. Todos los servicios web estándar funcionan con los siguientes componentes:
SOAP (Protocolo simple de acceso a objetos)
UDDI (Descripción, descubrimiento e integración universal)
WSDL (lenguaje de descripción de servicios web)
Todos estos componentes se han analizado en el capítulo Arquitectura de servicios web .
¿Cómo funciona un servicio web?
Un servicio web permite la comunicación entre varias aplicaciones mediante el uso de estándares abiertos como HTML, XML, WSDL y SOAP. Un servicio web necesita la ayuda de:
XML para etiquetar los datos
SOAP para transferir un mensaje
WSDL para describir la disponibilidad del servicio.
Puede crear un servicio web basado en Java en Solaris al que se pueda acceder desde su programa Visual Basic que se ejecuta en Windows.
También puede utilizar C # para crear nuevos servicios web en Windows que se pueden invocar desde su aplicación web que se basa en JavaServer Pages (JSP) y se ejecuta en Linux.
Ejemplo
Considere un sistema simple de gestión de cuentas y procesamiento de pedidos. El personal de contabilidad usa una aplicación cliente construida con Visual Basic o JSP para crear nuevas cuentas e ingresar nuevos pedidos de clientes.
La lógica de procesamiento de este sistema está escrita en Java y reside en una máquina Solaris, que también interactúa con una base de datos para almacenar información.
Los pasos para realizar esta operación son los siguientes:
El programa cliente agrupa la información de registro de la cuenta en un mensaje SOAP.
Este mensaje SOAP se envía al servicio web como el cuerpo de una solicitud HTTP POST.
El servicio web descomprime la solicitud SOAP y la convierte en un comando que la aplicación puede comprender.
La aplicación procesa la información según sea necesario y responde con un nuevo número de cuenta único para ese cliente.
A continuación, el servicio web empaqueta la respuesta en otro mensaje SOAP, que envía de vuelta al programa cliente en respuesta a su solicitud HTTP.
El programa cliente descomprime el mensaje SOAP para obtener los resultados del proceso de registro de la cuenta.