IBM CICS ( Customer Information Control System ) es una familia de servidores de aplicaciones multilingües que proporcionan gestión de transacciones en línea y conectividad para aplicaciones en sistemas mainframe de IBM bajo z/OS y z/VSE .
Los productos de la familia CICS están diseñados como middleware y admiten el procesamiento rápido de transacciones en línea de alto volumen . Una transacción CICS es una unidad de procesamiento iniciada por una única solicitud que puede afectar a uno o más objetos. [ 2 ] Este procesamiento suele ser interactivo (orientado a la pantalla), pero también son posibles las transacciones en segundo plano.
CICS Transaction Server (CICS TS) es el componente principal de la familia CICS y proporciona servicios que amplían o reemplazan las funciones del sistema operativo. Estos servicios pueden ser más eficientes que los servicios generalizados del sistema operativo y también más sencillos de usar para los programadores, especialmente en lo que respecta a la comunicación con diversos dispositivos terminales.
Las aplicaciones desarrolladas para CICS pueden escribirse en diversos lenguajes de programación y utilizar extensiones de lenguaje proporcionadas por CICS para interactuar con recursos como archivos, conexiones a bases de datos y terminales, o para invocar funciones como servicios web. CICS gestiona la transacción completa, de modo que si por algún motivo falla una parte de la misma, se pueden revertir todos los cambios recuperables.
Si bien CICS TS tiene mayor presencia entre las grandes instituciones financieras, como bancos y compañías de seguros, se informa que muchas empresas de la lista Fortune 500 y entidades gubernamentales utilizan CICS. Otras empresas más pequeñas también pueden utilizar CICS TS y otros productos de la familia CICS. CICS se encuentra habitualmente en segundo plano en aplicaciones para cajeros bancarios, sistemas de cajeros automáticos , sistemas de control de producción industrial, aplicaciones de seguros y muchos otros tipos de aplicaciones interactivas.
Las recientes mejoras de CICS TS incluyen nuevas funcionalidades para optimizar la experiencia del desarrollador, como la selección de API, marcos de trabajo, editores y herramientas de compilación, a la vez que se actualizan aspectos clave como la seguridad, la resiliencia y la gestión. En versiones anteriores de CICS TS, se ofrecía compatibilidad con servicios web y Java , procesamiento de eventos , fuentes Atom e interfaces RESTful .
Historia

CICS fue precedido por un sistema de procesamiento de transacciones anterior de un solo hilo , IBM MTCS . Posteriormente se desarrolló un "puente MTCS-CICS" para permitir que estas transacciones se ejecutaran bajo CICS sin modificar los programas de aplicación originales. El Sistema de Control de Información del Cliente (CICS) de IBM se desarrolló por primera vez en colaboración con Michigan Bell en 1966. [ 3 ] Ben Riggins era ingeniero de sistemas de IBM en Virginia Electric Power Co. cuando concibió la idea del sistema en línea. [ 4 ]
CICS se desarrolló originalmente en Estados Unidos, en el Centro de Desarrollo de IBM en Des Plaines, Illinois , a partir de 1966 para satisfacer las necesidades del sector de servicios públicos. El primer producto CICS se anunció en 1968 con el nombre de Sistema de Control de Información para Clientes de Servicios Públicos (PU-CICS). Inmediatamente quedó claro que tenía aplicabilidad en muchos otros sectores, por lo que se eliminó el prefijo "Public Utility" con el lanzamiento de la primera versión del programa CICS el 8 de julio de 1969, poco después del sistema de gestión de bases de datos IMS .

Durante los años siguientes, CICS se desarrolló en Palo Alto y se consideró un producto menos importante y de menor envergadura que IMS, que IBM entonces consideraba más estratégico. Sin embargo, la presión de los clientes lo mantuvo vigente. Cuando IBM decidió finalizar el desarrollo de CICS en 1974 para concentrarse en IMS, la responsabilidad del desarrollo de CICS recayó en la sede de IBM en Hursley, Reino Unido, que acababa de cesar el trabajo en el compilador PL/I y, por lo tanto, conocía a muchos de los mismos clientes que CICS. El núcleo del desarrollo continúa hoy en día en Hursley, junto con las contribuciones de los laboratorios de IBM en India y Estados Unidos.
Evolución temprana
Inicialmente, CICS solo era compatible con algunos dispositivos de la marca IBM, como el terminal de máquina de escribir IBM 2741 Selectric (con forma de bola de golf) de 1965. Los terminales de visualización de vídeo IBM 2260 de 1964 y IBM 3270 de 1972 se utilizaron ampliamente más adelante.
En los inicios de los mainframes de IBM, el software era gratuito y se incluía sin coste adicional con el hardware . El sistema operativo OS/360 y el software de soporte de aplicaciones, como CICS, eran de acceso libre para los clientes de IBM mucho antes de la iniciativa de software de código abierto . Empresas como Standard Oil de Indiana (Amoco) realizaron importantes contribuciones a CICS.
El equipo de IBM Des Plaines intentó añadir compatibilidad con terminales populares que no eran de IBM, como el Teletipo ASCII Modelo 33 ASR, pero el pequeño equipo de desarrollo de software, con un presupuesto reducido, no podía permitirse el hardware de 100 dólares al mes necesario para probarlo. Los ejecutivos de IBM creían erróneamente que el futuro sería como el pasado, con el procesamiento por lotes utilizando tarjetas perforadas tradicionales .
IBM, a regañadientes, proporcionó una financiación mínima cuando las empresas de servicios públicos, los bancos y las compañías de tarjetas de crédito exigieron un sistema interactivo rentable (similar al programa IBM Airline Control de 1965 utilizado por el sistema de reservas informáticas Sabre de American Airlines ) para el acceso y la actualización de datos de alta velocidad a la información del cliente para sus operadores telefónicos (sin tener que esperar a los sistemas de tarjetas perforadas de procesamiento por lotes nocturno).
Cuando CICS se entregó a Amoco con soporte para el Teletype Model 33 ASR, provocó el fallo de todo el sistema operativo OS/360 (incluidos los programas de aplicación que no eran de CICS). La mayor parte del Programa de Control de Terminales de CICS (TCP , el núcleo de CICS) y parte de OS/360 tuvieron que ser rediseñados y reescritos minuciosamente por Amoco Production Company en Tulsa, Oklahoma. Posteriormente, se devolvió a IBM para su distribución gratuita.
El Sistema de Control de Información del Cliente (CICS) es uno de los productos de software de IBM con mayor éxito comercial. En los años posteriores a su lanzamiento, el monitor de procesamiento de transacciones se convirtió en un pilar fundamental de la estrategia de mainframes de IBM, generando finalmente más de 60 mil millones de dólares en ingresos por hardware. Al facilitar el procesamiento de transacciones de alto volumen y confiable, CICS consolidó su posición como un componente crítico del entorno informático empresarial y sigue siendo un motor clave del ecosistema de mainframes de IBM.
En 1972, CICS estaba disponible en tres versiones : DOS-ENTRY (número de programa 5736-XX6) para máquinas DOS/360 con memoria muy limitada, DOS-STANDARD (número de programa 5736-XX7) para máquinas DOS/360 con más memoria y OS-Standard v2 (número de programa 5734-XX7) para las máquinas más grandes que ejecutaban OS/360. [ 5 ]
A principios de 1970, varios de los desarrolladores originales, incluido Ben Riggins (el principal arquitecto de las primeras versiones), se trasladaron a California y continuaron el desarrollo de CICS en el Centro de Desarrollo de IBM en Palo Alto . Los ejecutivos de IBM no reconocieron el valor del software como producto generador de ingresos hasta que la ley federal exigió la desagregación del software . En 1980, los ejecutivos de IBM no tuvieron en cuenta las firmes sugerencias de Ben Riggins de que IBM proporcionara su propio sistema operativo basado en EBCDIC y un chip microprocesador de circuito integrado para su uso en la IBM Personal Computer como terminal inteligente CICS (en lugar del chip Intel incompatible y el MS-DOS relativamente inmaduro ).

Debido a la capacidad limitada incluso de los procesadores más potentes de aquella época, cada instalación de CICS requería el ensamblaje del código fuente de todos los módulos del sistema CICS tras completar un proceso similar a la generación del sistema (sysgen), denominado CICSGEN , para establecer los valores de las sentencias condicionales en lenguaje ensamblador. Este proceso permitía a cada cliente excluir de CICS cualquier función que no tuviera intención de utilizar, como la compatibilidad con dispositivos de tipos de terminal que no se utilizaban.
CICS debe su popularidad inicial a su implementación relativamente eficiente cuando el hardware era muy caro, a su arquitectura de procesamiento multihilo, a su relativa simplicidad para desarrollar aplicaciones de transacciones en tiempo real basadas en terminales y a las numerosas contribuciones de código abierto de los clientes, que incluyen tanto la depuración como la mejora de funciones.
notación Z
Parte de CICS se formalizó utilizando la notación Z en las décadas de 1980 y 1990 en colaboración con el Laboratorio de Computación de la Universidad de Oxford , dirigido por Tony Hoare . Ib Holm Sørensen dirigió el Proyecto de Procesamiento de Transacciones en la Universidad de Oxford , desde su inicio en 1982 (posteriormente renombrado como Proyecto CICS [ 6 ] ), en colaboración con IBM Hursley . [ 7 ] Este trabajo ganó un Premio de la Reina al Logro Tecnológico en 1992. [ 8 ] [ 9 ] Como parte del proyecto CICS, Sørensen extendió el Lenguaje de Comandos Protegidos de Edsger Dijkstra al permitir el uso de la notación de esquema Z como comandos abstractos. [ 10 ]
CICS como servidor de archivos distribuido
En 1986, IBM anunció la compatibilidad de CICS con los servicios de archivos orientados a registros definidos por la Arquitectura de Gestión de Datos Distribuidos (DDM). Esto permitió que los programas en computadoras remotas conectadas a la red crearan, administraran y accedieran a archivos que anteriormente solo estaban disponibles dentro de los entornos de procesamiento de transacciones CICS/MVS y CICS/VSE. [ 11 ]
En versiones más recientes de CICS, se eliminó la compatibilidad con DDM. La compatibilidad con el componente DDM de CICS z/OS se suspendió a finales de 2003 y se eliminó de CICS para z/OS a partir de la versión 5.2. [ 12 ] En CICS TS para z/VSE, la compatibilidad con DDM se estabilizó en el nivel V1.1.1, con la intención anunciada de suspenderla en una versión futura. [ 13 ] A partir de CICS para z/VSE 2.1, CICS/DDM no es compatible. [ 14 ]
CICS y la World Wide Web
CICS Transaction Server introdujo por primera vez una interfaz HTTP nativa en la versión 1.2, junto con una tecnología Web Bridge para encapsular programas basados en terminales de pantalla verde con una interfaz HTML . Las API web y de documentos de CICS se mejoraron en CICS TS V1.3 para permitir que las aplicaciones web interactuaran de forma más eficaz con los navegadores web.
Las versiones 2.1 a 2.3 de CICS TS se centraron en la introducción de las tecnologías CORBA y EJB en CICS, ofreciendo nuevas formas de integrar los recursos de CICS en modelos de componentes de aplicaciones distribuidas. Estas tecnologías dependían del alojamiento de aplicaciones Java en CICS. El entorno de alojamiento de Java experimentó numerosas mejoras a lo largo de varias versiones. Se introdujo un recurso JVM multihilo llamado JVMSERVER durante el lanzamiento de la versión 4.1 de CICS TS, que se mejoró aún más para utilizar tecnología JVM de 64 bits en la versión 5.1. La versión 5.1 también vio la introducción del contenedor web de perfil WebSphere Liberty. Finalmente, WebSphere Liberty se integró completamente en CICS Transaction Server en la versión 5.3. Numerosas tecnologías orientadas a la web podían alojarse en CICS utilizando Java, lo que finalmente resultó en la eliminación de las tecnologías nativas CORBA y EJB.
CICS TS V3.1 incorporó una implementación nativa de las tecnologías SOAP y WSDL para CICS, junto con API HTTP del lado del cliente para la comunicación saliente. Estas dos tecnologías facilitaron la integración de los componentes de CICS con otras aplicaciones empresariales y tuvieron una amplia acogida. Se incluyeron herramientas para convertir programas tradicionales de CICS escritos en lenguajes como COBOL en servicios web definidos por WSDL, con pocos o ningún cambio en el código. Esta tecnología se mejoró periódicamente en las sucesivas versiones de CICS.
Las versiones 4.1 y 4.2 de CICS TS incorporaron mejoras adicionales en la conectividad web, incluida una implementación nativa del protocolo de publicación Atom .
Muchas de las tecnologías web más recientes se pusieron a disposición en versiones anteriores de CICS mediante modelos de entrega distintos al lanzamiento tradicional de un producto. Esto permitió a los primeros usuarios proporcionar comentarios constructivos que influyeron en el diseño final de la tecnología integrada. Algunos ejemplos son el paquete de soporte de la versión preliminar de Soap para CICS (TS V2.2) o el paquete de soporte de ATOM para TS V3.1. Este enfoque se utilizó para introducir la compatibilidad con JSON en CICS TS V4.2, tecnología que posteriormente se integró en CICS TS V5.2.
La tecnología JSON en CICS es similar a la tecnología SOAP anterior , ambas permitieron que los programas alojados en CICS se integraran con una interfaz moderna. La tecnología JSON se mejoró posteriormente en z/OS Connect Enterprise Edition, un producto de IBM para la creación de API JSON que pueden aprovechar los recursos de varios subsistemas de mainframe.
También se han utilizado muchos productos de socios para interactuar con CICS. Algunos ejemplos populares incluyen el uso de CICS Transaction Gateway para conectarse a CICS desde servidores de aplicaciones Java compatibles con JCA , y los dispositivos IBM DataPower para filtrar el tráfico web antes de que llegue a CICS.
Las versiones modernas de CICS ofrecen numerosas maneras de integrar tanto los recursos de software existentes como los nuevos en flujos de aplicaciones distribuidas. Se puede acceder a los recursos de CICS desde sistemas remotos y, a su vez, acceder a ellos; se puede propagar la identidad del usuario y el contexto transaccional; se pueden componer y gestionar API RESTful; los dispositivos, usuarios y servidores pueden interactuar con CICS mediante tecnologías basadas en estándares; y el entorno IBM WebSphere Liberty de CICS fomenta la rápida adopción de nuevas tecnologías.
MicroCICS
En enero de 1985, una empresa de consultoría fundada en 1969, que había realizado "sistemas masivos en línea" para Hilton Hotels, FTD Florists, Amtrak y Budget Rent-a-Car, anunció lo que se convertiría en MicroCICS . [ 15 ] El enfoque inicial fue el IBM XT/370 y el IBM AT/370 . [ 16 ]
Familia CICS
Si bien cuando se menciona CICS, la gente suele referirse a CICS Transaction Server, la familia CICS hace referencia a una cartera de servidores de transacciones, conectores (denominados CICS Transaction Gateway) y herramientas CICS.
CICS en plataformas distribuidas —no en mainframes— se llama IBM TXSeries . TXSeries es un middleware de procesamiento de transacciones distribuidas . Admite aplicaciones en C, C++ , COBOL, Java™ y PL/I en entornos de nube y centros de datos tradicionales. TXSeries está disponible en las plataformas AIX , Linux x86, Windows , Solaris y HP-UX . [ 17 ] CICS también está disponible en otros sistemas operativos, en particular IBM i y OS/2 . La implementación para z/OS (es decir, CICS Transaction Server para z/OS) es, con diferencia, la más popular e importante.
Anteriormente, existían dos versiones de CICS disponibles para VM/CMS , pero ambas fueron descontinuadas. En 1986, IBM lanzó CICS/CMS , [ 18 ] [ 15 ] una versión de CICS para un solo usuario diseñada para el desarrollo, cuyas aplicaciones se transferían posteriormente a un sistema MVS o DOS/VS para su ejecución en producción. [ 19 ] [ 20 ] Más tarde, en 1988, IBM lanzó CICS/VM . [ 21 ] [ 22 ] CICS/VM estaba destinado a ser utilizado en el IBM 9370 , un mainframe de gama baja dirigido al uso departamental; IBM posicionó CICS/VM ejecutándose en mainframes departamentales o de sucursales para su uso junto con un mainframe central que ejecutaba CICS para MVS. [ 23 ]
Herramientas CICS
Las herramientas CICS permiten el aprovisionamiento, la gestión y el análisis de sistemas y aplicaciones CICS. Esto incluye la gestión del rendimiento, así como el despliegue y la gestión de los recursos CICS. En 2015, las cuatro herramientas CICS fundamentales (y el paquete de soluciones de optimización CICS para z/OS) se actualizaron con el lanzamiento de CICS Transaction Server para z/OS 5.3. Las cuatro herramientas CICS principales son: CICS Interdependency Analyzer para z/OS, CICS Deployment Assistant para z/OS, CICS Performance Analyzer para z/OS y CICS Configuration Manager para z/OS.
Lanzamientos y versiones
CICS Transaction Server para z/OS ha utilizado los siguientes números de versión:
Programación
Consideraciones de programación
Los programas de aplicación de transacciones interactivas multiusuario debían ser cuasi reentrantes para admitir múltiples hilos de transacción concurrentes. Un error de codificación en una aplicación podía bloquear el acceso de todos los usuarios al sistema. El diseño modular de los programas de control reentrantes/reutilizables de CICS permitía que, con una selección adecuada, se pudieran ejecutar múltiples usuarios con múltiples aplicaciones en un ordenador con tan solo 32 KB de costosa memoria física de núcleo magnético (incluido el sistema operativo ).
Los programadores de aplicaciones CICS debían realizar un esfuerzo considerable para optimizar al máximo sus transacciones. Una técnica común consistía en limitar el tamaño de los programas individuales a no más de 4096 bytes (4 KB), de modo que CICS pudiera reutilizar fácilmente la memoria ocupada por cualquier programa que no estuviera en uso para otro programa o para las necesidades de almacenamiento de otras aplicaciones. Cuando se incorporó la memoria virtual a las versiones de OS/360 en 1972, la estrategia de los 4 KB cobró aún más importancia para reducir la sobrecarga improductiva de paginación y contención de recursos.
La eficiencia de los programas compilados en lenguajes COBOL y PL/I de alto nivel dejaba mucho que desear. Muchos programas de aplicación de CICS continuaron escribiéndose en lenguaje ensamblador, incluso después de que se dispusiera de soporte para COBOL y PL/I.
Debido a que los recursos de hardware de las décadas de 1960 y 1970 eran costosos y escasos, se desarrolló un "juego" competitivo entre los analistas de optimización de sistemas. Cuando se identificaba el código de la ruta crítica , un fragmento de código se pasaba de un analista a otro. Cada persona debía (a) reducir la cantidad de bytes de código necesarios o (b) reducir la cantidad de ciclos de CPU necesarios. Los analistas más jóvenes aprendían de los mentores con más experiencia. Finalmente, cuando nadie podía lograr (a) o (b), el código se consideraba optimizado y pasaban a otros fragmentos. Las empresas pequeñas con un solo analista aprendían la optimización de CICS muy lentamente (o nunca la aprendían).
Debido a que los programas de aplicación podían ser compartidos por muchos subprocesos concurrentes , el uso de variables estáticas integradas en un programa (o el uso de la memoria del sistema operativo) estaba restringido (únicamente por convención).

Lamentablemente, muchas de las "reglas" se infringían con frecuencia, especialmente por programadores de COBOL que quizás desconocían el funcionamiento interno de sus programas o no utilizaban las opciones de compilación restrictivas necesarias . Esto generaba código "no reentrante" que a menudo era poco fiable, lo que provocaba errores de almacenamiento y fallos completos del sistema CICS.
Originalmente, toda la partición , o región de Almacenamiento Virtual Múltiple (MVS), operaba con la misma clave de protección de memoria, incluido el código del núcleo CICS. La corrupción de programas y de bloques de control CICS era una causa frecuente de inactividad del sistema. Un error de software en un programa de aplicación podía sobrescribir la memoria (código o datos) de una o todas las transacciones de la aplicación en ejecución. Localizar el código de la aplicación que causaba errores de temporización transitorios complejos podía ser un problema muy difícil para un analista de sistemas operativos.
Estas deficiencias persistieron en múltiples versiones de CICS durante más de 20 años, a pesar de su gravedad y de la alta demanda y escasez de profesionales altamente cualificados en CICS. Se abordaron en las versiones TS V3.3, V4.1 y V5.2 con las funciones de Protección de Almacenamiento, Aislamiento de Transacciones y Subespacio, respectivamente, que utilizan las características de hardware del sistema operativo para proteger el código de la aplicación y los datos dentro del mismo espacio de direcciones, aunque las aplicaciones no se hayan diseñado para estar separadas. Las transacciones de las aplicaciones CICS siguen siendo de vital importancia para muchas empresas de servicios públicos, grandes bancos y otras instituciones financieras multimillonarias.
Programación a nivel macro
Cuando se lanzó CICS por primera vez, solo admitía programas de transacciones de aplicaciones escritos en IBM 360 Assembler . La compatibilidad con COBOL y PL/I se añadió años después. Debido a su orientación inicial al lenguaje ensamblador, las solicitudes de servicios de CICS se realizaban mediante macros en lenguaje ensamblador . Por ejemplo, la solicitud para leer un registro de un archivo se realizaba mediante una llamada a la macro "Programa de control de archivos" de CICS, que podría tener este aspecto:
DFHFC TIPO=LECTURA,CONJUNTO DE DATOS=miarchivo,TIPOPER=ACTUALIZACIÓN,....etc.
Esto dio origen a la terminología posterior de " CICS a nivel macro ".
Cuando se añadió compatibilidad con lenguajes de alto nivel, se conservaron las macros y el código se convirtió mediante un precompilador que las expandió a sus equivalentes en sentencias CALL de COBOL o PL/I. De este modo, la preparación de una aplicación HLL se convertía, en la práctica, en una compilación en dos etapas: la salida del preprocesador se introducía en el compilador HLL como entrada.
Consideraciones sobre COBOL : a diferencia de PL/I, IBM COBOL normalmente no permite la manipulación de punteros (direcciones). Para que los programadores de COBOL pudieran acceder a los bloques de control y al almacenamiento dinámico de CICS, los diseñadores recurrieron a una solución poco ortodoxa. La sección de enlace de COBOL se utilizaba normalmente para la comunicación entre programas, como el paso de parámetros. El compilador genera una lista de direcciones, cada una denominada Localizador Base para Enlace (BLL), que se establecían al entrar en el programa llamado. El primer BLL corresponde al primer elemento de la sección de enlace, y así sucesivamente. CICS permite al programador acceder a estos y manipularlos pasando la dirección de la lista como primer argumento del programa. Los BLL pueden entonces establecerse dinámicamente, ya sea por CICS o por la aplicación, para permitir el acceso a la estructura correspondiente en la sección de enlace. [ 40 ]
Programación a nivel de comando
Durante la década de 1980, IBM en Hursley Park produjo una versión de CICS que admitía lo que se conoció como "CICS a nivel de comandos", que seguía siendo compatible con los programas antiguos, pero introducía un nuevo estilo de API para los programas de aplicación.
Una llamada típica a nivel de comando podría tener el siguiente aspecto:
EXEC CICS SEND MAPSET ( 'LOSMATT' ) MAP ( 'LOSATT' ) END-EXECLos valores proporcionados en el comando SEND MAPSET corresponden a los nombres utilizados en la primera macro DFHMSD de la definición de mapa que se muestra a continuación para el argumento MAPSET, y en la macro DFHMSI para el argumento MAP. Esto se procesa previamente mediante una etapa de traducción por lotes de precompilación, que convierte los comandos integrados (EXEC) en instrucciones de llamada a una subrutina auxiliar. Por lo tanto, la preparación de programas de aplicación para su posterior ejecución aún requería dos etapas. Era posible escribir aplicaciones de " modo mixto " utilizando instrucciones tanto a nivel de macro como a nivel de comando.
Inicialmente, durante la ejecución, los comandos a nivel de comando se convertían, mediante un traductor en tiempo de ejecución, el "Programa de Interfaz EXEC", a la antigua llamada a nivel de macro, que luego era ejecutada por los programas centrales de CICS, que permanecían prácticamente sin cambios. Sin embargo, cuando el núcleo de CICS se reescribió para TS V3, EXEC CICS se convirtió en la única forma de programar aplicaciones CICS, dado que muchas de las interfaces subyacentes habían cambiado.
Conversión en tiempo de ejecución
La versión de CICS que solo admitía comandos , introducida a principios de la década de 1990, ofrecía algunas ventajas sobre las versiones anteriores. Sin embargo, IBM también dejó de dar soporte a los programas de aplicación de nivel macro escritos para versiones anteriores. Esto significó que muchos programas de aplicación tuvieron que ser convertidos o reescritos por completo para usar únicamente comandos EXEC de nivel de comando.
Para entonces, existían probablemente millones de programas en todo el mundo que llevaban décadas en producción en muchos casos. Reescribirlos a menudo introducía nuevos errores sin necesariamente añadir nuevas funcionalidades. Un número significativo de usuarios que gestionaban regiones propietarias de aplicaciones (AOR) de CICS V2 continuaron ejecutando código macro durante muchos años después del cambio a la versión V3.
También era posible ejecutar programas antiguos a nivel de macro utilizando software de conversión como Command CICS de APT International . [ 41 ]
Nuevos estilos de programación
Las recientes mejoras de CICS Transaction Server incluyen compatibilidad con varios estilos de programación modernos.
CICS Transaction Server versión 5.6 [ 42 ] introdujo soporte mejorado para Java para brindar una experiencia nativa en la nube a los desarrolladores de Java. Por ejemplo, la nueva API de Java de CICS ( JCICSX ) permite pruebas unitarias más sencillas mediante enfoques de simulación y stubing, y se puede ejecutar de forma remota en la estación de trabajo local del desarrollador. Un conjunto de artefactos de CICS en Maven Central permite a los desarrolladores resolver dependencias de Java utilizando herramientas populares de gestión de dependencias como Apache Maven y Gradle . También se proporcionan complementos para Maven ( cics-bundle-maven ) y Gradle ( cics-bundle-gradle ) para simplificar la compilación automatizada de paquetes CICS, utilizando IDE conocidos como Eclipse , IntelliJ IDEA y Visual Studio Code . Además, se mejoró el soporte para Node.js z/OS en la versión 12, lo que proporciona un inicio más rápido, mejores límites de heap predeterminados, actualizaciones del motor JavaScript V8, etc. También se incluye soporte para Jakarta EE 8.
CICS TS 5.5 introdujo la compatibilidad con IBM SDK para Node.js, proporcionando un entorno de ejecución completo de JavaScript, API del lado del servidor y bibliotecas para crear de manera eficiente aplicaciones de red de alto rendimiento y altamente escalables para IBM Z.
La versión 2.1 de CICS Transaction Server introdujo la compatibilidad con Java. La versión 2.2 de CICS Transaction Server incorporó la compatibilidad con el Software Developers Toolkit. CICS proporciona el mismo contenedor de tiempo de ejecución que la familia de productos WebSphere de IBM, por lo que las aplicaciones Java EE son portátiles entre CICS y WebSphere, y existe un conjunto común de herramientas para el desarrollo e implementación de aplicaciones Java EE.
Además, CICS hizo hincapié en la integración de programas de aplicación existentes en interfaces modernas, de modo que las funciones empresariales tradicionales puedan incorporarse a servicios más modernos. Esto incluye interfaces WSDL, SOAP y JSON que encapsulan el código heredado, permitiendo que una aplicación web o móvil obtenga y actualice los objetos empresariales principales sin necesidad de reescribir en gran medida las funciones de back-end.
Actas
Una transacción CICS es un conjunto de operaciones que realizan una tarea en conjunto. Generalmente, la mayoría de las transacciones son tareas relativamente sencillas, como solicitar una lista de inventario o registrar un débito o crédito en una cuenta. Una característica fundamental de una transacción es que debe ser atómica . En los servidores IBM Z , CICS admite fácilmente miles de transacciones por segundo, lo que lo convierte en un pilar de la informática empresarial.
Las aplicaciones CICS comprenden transacciones que pueden escribirse en numerosos lenguajes de programación , entre ellos COBOL, PL/I, C, C++, IBM Basic Assembly Language, Rexx y Java.
Cada programa CICS se inicia mediante un identificador de transacción. Las pantallas CICS se envían generalmente como una estructura denominada mapa, un módulo creado con macros de ensamblador de Soporte Básico de Mapeo (BMS) o herramientas de terceros. Las pantallas CICS pueden contener texto resaltado, con diferentes colores o que parpadea, según el tipo de terminal utilizado. A continuación se muestra un ejemplo de cómo se puede enviar un mapa a través de COBOL. El usuario final introduce datos, que el programa puede acceder al recibir un mapa de CICS.
EXEC CICS RECEIVE MAPSET ( 'LOSMATT' ) MAP ( 'LOSATT' ) INTO ( OUR-MAP ) END-EXEC .Por razones técnicas, algunos parámetros de comando deben ir entre comillas, mientras que otros no, dependiendo de a qué se haga referencia. La mayoría de los programadores consultan un libro de referencia hasta comprender qué argumentos deben ir entre comillas, o bien utilizan plantillas predefinidas con código de ejemplo que simplemente copian y pegan, y luego editan para modificar los valores.
Ejemplo de código de mapa BMS
El soporte de mapeo básico define el formato de pantalla mediante macros de ensamblador como la siguiente. Esto se ensambló para generar tanto el conjunto de mapas físicos ( un módulo de carga en una biblioteca de carga de CICS ) como un conjunto de mapas simbólicos ( una definición de estructura o DSECT en PL/I, COBOL, ensamblador, etc.), que se copió en el programa fuente. [ 43 ]
LOSMATT DFHMSD TIPO = MAPA , X MODO = ENTRADA /SALIDA , X TIOAPFX = SÍ , X TERMINAL = 3270 - 2 , X LENGUAJE = COBOL , X MAPATTS = ( COLOR , RESALTE ), X DSATTS = ( COLOR , RESALTE ), X ALMACENAMIENTO = AUTOMÁTICO , X CTRL = ( FREEKB , FRSET ) * LOSATT DFHMDI TAMAÑO = ( 24 , 80 ), X LÍNEA = 1 , X COLUMNA = 1 * LSSTDII DFHMDF POSICIÓN = ( 1 , 01 ), X LONGITUD = 04 , X COLOR = AZUL , X INICIAL = 'MQCM' , X ATTRB = PROT * DFHMDF POSICIÓN = ( 24 , 01 ), X LONGITUD = 79 , X COLOR = AZUL X ATTRB = SALTAR , X INICIAL = 'PF7- 8- 9- 10- X 11 - 12 - CANCELAR ' * DFHMSD TIPO = FINAL FINEstructura

En el entorno z/OS , una instalación de CICS comprende una o más " regiones " (generalmente denominadas "Región CICS"), [ 44 ] distribuidas en una o más imágenes del sistema z/OS. Aunque procesa transacciones interactivas, cada región CICS se inicia normalmente como un espacio de direcciones por lotes con sentencias JCL estándar : es un trabajo que se ejecuta indefinidamente hasta su apagado. Alternativamente, cada región CICS puede iniciarse como una tarea iniciada . Ya sea un trabajo por lotes o una tarea iniciada, las regiones CICS pueden ejecutarse durante días, semanas o incluso meses antes de apagarse para mantenimiento (MVS o CICS). Al reiniciarse, un parámetro determina si el inicio debe ser "Frío" (sin recuperación) o "Cálido"/"Emergencia" (utilizando un apagado en caliente o reiniciando desde el registro después de un fallo). Los arranques en frío de grandes regiones CICS con muchos recursos pueden tardar mucho tiempo, ya que todas las definiciones se reprocesan.
Las instalaciones se dividen en múltiples espacios de direcciones por una amplia variedad de razones, tales como:
- separación de aplicaciones,
- separación de funciones,
- evitando las limitaciones de capacidad de carga de trabajo de una sola región, o espacio de direcciones, o instancia de mainframe en el caso de az/OS SysPlex.
Una instalación típica consta de varias aplicaciones distintas que conforman un servicio. Cada servicio suele tener varias "Regiones de Propietario de Terminal" (TOR) que enrutan las transacciones a múltiples "Regiones de Propietario de Aplicación" (AOR), aunque son posibles otras topologías. Por ejemplo, las AOR podrían no realizar operaciones de entrada/salida de archivos. En su lugar, habría una "Región de Propietario de Archivo" (FOR) que realizaría dichas operaciones en nombre de las transacciones de la AOR , dado que, en aquel momento, un archivo VSAM solo admitía acceso de escritura recuperable desde un espacio de direcciones a la vez.
Pero no todas las aplicaciones CICS usan VSAM como fuente de datos principal (o históricamente otros almacenes de datos de un solo espacio de direcciones a la vez, como CA Datacom); muchas usan IMS/DB o Db2 como base de datos y/o MQ como gestor de colas. En todos estos casos, los TOR pueden equilibrar la carga de las transacciones a conjuntos de AOR que luego usan directamente las bases de datos/colas compartidas. CICS admite la confirmación en dos fases XA entre almacenes de datos, por lo que las transacciones que abarcan MQ, VSAM/RLS y Db2, por ejemplo, son posibles con propiedades ACID.
CICS admite transacciones distribuidas mediante el protocolo SNA LU6.2 entre espacios de direcciones que pueden ejecutarse en clústeres iguales o diferentes. Esto permite actualizaciones ACID de múltiples almacenes de datos mediante aplicaciones distribuidas que cooperan entre sí. En la práctica, esto presenta problemas si se produce un fallo del sistema o de las comunicaciones, ya que la resolución de la transacción (reversión o confirmación) puede quedar en duda si uno de los nodos que se comunican no se ha recuperado. Por lo tanto, el uso de estas funcionalidades nunca ha sido muy generalizado.
Explotación de Sysplex

En la época de CICS ESA V3.2, a principios de la década de 1990, IBM se enfrentó al reto de cómo conseguir que CICS aprovechara la nueva línea de mainframes z/OS Sysplex .
El Sysplex se basaría en CMOS (silicio de óxido metálico complementario) en lugar del hardware ECL (lógica acoplada al emisor) existente. El costo de escalar el ECL, exclusivo de los mainframes, era mucho mayor que el del CMOS, que estaba siendo desarrollado por un keiretsu con casos de uso de alto volumen como Sony PlayStation para reducir el costo unitario de las CPU de cada generación. El ECL también era costoso para los usuarios porque la corriente de drenaje de la puerta producía tanto calor que la CPU tenía que empaquetarse en un módulo especial llamado Módulo de Conducción Térmica (TCM [ 45 ] ) que tenía pistones de gas inerte y necesitaba un sistema de refrigeración con agua fría de alto volumen. Sin embargo, la velocidad de la CPU de la tecnología CMOS refrigerada por aire era inicialmente mucho más lenta que la del ECL (en particular, las cajas disponibles de los fabricantes de clones de mainframe Amdahl y Hitachi ). Esto resultaba especialmente preocupante para IBM en el contexto de CICS, ya que casi todos los clientes más importantes de mainframes utilizaban CICS y, para muchos de ellos, constituía la principal carga de trabajo del mainframe.
Para lograr el mismo rendimiento total de transacciones en un Sysplex, sería necesario utilizar varios servidores en paralelo para cada carga de trabajo. Sin embargo, un espacio de direcciones CICS, debido a su modelo de programación de aplicaciones cuasi reentrante, no podía aprovechar más de aproximadamente 1,5 procesadores en un solo servidor a la vez , incluso con el uso de subtareas MVS. Sin un paralelismo mejorado, los clientes tenderían a migrar a la competencia de IBM en lugar de usar Sysplex a medida que aumentaban las cargas de trabajo CICS. Hubo un debate considerable dentro de IBM sobre si el enfoque correcto sería romper la compatibilidad ascendente para las aplicaciones y migrar a un modelo como IMS/DC , que era totalmente reentrante, o extender el enfoque que los clientes habían adoptado para aprovechar al máximo la potencia de un solo mainframe , utilizando la operación multirregión (MRO).
Finalmente, se optó por la segunda vía tras consultar a la comunidad de usuarios de CICS. Esta se opuso rotundamente a romper la compatibilidad con versiones anteriores, dado que en aquel momento debían afrontar el problema del año 2000 y no veían sentido en reescribir y probar millones de líneas de código, principalmente en COBOL, PL/I o lenguaje ensamblador.
La estructura recomendada por IBM para CICS en Sysplex consistía en colocar al menos una Región Propietaria de Terminal CICS en cada nodo de Sysplex, la cual enviaba transacciones a múltiples Regiones Propietarias de Aplicaciones (AOR) distribuidas por todo el Sysplex. Si estas aplicaciones necesitaban acceder a recursos compartidos, utilizaban un almacén de datos que aprovechara Sysplex (como IBM Db2 o IMS/DB ) o concentraban, mediante el envío de funciones, las solicitudes de recursos en Regiones Propietarias de Recursos (ROR) individuales por recurso, incluyendo Regiones Propietarias de Archivos (FOR) para VSAM y Tablas de Datos CICS, Regiones Propietarias de Colas (QOR) para MQ , Datos Transitorios (TD) de CICS y Almacenamiento Temporal (TS) de CICS. Esto preservaba la compatibilidad con las aplicaciones heredadas a costa de una mayor complejidad operativa para configurar y administrar múltiples regiones CICS.
En versiones posteriores, CICS pudo explotar nuevas funcionalidades de explotación de Sysplex en VSAM/RLS, [ 46 ] MQ para zOS [ 47 ] y colocó sus propios recursos de Data Tables, TD y TS en el administrador de recursos compartidos diseñado para Sysplex: la Coupling Facility o CF, eliminando la necesidad de la mayoría de los ROR. La CF proporciona una vista mapeada de los recursos, incluyendo una base de tiempo compartida, grupos de búferes, bloqueos y contadores con asistencia de mensajería de hardware que hizo que compartir recursos a través de Sysplex fuera más eficiente que el sondeo y confiable (utilizando una CF de respaldo semisincronizada para usar en caso de falla).
Para entonces, la línea CMOS contaba con módulos individuales que superaban la potencia disponible en el módulo ECL más rápido, con más procesadores por CPU. Al combinarlos, 32 o más nodos podían escalar hasta dos órdenes de magnitud en potencia total para una sola carga de trabajo. Por ejemplo, en 2002, Charles Schwab operaba un "MetroPlex" que consistía en un par redundante de Sysplexes de mainframe en dos ubicaciones en Phoenix, Arizona, cada una con 32 nodos que ejecutaban una carga de trabajo compartida de CICS/DB/2 para dar soporte al enorme volumen de solicitudes de consulta de clientes web previas a la burbuja de las puntocom .
El cambio hacia la tecnología basada en CMOS, caracterizada por menores costos y mayor escalabilidad, alteró fundamentalmente el panorama competitivo de los sistemas mainframe de IBM. Esta transición tecnológica, sumada a la contracción del mercado y la importante inversión de capital necesaria para replicar arquitecturas propietarias de 64 bits, creó barreras de entrada prohibitivas. En consecuencia, los fabricantes independientes de sistemas mainframe compatibles con IBM se vieron obligados gradualmente a abandonar el mercado. [ 48 ] [ 49 ]
Recuperación/reinicio de CICS
El objetivo de la recuperación/reinicio en CICS es minimizar y, de ser posible, eliminar el daño causado al sistema en línea cuando ocurre una falla, para que se mantenga la integridad del sistema y de los datos. [ 50 ] Si la región CICS se apagó en lugar de fallar, realizará un arranque en caliente aprovechando el punto de control escrito al apagarse. La región CICS también puede forzarse a un arranque en frío, lo que recarga todas las definiciones y borra el registro, dejando los recursos en el estado en que se encuentren.
Según CICS, a continuación se enumeran algunos de los recursos que se consideran recuperables. Si se desea que estos recursos sean recuperables, se deben especificar opciones especiales en las definiciones de CICS correspondientes:
- Archivos VSAM
- Tablas de datos mantenidas por CMT CICS
- TDQ intrapartición
- Cola de almacenamiento temporal en almacenamiento auxiliar
- Mensajes de E/S desde/hacia transacciones en una red VTAM
- Otros recursos de base de datos/colas conectados a CICS que admiten el protocolo de confirmación de dos fases XA (como IMS/DB, Db2, VSAM/RLS)
CICS también ofrece amplias funciones de recuperación/reinicio para que los usuarios establezcan su propia capacidad de recuperación/reinicio en su sistema CICS. Las funciones de recuperación/reinicio más utilizadas incluyen:
- Reversión dinámica de transacciones (DTB)
- Reinicio automático de la transacción
- Recuperación de recursos mediante el registro del sistema
- Recuperación de recursos mediante el uso de un diario
- Reinicio del sistema
- Centro de recuperación prolongada
Componentes
Cada región CICS consta de una tarea principal sobre la que se ejecuta cada transacción, aunque ciertos servicios, como el acceso a datos de IBM Db2, utilizan otras tareas (TCB). Dentro de una región, las transacciones se gestionan de forma cooperativa mediante multitarea : se espera que se comporten correctamente y cedan la CPU en lugar de esperar. Los servicios CICS se encargan de esto automáticamente.
A cada " tarea " o transacción única de CICS se le asigna su propia memoria dinámica al inicio y las solicitudes posteriores de memoria adicional se manejan mediante una llamada al "programa de control de almacenamiento" (parte del núcleo o " kernel " de CICS), que es análogo a un sistema operativo .
Un sistema CICS consta del núcleo en línea , programas de soporte por lotes y servicios de aplicaciones. [ 51 ]
Núcleo
El núcleo original de CICS consistía en una serie de módulos funcionales escritos en lenguaje ensamblador 370 hasta la versión 3:
- Programa de Control de Tareas (KCP)
- Programa de Control de Almacenamiento (PCA)
- Programa de Control de Programas (PCP)
- Programa de control de interrupciones del programa (PIP)
- Programa de Control por Intervalos (PCI)
- Programa de Control de Vertidos (DCP)
- Programa de Control de Terminal (TCP)
- Programa de Control de Archivos (FCP)
- Programa de control de datos transitorios (TDP)
- Programa de Control de Almacenamiento Temporal (TSP)
A partir de la versión 3, el núcleo de CICS se reescribió en una estructura de kernel y dominio utilizando el lenguaje PL/AS de IBM , que se compila en lenguaje ensamblador.
La estructura anterior no garantizaba la separación de responsabilidades, lo que generaba numerosas dependencias entre programas y, por consiguiente, errores a menos que se realizara un análisis exhaustivo del código. La nueva estructura era más modular y, por lo tanto, más robusta, ya que resultaba más fácil modificarla sin afectar su funcionamiento. Los primeros dominios solían crearse con el nombre del programa anterior, pero sin la "P" final. Por ejemplo, Dominio de Control de Programa (DFHPC) o Dominio de Datos Transitorios (DFHTD). El núcleo funcionaba como un conmutador para las solicitudes entre dominios ; inicialmente, esto resultaba costoso para los dominios de uso frecuente (como Trace), pero mediante el uso de macros PL/AS, estas llamadas se integraban en el código sin comprometer el diseño de dominios separados.
En versiones posteriores, se añadieron dominios completamente rediseñados, como el Dominio de Registro DFHLG y el Dominio de Transacciones DFHTM, que sustituyeron al Programa de Control de Diario (JCP).
Programas de apoyo
Además de las funciones en línea, CICS cuenta con varios programas de soporte que se ejecutan como trabajos por lotes. [ 52 ] : pp.34–35
- Preprocesador de lenguaje de alto nivel (macro)
- Traductor de lenguaje de comandos
- Utilidad de volcado : imprime volcados formateados generados por la gestión de volcados de CICS.
- Utilidad de rastreo : formatea e imprime la salida de rastreo de CICS.
- Utilidad de formato de diario : imprime un volcado formateado de la región CICS en caso de error.
Servicios de aplicaciones
Los siguientes componentes de CICS dan soporte al desarrollo de aplicaciones. [ 52 ] : pp.35–37
- El soporte de mapeo básico (BMS) proporciona entrada y salida de terminal independientes del dispositivo.
- Soporte APPC que proporciona soporte para las API LU6.1 y LU6.2 para aplicaciones distribuidas colaborativas que admiten la confirmación en dos fases.
- El programa de intercambio de datos (DIP) ofrece soporte para los dispositivos programables IBM 3770 e IBM 3790.
- La compatibilidad con el modelo 2260 permite que los programas escritos para dispositivos de visualización IBM 2260 se ejecuten en pantallas 3270.
- Programa de interfaz EXEC : el programa auxiliar que convierte las llamadas generadas por comandos en llamadas a funciones de CICS.
EXEC CICS - Funciones integradas : búsqueda en tabla, conversión fonética, verificación de campos, edición de campos, comprobación de bits, formato de entrada, recuperación ponderada.
Pronunciación
Los distintos países tienen pronunciaciones diferentes [ 53 ]
- Dentro de IBM (específicamente Tivoli ) se le conoce como / ˈ k ɪ k s / .
- En Estados Unidos, se suele pronunciar recitando cada letra / ˌ s iː ˌ aɪ ˌ s iː ˈ ɛ s / .
- En Australia, Bélgica, Canadá, Hong Kong, el Reino Unido y algunos otros países, se pronuncia / ˈ k ɪ k s / .
- En Dinamarca, se pronuncia kicks .
- En Finlandia, se pronuncia [ kiks ].
- En Francia, se pronuncia [ se.i.se.ɛs ] .
- En Alemania, Austria y Hungría, se pronuncia [ ˈtsɪks ] y, con menos frecuencia, [ ˈkɪks ] .
- En Grecia, se pronuncia kiks .
- En India, se pronuncia kicks .
- En Irán, se pronuncia kicks .
- En Italia, se pronuncia [ ˈtʃiks ] .
- En Polonia, se pronuncia [ ˈkʲiks ] .
- En Portugal y Brasil, se pronuncia [ ˈsiks ] .
- En Rusia, se pronuncia kiks .
- En Eslovenia, se pronuncia kiks .
- En España, se pronuncia [ ˈθiks ] .
- En Suecia, se pronuncia kicks .
- En Uganda, se pronuncia kicks .
- En Turquía, se pronuncia kiks .
Véase también
- IBM TXSeries (CICS en plataformas distribuidas)
- IBM WebSphere
- IBM 2741
- IBM 2260
- IBM 3270
- OS/360 y sus sucesores
- Mantenimiento de programas fuente en línea II (editor en línea inicial que se ejecuta bajo CICS)
- Instalación de procesamiento de transacciones
- Método de acceso al almacenamiento virtual (VSAM)
Referencias
- ↑ "Disponibilidad general de IBM CICS Transaction Server para z/OS 6.3" . IBM . 8 de julio de 2025. Consultado el 6 de junio de 2025 .
- ↑ "Glosario de CICS Transaction Server para z/OS:T" . IBM Corporation. Archivado del original el 15 de junio de 2021. Consultado el 2 de febrero de 2021 .
- ↑ "Archivos de IBM" . IBM. 23 de enero de 2003. Consultado el 6 de diciembre de 2022 .
- ↑ "Salón de la fama de los mainframes de ESM" . ESM . Consultado el 6 de diciembre de 2022 .
- ↑ Manual de información general del sistema de control de información del cliente (CICS) (PDF) . White Plains, NY : IBM . Diciembre de 1972. GH20-1028-3. Archivado (PDF) del original el 29 de mayo de 2019. Consultado el 1 de abril de 2016 .
- ↑ Fitzgerald, JS (octubre de 2006). Perspectivas sobre los métodos formales en los últimos 25 años . Serie de informes técnicos. Vol. CS-TR-983. Reino Unido: Universidad de Newcastle .
- ↑ Hayes, Ian (1993). «Prefacio a la primera edición». Estudios de caso de especificación. Serie internacional en ciencias de la computación (2.ª ed.). Prentice Hall. ISBN 978-0-13-832544-2.
- ↑ King, Steve (1993). «El uso de Z en la reestructuración de IBM CICS». En Hayes, Ian (ed.). Estudios de caso de especificación (2.ª ed.). Nueva York: Prentice Hall. págs. 202–213 . ISBN 978-0-13-832544-2.
- ↑ "Prof Jim Woodcock, FREng" Archivado el 3 de octubre de 2022 en Wayback Machine . Reino Unido: Universidad de York .
- ↑ Hayes, Ian J.; King, Steve (2021). «11.9 Influencia de la industria en la investigación». En Jones, Cliff B .; Misra, Jayadev (eds.). Teorías de la programación: La vida y obra de Tony Hoare . Association for Computing Machinery . págs. 266–267. ISBN 978-1-4503-8728-6.
- ↑ Warner, Edward (23 de febrero de 1987). "IBM otorga acceso directo a mainframes a programas de PC: las aplicaciones de PC pueden modificar archivos" . InfoWorld . 9 (8): 1. Archivado del original el 24 de diciembre de 2016. Recuperado el 1 de abril de 2016 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.2 lleva la agilidad del servicio, la eficiencia operativa y la habilitación de la nube a un nuevo nivel" . IBM . 7 de abril de 2014. Archivado del original el 15 de junio de 2021. Recuperado el 14 de abril de 2016.
CICS DDM ya no está disponible en IBM y el soporte se suspendió el 31 de diciembre de 2003. CICS DDM ya no está disponible en CICS TS a partir de la versión 5.2.
- ↑ "IBM z/VSE Central Functions Versión 9.2 – z/VSE Versión 5.2" . IBM . 7 de abril de 2014. Archivado del original el 24 de marzo de 2016. Recuperado el 14 de abril de 2016.
La compatibilidad con CICS Distributed Data Management (DDM) se ha estabilizado en CICS TS para VSE/ESA V1.1.1. En una futura versión de CICS TS para z/VSE, IBM tiene previsto dejar de ofrecer compatibilidad con CICS DDM.
- ↑ "IBM CICS Transaction Server para z/VSE V2.1 ofrece mejoras para futuras cargas de trabajo" . IBM . 5 de octubre de 2015. Archivado del original el 24 de abril de 2016. Consultado el 14 de abril de 2016.
CICS Distributed Data Management (CICS/DDM) no es compatible con CICS TS para z/VSE V2.1.
- 1 2 Paul E. Schindler, Jr. (27 de octubre de 1986). "Unicorn apuesta a que CICS es más fácil y barato en una PC". InformationWeek . págs. 41–44 .
- ↑ "Unicorn MicroCICS/RT". Computerworld . 9 de diciembre de 1985. pág. 98.
Familia de ordenadores personales IBM XT/370.
- ↑ "IBM adquiere su CICS". Midrange Systems . 10 de noviembre de 1992. pág. 35.
- ↑ "Anunciado… octubre de 1985… no comenzó las entregas hasta julio de este año."
- ↑ "CICS/CMS" . IBM . Archivado del original el 2 de abril de 2016. Consultado el 1 de abril de 2016 .
- ↑ "Se anuncia la versión 1 del sistema de control de información del cliente/sistema de monitorización conversacional (CICS/CMS) y se prevé su disponibilidad para junio de 1986" . IBM . 15 de octubre de 1985. Archivado del original el 2 de abril de 2016. Consultado el 2 de abril de 2016 .
- ↑ "(CICS/VM) Sistema de control de información del cliente/Máquina virtual" . IBM . Archivado del original el 13 de abril de 2016. Consultado el 1 de abril de 2016 .
- ↑ "Sistema de control de información del cliente/Máquina virtual (CICS/VM)" . IBM . 20 de octubre de 1987. Archivado del original el 2 de abril de 2016. Consultado el 2 de abril de 2016 .
- ↑ Babcock, Charles (2 de noviembre de 1987). "La actualización de VM/SP facilita la migración" . Computerworld . Vol. 21, n.º 44. IDG Enterprise. págs. 25, 31. ISSN 0010-4841 . Archivado del original el 31 de marzo de 2017. Recuperado el 30 de marzo de 2017 .
- 1 2 3 "US - IBM CICS Transaction Server (CICS TS) para OS/390" . IBM. 3 de febrero de 2004. Archivado del original el 7 de mayo de 2022. Recuperado el 7 de mayo de 2022 .
- ↑ "CICS TS para z/OS V2" . IBM. 23 de mayo de 2001. Consultado el 13 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS V2.2 ofrece un gran valor a todos los clientes de CICS" . IBM. 4 de diciembre de 2001. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS V2.3 avanza hacia un modelo de negocio bajo demanda" . IBM. 28 de octubre de 2003. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS V3.1 ofrece una integración mejorada y transformación de aplicaciones" . IBM. 30 de noviembre de 2004. Consultado el 7 de mayo de 2022 .
- ↑ "CICS Transaction Server para z/OS V3.2 ofrece una innovación significativa para la conectividad de aplicaciones" . IBM. 27 de marzo de 2007. Consultado el 7 de mayo de 2022 .
- ↑ "Carta de anuncio de IBM EE. UU." . IBM. 28 de abril de 2009. Consultado el 7 de mayo de 2022 .
- ↑ "Carta de anuncio de IBM EE. UU." . IBM. 5 de abril de 2011 . Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS V5.1 ofrece eficiencia operativa y agilidad de servicio con habilitación en la nube" . IBM. 3 de octubre de 2012. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.2 lleva la agilidad del servicio, la eficiencia operativa y la habilitación de la nube a un nuevo nivel" . IBM. 7 de abril de 2014. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.3 ofrece avances en agilidad de servicio, eficiencia operativa y habilitación de la nube con DevOps" . IBM. 5 de octubre de 2015. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.4 ofrece un servicio de aplicaciones de lenguaje mixto sin precedentes" . IBM. 16 de mayo de 2017. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.5 ofrece compatibilidad con Node.js y mejoras adicionales en CICS Explorer, la administración de sistemas y la seguridad" . IBM. 2 de octubre de 2018. Consultado el 7 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.6 ofrece mejoras significativas en la experiencia del desarrollador, la seguridad, la resiliencia y la gestión" . IBM. 7 de abril de 2020. Consultado el 6 de mayo de 2022 .
- ↑ "IBM CICS Transaction Server para z/OS, 6.1 ofrece mejoras significativas en las áreas de productividad del desarrollador, seguridad y administración" . IBM. 5 de abril de 2022. Consultado el 6 de mayo de 2022 .
- ↑ "Disponibilidad general de IBM CICS Transaction Server para z/OS 6.2" . IBM. 9 de abril de 2024. Consultado el 23 de septiembre de 2024 .
- ↑ IBM Corporation (1972). Manual de referencia del programador de aplicaciones del sistema de control de información del cliente (CICS) (PDF) . Archivado (PDF) del original el 29 de mayo de 2019. Recuperado el 4 de enero de 2016 .
- ↑ "Command/CICS" . IBM . Archivado del original el 15 de junio de 2021. Consultado el 22 de abril de 2018 .
- ↑ "IBM CICS Transaction Server para z/OS, V5.6 ofrece mejoras significativas en la experiencia del desarrollador, la seguridad, la resiliencia y la administración" . 7 de abril de 2020. Archivado del original el 10 de julio de 2020. Consultado el 9 de julio de 2020 .
- ↑ IBM Corporation. "Soporte básico para mapeo" . Centro de información de CICS .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "Glosario de CICS Transaction Server" . CICS Transaction Server para z/OS V3.2 . Boulder, CO : IBM Information Center. 13 de septiembre de 2010. Archivado del original el 1 de septiembre de 2013. Consultado el 12 de diciembre de 2010 .
- ↑ "Archivos de IBM: Módulo de conducción térmica" . www-03.ibm.com . 23 de enero de 2003. Archivado del original el 20 de julio de 2016. Consultado el 1 de junio de 2018 .
- ↑ "IMS Context". IMS . Chichester, Reino Unido: John Wiley & Sons, Ltd. 2009. págs. 1–39 . doi : 10.1002/9780470750001.ch1 . ISBN 9780470750001.
- ↑ "IBM Knowledge Center MQ para zOS" . IBM. 11 de marzo de 2014. Archivado del original el 7 de agosto de 2016. Consultado el 1 de junio de 2018 .
- ↑ Vijayan, Jaikumar. "Amdahl abandona el negocio de los mainframes" . Computerworld . Archivado del original el 3 de noviembre de 2018. Consultado el 1 de junio de 2018 .
- ↑ "Hitachi abandona el hardware de mainframes pero colaborará con IBM en z Systems" . Archivado del original el 13 de junio de 2018. Consultado el 1 de junio de 2018 .
- ↑ "Centro de conocimiento" . Boulder . IBM. Archivado del original el 15 de junio de 2021. Consultado el 2 de febrero de 2021 .
- ↑ IBM Corporation (1975). Manual de referencia del programador del sistema de control de información del cliente (CICS) (PDF) . Archivado (PDF) del original el 17 de febrero de 2011. Recuperado el 21 de noviembre de 2012 .
- 1 2 IBM Corporation (1977). Sistema de control de información del cliente/almacenamiento virtual (CICS/VS) Versión 1, Release 3 Manual de introducción a la lógica del programa (PDF) . Archivado del original (PDF) el 17 de febrero de 2011. Recuperado el 24 de noviembre de 2012 .
- ↑ "CICS – Una introducción" (PDF) . IBM Corporation. 8 de julio de 2004. Archivado del original (PDF) el 29 de agosto de 2021. Consultado el 20 de abril de 2014 .
Enlaces externos
- Sitio web oficial
- ¿Por qué elegir CICS Transaction Server para nuevos proyectos de TI? – Documento técnico de IBM CICS
- IBM Software – CICS – 35.º aniversario (2004) en Wayback Machine (archivado el 4 de febrero de 2009)
- Foro de soporte para la programación de CICS
- Sitio web de la comunidad de usuarios de CICS para noticias, anuncios y debates relacionados con CICS. Archivado el 5 de agosto de 2008 en Wayback Machine.
- Sitio web de Bob Yelavich centrado en CICS. (Este sitio utiliza marcos, pero en pantallas de alta resolución el marco izquierdo, que contiene el índice del sitio, puede estar oculto. Desplácese hacia la derecha dentro del marco para ver su contenido). Disponible en Wayback Machine (archivado el 5 de febrero de 2005).
- Software programado en lenguaje ensamblador
- Historia de la interacción humano-computadora
- Sistemas operativos para mainframes de IBM
- Software para mainframes de IBM
- Software de IBM
- Middleware
- Interacción multimodal
- Procesamiento de transacciones
- notación Z