Visión general de los servicios Web

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 autocontenidas y autodescriptivas que pueden publicarse, localizarse e invocarse a través de la Web.

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

Los servicios Web son autodescriptivos. El cliente y el servidor solo deben reconocer el formato y el contenido de los mensajes de petición y respuesta. La definición del formato de mensaje viaja con el mensaje; no se necesitan repositorios de metadatos externos ni herramientas de generación de código.

Los servicios Web son modulares. Los servicios Web simples pueden añadirse para formar servicios Web más complejos utilizando técnicas de flujo de trabajo o llamando a servicios Web de capa más baja desde una implementación de servicio Web.

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 promocionar la interoperatividad entre un servicio Web y los clientes en una gran variedad de plataformas informáticas y lenguajes de programación.

Los servicios Web pueden ser cualquier cosa, por ejemplo artículos de crítica teatral, partes meteorológicos, comprobaciones de crédito, cotizaciones en bolsa, guías de viaje o procesos de reserva de líneas aéreas. Cada uno de estos servicios de negocio autocontenidos es una aplicación que puede integrarse fácilmente con otros servicios, de la misma compañía o de otra, para crear un proceso de negocio completo. Esta interoperatividad permite a las empresas publicar, descubrir y enlazar dinámicamente una gran variedad de servicios Web por Internet.

Categorías de servicios Web

Los servicios Web pueden agruparse 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.

Roles e interacciones 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 implica establecer todos los prerrequisitos de entorno necesarios para realizar satisfactoriamente los servicios. Como ejemplos de prerrequisitos de entorno cabe citar la seguridad, la supervisión de transacciones y la disponibilidad de 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