Cómo mejorar el rendimiento y aumentar la disponibilidad del mainframe con la mejora de la configuración de CICS
CICS es probablemente el software más exitoso de todos los tiempos.
Es el pilar de la informática empresarial en todo el mundo. Millones de usuarios, sin saberlo, activan CICS todos los días y, si desapareciera, la economía mundial se paralizaría.
Es crucial para el mainframe, porque permite la ejecución eficiente y confiable de aplicaciones empresariales de alto rendimiento, al gestionar miles de transacciones simultáneas con alta disponibilidad y seguridad.
En este artículo explicamos en qué consiste CICS, cuáles son sus principales características, cómo funciona y cuáles son sus beneficios.
También identificamos casos de uso y analizamos algunas estrategias a tener en cuenta para mejorar el rendimiento y aumentar la disponibilidad del mainframe con la mejora de la configuración de CICS.
¿Qué es CICS?
Customer Information Control System Transaction Server (CICS®) es el software de proceso de transacciones en entornos mainframe desarrollado por IBM para z/OS.
Se trata de un servidor de aplicaciones potente, que se utiliza para el procesamiento de grandes volúmenes de transacciones.
El proceso de sucesos CICS proporciona una metodología no invasiva para ampliar las aplicaciones empresariales. Los eventos se definen y controlan de forma independiente de la lógica empresarial, extendiendo o supervisando una aplicación empresarial sin ninguna modificación.
CICS proporciona una plataforma robusta y escalable que facilita la interacción entre aplicaciones y bases de datos, que optimiza el rendimiento del sistema y asegura que las operaciones comerciales se realicen sin interrupciones. Una característica esencial para mantener la continuidad del negocio y la satisfacción del cliente.
Es ampliamente utilizado en sectores como seguros, banca, finanzas, comercio minorista y gobierno, en los cuales la fiabilidad y el procesamiento de alto rendimiento de transacciones en línea son críticos.
Hoy en día, en el mundo de las redes sociales -de la que muchos emprendedores se valen para publicar sus artículos y comercializar sus productos o servicios-, o en el uso de tarjetas de crédito, casi todas las transacciones se procesan con CICS.
Al respecto, vale destacar que las transacciones CICS se identifican mediante un ID de transacción de cuatro caracteres. Por ejemplo, el ID de transacción “DS01” podría representar una transacción que muestra el saldo de la cuenta de un cliente, o una transacción bancaria que implique, por ejemplo, retirar dinero de un cajero automático.
Las transacciones CICS son especiales por su velocidad, fiabilidad, escalabilidad y seguridad.
¿En qué consiste CICS Cobol?
Refiere a la utilización del lenguaje de programación Cobol en un entorno CICS.
Cuando se programan aplicaciones con Cobol que van a ejecutarse bajo CICS, los desarrolladores pueden aprovechar las capacidades de gestión de transacciones y el acceso a bases de datos que ofrece CICS.
Esto implica escribir programas Cobol con comandos específicos de CICS para realizar tareas como leer y actualizar registros en bases de datos, gestionar comunicaciones entre terminales y manejar la concurrencia de transacciones.
De esta manera se logra optimizar el rendimiento y la integridad de los datos en sistemas críticos de negocio.
¿Cuáles son las principales características de CICS?
Las características más importantes del Customer Information Control System Transaction Server son las siguientes:
1. Gestión de transacciones
Es altamente eficiente en el manejo de grandes volúmenes de transacciones en línea, lo que acelera los tiempos de respuesta y aumenta la consistencia en el procesamiento de datos. Además, permite la coordinación y gestión de transacciones distribuidas que pueden involucrar múltiples sistemas y recursos.
2. Escalabilidad y rendimiento
CICS está diseñado para soportar entornos de misión crítica con requisitos de alta disponibilidad y recuperación ante desastres. En paralelo, cuenta con la capacidad de manejar un gran número de transacciones simultáneas, lo que lo hace adecuado para organizaciones con grandes volúmenes de datos y usuarios.
3. Seguridad y control
En términos de autenticación, CICS implementa mecanismos robustos de seguridad para garantizar que solo los usuarios autorizados puedan acceder y ejecutar transacciones. Adicionalmente, proporciona capacidades extensivas de registro y auditoría para el seguimiento y control de actividades transaccionales.
5. Compatibilidad y flexibilidad
Es compatible con varios lenguajes de programación como Cobol, PL/I, Java, y C, lo que permite a las organizaciones utilizar el lenguaje que mejor se adapte a sus necesidades.
En cuanto a la interoperabilidad, puede interactuar con una variedad de sistemas y servicios, incluyendo bases de datos, sistemas de mensajes y servicios web.
6. Desarrollo y gestión de aplicaciones
IBM proporciona herramientas como CICS Explorer para facilitar el desarrollo, la administración y la supervisión de estas aplicaciones.
También soporta la modernización de aplicaciones legacy, lo que posibilita la integración con tecnologías modernas como APIs RESTful, servicios web y arquitecturas de microservicios.
7. Soporte para integración y middleware
Facilita la integración con otros sistemas empresariales y middleware, como IBM MQ, para garantizar un flujo de datos y procesos sin interrupciones.
¿Cómo funciona CICS?
Como explican desde IBM, el soporte de proceso de sucesos CICS permite que los usuarios identifiquen y especifiquen los sucesos empresariales significativos que deben emitir las aplicaciones.
El editor de enlace de sucesos CICS, se utiliza para crear especificaciones de sucesos que se instalan en el sistema.
En el tiempo de ejecución, CICS utiliza las especificaciones de sucesos para detectar y capturar sucesos.
Cada especificación de sucesos describe cómo se obtienen los datos en la carga útil de sucesos de los datos disponibles cuando se da un suceso en la aplicación.
Estas especificaciones de eventos se agrupan en enlaces de sucesos. El enlace de sucesos es la unidad para desplegar, habilitar e inhabilitar los sucesos CICS que contiene.
Un analista de aplicación despliega los enlaces de sucesos en el sistema y habilita las emisiones de sucesos. Para cada enlace de sucesos se especifica la configuración de adaptador del proceso de sucesos (PS) de CICS.
El adaptador transforma los datos de suceso a un formato de salida adecuado y luego utiliza un mecanismo de transporte para dirigir los sucesos de modo que estén disponibles para posibles clientes de sucesos.
Para la integración de IBM Business Monitor y CICS, la salida está en formato CBS (Common Base Events) y el mecanismo de transporte es WebSphere MQ. El puente entre WebSphere MQ y CEI (Common Event Infrastructure) en el servidor de IBM Business Monitor es un enlace de WebSphere MQ.
Para comprender mejor sus alcances y cómo utilizarlo, IBM proporciona una serie de manuales con material de programación y referencia para Customer Information Control System, incluida su administración y las operaciones y comunicaciones entre productos.
¿Cuáles son los beneficios de CICS?
CICS Transaction Server es una solución esencial para organizaciones que requieren un procesamiento transaccional eficiente, fiable y seguro en sus entornos mainframe.
¿Por qué? Porque facilita tanto la operación de aplicaciones legacy como la integración y modernización con tecnologías contemporáneas.
Entre sus principales ventajas se destacan:
- Fiabilidad y estabilidad: es conocida por su robustez y capacidad para operar sin interrupciones en entornos críticos.
- Rendimiento excepcional: proporciona tiempos de respuesta rápidos y capacidad para manejar grandes volúmenes de transacciones.
- Flexibilidad y adaptabilidad: permite a las organizaciones modernizar sus aplicaciones legadas y adoptar nuevas tecnologías sin interrumpir las operaciones existentes.
- Ecosistema de soporte: cuenta con el respaldo de IBM a través de actualizaciones continuas, soporte técnico y una comunidad activa de usuarios y desarrolladores.
Casos de uso de CICs
Como explicamos anteriormente, el Customer Information Control System Transaction Server es utilizado por diversas industrias y sectores.
Por ejemplo, para el procesamiento de transacciones bancarias en tiempo real, como transferencias de fondos, pagos y consultas de saldos.
O para la gestión de inventarios, el procesamiento de pedidos y las transacciones de punto de venta en retail.
A nivel gubernamental, en los sistemas de gestión de impuestos, seguridad social y otros servicios públicos.
Mientras que en el ámbito de los seguros, CICS es utilizado para el procesamiento de pólizas, reclamaciones y gestión de clientes.
¿Cómo mejorar el rendimiento y aumentar la disponibilidad del mainframe?
Para poder determinar la mejor manera de optimizar el rendimiento y aumentar la disponibilidad del mainframe con la mejora de la configuración de CICS, es importante realizar dos tipos de evaluaciones:
- CICS Assessment Configuración
- CICS Assessment Transaccional
a) Un assessment de configuración es un proceso que se realiza para evaluar el estado de la configuración del CICS.
Su objetivo es identificar cualquier problema o área de mejora en la configuración del CICS que pueda estar afectando al rendimiento o la disponibilidad del mainframe.
Entre las acciones que incluye se encuentran:
- Revisión de la configuración actual de CICS, para modificar cualquier problema o área de mejora en la configuración
- Identificación de problemáticas, como el tiempo de respuesta, el consumo de CPU, o ambas. Junto a la determinación de los días y horarios en ocurre esta problemática y la coincidencia con tareas batch que compitan con los procesadores.
- Recolección de datos en todos los CICS, utilizando herramientas como el monitoreo de rendimiento y grabadores de eventos y transacciones.
- Analizar los datos recopilados para identificar cualquier problema o área de mejora en el rendimiento de CICS.
La recomendación es realizar un informe con propuestas sobre cambios en la configuración de CICS, en la implementación de las aplicaciones y la optimización de los recursos.
b) El assessment transaccional es un proceso que se realiza para evaluar el rendimiento de las transacciones CICS en un mainframe.
Su objetivo es identificar cualquier problema o área de mejora en el rendimiento de las transacciones que pueda estar afectando la satisfacción del usuario o la disponibilidad del entorno.
Entre las acciones que comprende este proceso se encuentran:
- Análisis de reportes del assessment de configuración, donde se evalúan los tiempos de respuesta y de espera, con volúmenes de actividad alto y consumos de CPU elevados.
- Situación de la arquitectura transaccional, analizando la arquitectura de los CICS y sus relaciones.
- Situación del procesamiento, con un análisis del consumo de CPU de programas, de archivos indexados, de recursos CICS y del acceso al DB2.
- Análisis de los datos recopilados para identificar cualquier problema o área de mejora en el rendimiento de CICS.
La sugerencia es desarrollar un informe de dimensionamiento en función de la carga, una configuración adecuada para uso eficiente de los recursos, un informe de situación transaccional y métricas, y un plan de acción.
10 estrategias para lograr mainframes eficientes y escalables
Teniendo en cuenta las evaluaciones que deben realizarse para mejorar el rendimiento y aumentar la disponibilidad del mainframe, mediante la configuración optimizada del CICS, es importante destacar que el logro de este objetivo también implica una serie de prácticas y ajustes.
Se trata de acciones que ayudarán a garantizar que el entorno mainframe sea eficiente, resiliente y capaz de manejar grandes volúmenes de transacciones con alta disponibilidad.
Algunas estrategias clave a considerar:
1. Tuning de parámetros
CICS permite configurar las regiones para separar las cargas de trabajo. Por ejemplo, puede tener regiones específicas para transacciones críticas y otras para cargas de trabajo menos prioritarias.
También ofrece la posibilidad de configurar los tamaños de los pools de almacenamiento dinámico (DSA) y almacenamiento extendido dinámico (EDSA), para que se ajusten a las necesidades de las aplicaciones.
Además, permite optimizar el uso de bloques de control de tareas (TCB) dedicados para aplicaciones Java, Cobol y otras tareas específicas para mejorar la concurrencia y el rendimiento.
2. Mejora en la gestión de recursos
Los pools de buffers correctamente configurados evitan cuellos de botella en el acceso a datos. Mientras que la optimización de la configuración de las sesiones VTAM, TCP/IP y MQ, brinda una mejor eficiencia de las comunicaciones.
La clave pasa por monitorear y ajustar las configuraciones, con el objetivo de minimizar los deadlocks y contenciones en el acceso a recursos compartidos.
3. Uso de herramientas de monitoreo y tuning
El CICS Performance Analyzer (CICS PA) permite analizar y comprender los patrones de rendimiento y ajustar configuraciones basadas en datos históricos.
En tanto, Omegamon monitorea en tiempo real y ajusta dinámicamente la configuración de CICS según las necesidades de la carga de trabajo.
4. Aumento de la disponibilidad
Implementar y configurar CICSplex permite distribuir la carga de trabajo entre múltiples regiones CICS, proporcionando balanceo de carga y redundancia.
Sysplex proporciona alta disponibilidad y recuperación ante desastres. De esta manera, múltiples sistemas pueden operar como una sola entidad lógica.
5. Mantenimiento preventivo y parches
Aplicar parches y actualizaciones de CICS y del sistema operativo z/OS en forma regular, garantiza que el sistema esté protegido contra vulnerabilidades y se beneficie de las mejoras de rendimiento y estabilidad.
6. Resiliencia y recuperación
Cuando los registros de transacciones y journals están configurados correctamente permiten una rápida recuperación en caso de fallos. En este sentido, es importante implementar procedimientos automatizados para la recuperación de fallos y reinicio de servicios CICS.
7. Balanceo de carga y failover
La recomendación es configurar el balance de carga para distribuir uniformemente las transacciones entre las regiones CICS.
De igual modo, configurar mecanismos de failover para que, en caso de que una región CICS falle, otra región asuma automáticamente su carga de trabajo.
8. Optimización de aplicaciones
Revisar, analizar y optimizar el código de las aplicaciones, mejora la eficiencia del uso de los recursos CICS.
También es importante asegurarse que las aplicaciones sean threadsafe, para permitir el uso concurrente de TCBs, y mejorar el rendimiento y la escalabilidad.
9. Implementación y monitoreo
Es fundamental realizar pruebas de carga para identificar y resolver cuellos de botella antes de aplicar cambios en producción.
Además de monitorear continuamente el rendimiento y la disponibilidad después de aplicar optimizaciones para validar su efectividad.
10. Documentación y capacitación
Una sugerencia a tener en cuenta es mantener una documentación detallada de la configuración y las prácticas de optimización aplicadas.
Sin dejar de resaltar, que el personal de IT debe estar capacitado en las mejores prácticas de gestión y optimización de CICS.
Conclusión
CICS continúa evolucionando para enfrentar los desafíos de un panorama de TI moderno, integrándose perfectamente con servicios web, arquitecturas de nube y big data.
Así lo analizan en el Mainframe Forum, destacando que para los sistemas mainframe, CICS sigue siendo una base sólida para un procesamiento de transacciones confiable en diversas industrias.
Te invitamos a conocer cómo transformamos el Mainframe para el futuro en IT Patagonia, de la mano de equipos con más de 35 años en esta tecnología.