Visión general de servicios Web

Un servicio Web es un conjunto de funciones de aplicación relacionadas que se puede invocar programáticamente por Internet. Las empresas pueden combinar y emparejar dinámicamente los servicios Web para realizar transacciones complejas con muy poca programación. Los servicios Web permiten que los compradores y vendedores de todo el mundo se descubran entre sí, se conecten dinámicamente y ejecuten transacciones en tiempo real con muy poca interacción manual.

Los servicios Web son aplicaciones modulares autónomas y autodescriptivas que se pueden publicar, localizar e invocar en la Web.

Los servicios Web son autocontenidos. En el lado del cliente, no es necesario software adicional. Es suficiente un lenguaje de programación con soporte de XML y HTTP para comenzar. En el servidor, se necesita un servidor Web y un motor de servlets. El cliente y el servidor se pueden implementar en entornos distintos. El servicio Web puede habilitar una aplicación existente sin escribir una sola línea de código.

Los servicios Web son autodescriptivos. El cliente y el servidor sólo tienen que reconocer el formato y el contenido de los mensajes de petición y respuesta. La definición del formato del mensaje se transporta con el mensaje; no son necesarios depósitos de metadatos externos ni herramientas de generación de código.

Los servicios Web son modulares. Se pueden agregar servicios Web sencillos para formar servicios Web más complejos, ya sea, utilizando técnicas de flujo de trabajo o llamando a servicios Web de una capa inferior desde una implementación de servicio.

Los servicios Web son independientes de la plataforma. Los servicios Web se basan en un conjunto conciso de estándares abiertos basados en XML diseñados para promover la interoperatividad entre servicios Web y clientes en una variedad de plataformas de sistemas y lenguajes de programación.

Los servicios Web pueden ser de cualquier tipo, por ejemplo, artículos de crítica teatral, informes de pronóstico del tiempo, comprobación de crédito, cotizaciones, asesoramiento de viajes o procesos de reservas de viajes de líneas aéreas. Cada uno de estos servicios de empresa autónomos son aplicaciones que se integran fácilmente con otros servicios, de la misma empresa o de otras empresas, para crear un proceso de empresa completo. Esta interoperatividad permite a las empresas publicar, descubrir y enlazar dinámicamente una gama de servicios Web mediante Internet.

Categorías de servicios Web

Los servicios Web se pueden agrupar en tres categorías:

Información de empresa. Una empresa comparte información con consumidores u otras empresas. En este caso, la empresa utiliza servicios Web para expandir su ámbito. Los ejemplos de servicios Web informativos de empresa son corrientes de noticias, partes meteorológicos o cotizaciones en bolsa.

Integración empresarial. Una empresa proporciona servicios transaccionales "de pago" a sus clientes. En este caso, la empresa se vuelve parte de una red global de proveedores de valor añadido que puede utilizarse para comerciar. Como ejemplos de servicios Web de integración empresarial pueden incluirse las casas virtuales de pujas y subastas, los sistemas de reserva y la comprobación de créditos.

Externalización de procesos de negocio. Una empresa se diferencia a sí misma de sus competidoras a través de la creación de una cadena de valor global. En este caso, la empresa utiliza servicios Web para integrar dinámicamente sus procesos. Un ejemplo de servicios Web de externalización de proceso de negocio lo constituye la asociación entre diversas compañías para combinar la producción, el ensamblaje, la distribución al por mayor y las ventas al detalle de un producto determinado.

Interacciones y roles de servicio

Un componente de red en una arquitectura de servicios Web puede desempeñar uno o varios roles fundamentales: proveedor de servicios, intermediario de servicio y cliente de servicio.

El enlace conlleva el establecimiento de todos los requisitos previos del entorno que son necesarios para completar satisfactoriamente los servicios. Los requisitos previos de entorno son, por ejemplo, la seguridad, la supervisión de transacciones y la disponibilidad HTTP. Las relaciones entre estos roles se describen en la Figura 1.

Figura 1. Roles de servicio e interacciones.

La figura 1 ilustra las interacciones entre el intermediario de servicio, el proveedor de servicios y el peticionario de servicio.

Para obtener más información acerca de los servicios Web, consulte www.ibm.com/developerworks/webservices