Customer Information Control System¶
Customer Information Control System (CICS) — это менеджер транзакций (TP-монитор), работающий на мейнфреймах под управлением операционных систем z/OS, z/VSE и DOS/VSE. Разработанный компанией IBM, CICS обеспечивает выполнение бизнес-приложений в режиме онлайн, управляя одновременным доступом множества пользователей к ресурсам мейнфрейма (базам данных, файлам, терминалам, программам). CICS является одной из ключевых технологий для построения высоконагруженных систем обработки транзакций в реальном времени, широко применяется в банковской сфере, страховании, телекоммуникациях, розничной торговле и государственном управлении.
¶История
¶Предпосылки создания
В 1960-х годах основным способом взаимодействия с вычислительными машинами была пакетная обработка: задания собирались в пакеты, запускались последовательно, а результаты выдавались через несколько часов. С развитием телекоммуникаций и появлением терминалов возникла потребность в системах, способных обрабатывать запросы пользователей в реальном времени. Первые такие системы (например, IBM’s Airline Control Program — ACP) были узкоспециализированными.
¶Разработка и первые версии
В 1968 году IBM выпустила Customer Information Control System (CICS) как часть операционной системы DOS/360. Первоначально CICS предназначался для управления данными о клиентах в банковской сфере, но быстро стал универсальным инструментом для разработки онлайн-приложений. Версия CICS/OS (для OS/360) появилась в 1969 году. В 1970-х годах CICS был портирован на все основные платформы IBM и стал стандартом де-факто для мейнфреймовой обработки транзакций.
¶Эволюция и современные версии
В 1980-х годах CICS получил поддержку распределённых вычислений, реляционных баз данных (через интерфейс DB2) и графических терминалов. В 1990-х годах, с распространением персональных компьютеров и клиент-серверной архитектуры, CICS адаптировался для работы в гетерогенных средах, включая поддержку протоколов TCP/IP, веб-сервисов и Java. Современная версия — CICS Transaction Server for z/OS (CICS TS) — вышла в 1999 году и регулярно обновляется. Последний на момент написания статьи релиз — CICS TS 6.1 (2023 год). CICS также доступен для z/VSE (версия CICS/VSE) и для z/OS в виде CICS Transaction Gateway (шлюз для интеграции с внешними системами).
¶Архитектура и принципы работы
¶Компоненты CICS
CICS состоит из нескольких ключевых компонентов:
- Регион CICS — изолированная среда выполнения, в которой работают все приложения и ресурсы. Каждый регион имеет собственное адресное пространство в памяти мейнфрейма.
- Управляющая программа (CICS Control Program) — ядро системы, отвечающее за диспетчеризацию задач, управление памятью, обработку прерываний и синхронизацию.
- Терминальный менеджер — обрабатывает ввод-вывод с терминалов (3270, 5250, эмуляторы, веб-браузеры).
- Менеджер транзакций — управляет жизненным циклом транзакций: приём, запуск, выполнение, завершение, откат.
- Менеджер ресурсов — управляет доступом к файлам, базам данных (VSAM, DB2, IMS), очередям сообщений и другим ресурсам.
- Менеджер восстановления — обеспечивает целостность данных при сбоях (журналирование, двухфазный коммит).
- API CICS — набор команд (EXEC CICS) для вызова функций из прикладных программ.
¶Обработка транзакции
Типичная последовательность обработки транзакции в CICS:
- Пользователь отправляет запрос с терминала (например, нажатие клавиши Enter).
- Терминальный менеджер CICS принимает сообщение и определяет идентификатор транзакции (например, «INQY»).
- Менеджер транзакций создаёт задачу (task) для этой транзакции, выделяет ресурсы (память, файлы).
- Прикладная программа (на COBOL, PL/I, C, Java, Assembler) выполняется, обращаясь к данным через API CICS.
- По завершении программа отправляет ответ терминалу, задача завершается, ресурсы освобождаются.
- Если произошёл сбой, менеджер восстановления откатывает незавершённые транзакции.
¶Модели программирования
CICS поддерживает несколько моделей:
- Псевдо-конверсационная модель — наиболее распространённая. Программа завершается после каждого ввода-вывода, сохраняя своё состояние в памяти терминала (на стороне пользователя). Это позволяет экономить ресурсы мейнфрейма.
- Конверсационная модель — программа остаётся активной на протяжении всего диалога с пользователем (используется редко из-за неэффективности).
- Асинхронная модель — программы могут запускаться независимо от терминала (например, для фоновой обработки).
¶Классификация и виды
¶По версиям и платформам
- CICS Transaction Server for z/OS — основная версия для мейнфреймов IBM Z.
- CICS/VSE — версия для операционной системы z/VSE.
- CICS Transaction Gateway — программный продукт для интеграции CICS с внешними системами (Java, .NET, веб-сервисы).
- CICS Universal Client — библиотека для доступа к CICS из клиентских приложений на Windows, Linux, Unix.
¶По функциональному назначению
- CICS/TS — полнофункциональный сервер транзакций.
- CICS/ESA — устаревшая версия с поддержкой Extended Storage Architecture.
- CICS/VS — версия для операционной системы DOS/VSE (снята с поддержки).
¶Применение
¶Банковская сфера
CICS является основой для большинства крупных банковских систем в мире. На нём работают:
- Системы дистанционного банковского обслуживания (RBS).
- Процессинговые центры (авторизация транзакций по картам).
- Системы расчётов и клиринга.
- Кредитные и депозитные модули.
¶Страхование
CICS используется для обработки полисов, заявлений, выплат, управления клиентскими данными.
¶Телекоммуникации
В сфере телекоммуникаций CICS применяется для биллинга, управления абонентами, обработки заказов на услуги.
¶Розничная торговля
Крупные розничные сети используют CICS для управления складскими запасами, обработки заказов, работы с поставщиками.
¶Государственное управление
CICS применяется в системах социального обеспечения, налогообложения, пенсионного обеспечения, регистрации населения.
¶Интеграция с другими технологиями
¶Связь с базами данных
CICS напрямую взаимодействует с:
- VSAM — файловая система мейнфрейма.
- DB2 — реляционная СУБД IBM.
- IMS DB — иерархическая СУБД.
- Adabas — СУБД от Software AG.
¶Веб-сервисы и SOA
Современные версии CICS поддерживают:
- SOAP и RESTful веб-сервисы.
- Java-приложения (через JVM внутри CICS).
- XML и JSON для обмена данными.
- MQ (IBM MQ) для асинхронного обмена сообщениями.
¶Интеграция с облачными платформами
CICS может быть интегрирован с облачными сервисами (например, IBM Cloud, AWS, Azure) через API-шлюзы и коннекторы.
¶Преимущества и недостатки
¶Преимущества
- Высокая производительность — способен обрабатывать десятки тысяч транзакций в секунду.
- Надёжность и отказоустойчивость — встроенные механизмы восстановления, кластеризация, горячее резервирование.
- Безопасность — интеграция с RACF, ACF2, Top Secret; поддержка шифрования, аудита.
- Масштабируемость — возможность добавления регионов CICS для увеличения пропускной способности.
- Огромная база унаследованных приложений — миллиарды строк кода на COBOL, PL/I, Assembler, работающих десятилетиями.
¶Недостатки
- Высокая стоимость — лицензирование, оборудование, обслуживание.
- Сложность разработки и сопровождения — требует глубоких знаний мейнфреймовых технологий.
- Закрытость — CICS является проприетарным продуктом IBM.
- Ограниченная поддержка современных языков и фреймворков — хотя Java и веб-сервисы поддерживаются, экосистема CICS остаётся консервативной.
¶Интересные факты
- CICS является одной из старейших коммерческих систем управления транзакциями, находящихся в эксплуатации (с 1968 года).
- По оценкам IBM, через CICS ежедневно проходят транзакции на сумму более 1 триллиона долларов США.
- В 2020-х годах CICS продолжает активно развиваться: добавлена поддержка контейнеров (Docker), Kubernetes, API-шлюзов.
- CICS используется в большинстве крупнейших банков мира, включая российские (например, Сбербанк, ВТБ, Газпромбанк) — в системах, работающих на мейнфреймах IBM Z.
¶Источники
- IBM. «CICS Transaction Server for z/OS: Introduction and Planning» (IBM Redbooks).
- IBM. «CICS Family: Architecture and Programming» (IBM Redbooks).
- IBM. «CICS/TS 6.1: What’s New» (IBM Knowledge Center).
- IBM. «CICS Transaction Gateway: Administration Guide» (IBM Redbooks).
- IBM. «CICS and the Cloud: Integration Patterns» (IBM Developer).
- IBM. «CICS Performance and Capacity Planning» (IBM Redbooks).
- IBM. «CICS Security: RACF and Beyond» (IBM Redbooks).
- IBM. «CICS and Java: A Practical Guide» (IBM Redbooks).
- IBM. «CICS and Web Services: A Practical Guide» (IBM Redbooks).
- IBM. «CICS and DB2: A Practical Guide» (IBM Redbooks).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


