Desplegar Web Services con CICS, WMQ, y WMB

Hola,

Como a buen seguro a la gran mayoría de los lectores CICS, WMQ, y WMB sonará a chino, haremos una pequeñísima introducción de qué es cada cosa. Las tres son tecnologías propias de IBM, y son, especialmente CICS, tecnologías muy unidas al mundo de la banca, y más concretamente, al core bancario.

Hablamos de mundo host, esas grandes máquinas mainframe que a fin de cuentas son las que controlan los procesos más críticos de una institución financiera. CICS es el acrónimo de Customer Information Control System, y básicamente es un servidor de transacciones pensado para correr en z/OS o z/VSE. Mediante CICS, una entidad puede ejecutar en mainframe miles de transacciones por segundo, tanto en online como batch, siendo estas transacciones de lo más variopinto: desde actualizar tu saldo contable hasta llevar a contabilidad un apunte. Como podéis imaginar, en una entidad financiera estas operaciones son monstruosas, y en un día CICS puede gestionar millones de transacciones.

Existe una versión de CICS para entornos distribuídos que se llama TXSeries y hay implementaciones para AIX, Solaris, HP-UX y hasta Windows. También podemos hallar variantes en los hermanos pequeños de los mainframe IBM, los AS/400 o iSeries, denominación actual de los mismos. En este documento PDF tenéis información introductoria sobre CICS.

En cuanto a WMQ, se trata de WebSphere MQ, un Message Oriented Middleware (MOM) también de IBM, que antiguamente se llamaba MQSeries. Este middleware suele ser empleado para interconectar entornos distribuídos con el entorno mainframe que comentábamos anteriormente, y proporciona todas las ventajas de interconexión mediante gestión de colas que os podáis imaginar. Así, por ejemplo, un click en nuestro portal de banca electrónica del tipo «hacer transferencia» produce un envío de datos por MQ al mainframe, y CICS lo procesa adecuadamente según corresponda. Como resultado, simplificando muchísimo el proceso, nuestra banca online mostrará un formulario para efectuar transferencias, en el que ya se habrán tenido en cuenta la posición contable, nuestros límites de transferencia, nuestro número de cuenta, etc, etc, etc.

Por último, WMB hace referencia a WebSphere Message Broker, otro software de integración de IBM y que suele hacer compañía a WMQ. WMB está pensado para extender las funciones de MQ Series, concretamente, a la hora de interpretar los datos. MQ es un gestor de colas que traslada datos entre aplicaciones de un modo seguro e íntegro, pero no tiene capacidad de interpretación de los mismos. WMB suple esta carencia, y aunque es un producto que se instala en una proporción bastante menor que WMQ, puede ser de utilidad en infraestructuras donde haya que gobernar nodos de información de colas MQ más allá de transportar colas de datos.

Una manera de entender cómo engranan estos tres podersos componentes es echar un ojo a una de las guías del fabricante. Developing Web Services Using CICS, WMQ, and WMB es un documento PDF de la serie Redbooks de IBM, en el que podremos encontrar las claves para desplegar Web Sevices mediante estas tres tecnologías.

254 páginas en las que podemos encontrar cosas tan interesantes como la relación entre SOA y CICS. SOA es otro de esos palabros de moda en el mundillo 2.0 en el que vivimos, y viene a significar Arquitectura Orientada a Servicios (Service Oriented Architecture). Tal y como dice la Wikipedia, SOA es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requerimientos de software del usuario, y habitualmente se basa en meter en una coctelera XML, HTTP, SOAP, WSDL y UDDI. En este contexto, CICS adoptaría el rol de gestor de peticiones de servicios Web.

En resumen, un documento completo y que puede servir para tomar contacto con tecnologías especializadas que habitualmente no son conocidas por el grueso de los usuarios.

Un saludo,