Открыть сервис

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:

  1. Пользователь отправляет запрос с терминала (например, нажатие клавиши Enter).
  2. Терминальный менеджер CICS принимает сообщение и определяет идентификатор транзакции (например, «INQY»).
  3. Менеджер транзакций создаёт задачу (task) для этой транзакции, выделяет ресурсы (память, файлы).
  4. Прикладная программа (на COBOL, PL/I, C, Java, Assembler) выполняется, обращаясь к данным через API CICS.
  5. По завершении программа отправляет ответ терминалу, задача завершается, ресурсы освобождаются.
  6. Если произошёл сбой, менеджер восстановления откатывает незавершённые транзакции.

Модели программирования

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 →