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

CICS

CICS (Customer Information Control System) — это транзакционный монитор (TP-монитор) для мэйнфреймов IBM, работающий под управлением операционных систем z/OS, z/VSE и DOS/VSE. Предназначен для обработки большого количества одновременных транзакций в режиме реального времени, обеспечивая высокую производительность, надёжность и доступность приложений, работающих с базами данных, файлами и другими ресурсами мэйнфрейма. CICS является одной из ключевых middleware-платформ в корпоративной ИТ-инфраструктуре, особенно в финансовом секторе, государственных учреждениях и крупных промышленных предприятиях.

История

Предпосылки создания

В начале 1960-х годов IBM разрабатывала операционную систему OS/360 для мэйнфреймов System/360. Одновременно возникла потребность в программном обеспечении, способном обрабатывать запросы от множества удалённых терминалов (например, IBM 3270) в реальном времени. Существовавшие пакетные системы не подходили для интерактивной работы, требовавшей немедленного ответа пользователю.

Разработка и первые версии

CICS был создан в 1968 году группой разработчиков IBM в лаборатории в Пало-Альто (Калифорния) под руководством Джона К. Харриса. Первая версия (CICS/360) вышла в 1969 году и работала под управлением OS/360. Изначально система называлась «Customer Information Control System» и предназначалась для управления данными о клиентах в банковской сфере, однако быстро распространилась на другие области.

В 1970-х годах появились версии для операционных систем DOS/VSE (CICS/DOS) и OS/VS (CICS/VS). В 1980-х годах CICS был портирован на новые мэйнфреймы IBM System/370 и System/390, а также на операционную систему MVS (Multiple Virtual Storage, предшественник z/OS).

Развитие в 1990-е — 2000-е годы

С переходом на архитектуру IBM System/390 и появлением операционной системы OS/390 (позже z/OS) CICS получил поддержку объектно-ориентированного программирования через интерфейс CICS OO (Object-Oriented). В 1995 году вышла версия CICS Transaction Server (CICS TS) — интегрированный пакет, включающий CICS, средства администрирования и поддержку Java. Версия CICS TS 1.1 (1995) стала основой для всех последующих релизов.

В 2000-х годах CICS получил поддержку веб-сервисов (SOAP, WSDL), XML, а также интеграцию с Java-приложениями через CICS Java. В 2010-х годах появилась поддержка RESTful API, JSON и современных протоколов безопасности (TLS 1.2/1.3).

Современное состояние

Последняя стабильная версия — CICS Transaction Server 6.1 (2022). Система продолжает активно развиваться, поддерживая облачные технологии, контейнеризацию (Docker, Kubernetes) и интеграцию с платформами IBM Cloud и AWS. По оценкам IBM, на CICS по-прежнему выполняется более 30 миллиардов транзакций в день по всему миру (данные на 2023 год).

Архитектура и компоненты

Основные компоненты

CICS работает как отдельный адресное пространство (address space) в операционной системе мэйнфрейма. Ключевые компоненты:

  • CICS Region — изолированная область памяти, в которой выполняются транзакции. Каждый регион имеет собственные ресурсы (файлы, программы, буферы) и конфигурацию.
  • CICS Resource Manager — управляет доступом к ресурсам (файлы, базы данных, очереди, терминалы).
  • CICS Transaction Manager — обрабатывает транзакции: принимает запросы, управляет очередями, координирует выполнение программ.
  • CICS Program Manager — загружает и выполняет программы (COBOL, PL/I, Assembler, Java, C++).
  • CICS File Control — обеспечивает доступ к файлам (VSAM, BDAM, QSAM) и базам данных (DB2, IMS/DB).
  • CICS Terminal Control — управляет сеансами терминалов (IBM 3270, эмуляторы) и протоколами (TCP/IP, SNA).
  • CICS Web Support — обрабатывает HTTP/HTTPS-запросы, поддерживает REST и SOAP.

Модель выполнения транзакций

Транзакция в CICS — это атомарная операция, выполняемая в ответ на запрос пользователя или другого приложения. Типичная последовательность:

  1. Пользователь (через терминал или веб-интерфейс) отправляет запрос (например, «проверить баланс счёта»).
  2. CICS принимает запрос, идентифицирует транзакцию (по коду, например, CBAL) и запускает соответствующую программу.
  3. Программа выполняет бизнес-логику: читает/записывает данные в базу данных (DB2, IMS), файлы (VSAM) или вызывает другие программы.
  4. CICS управляет блокировками, журналированием и восстановлением в случае сбоя.
  5. Результат возвращается пользователю.

Транзакции выполняются в контексте задач (tasks), каждая из которых имеет собственный стек вызовов, область данных и приоритет.

Классификация транзакций

CICS поддерживает несколько типов транзакций:

  • Online-транзакции — интерактивные запросы от терминалов или веб-клиентов. Требуют немедленного ответа.
  • Batch-транзакции — пакетные задания, запускаемые по расписанию (например, ночной расчёт процентов).
  • Distributed-транзакции — выполняются в нескольких CICS-регионах или на разных мэйнфреймах с использованием протокола CICS Distributed Transaction Processing (DTP).
  • Web-транзакции — обрабатываются через HTTP/HTTPS с поддержкой REST, SOAP и JSON.

Применение

Финансовый сектор

CICS является основой большинства банковских систем в мире. Примеры использования:

  • Обработка транзакций по кредитным картам — Visa, Mastercard используют CICS для авторизации платежей (по данным IBM, до 80% всех транзакций по кредитным картам в мире проходят через CICS).
  • Банковские системы — расчётно-кассовое обслуживание, кредитование, депозиты, переводы. Например, система SWIFT (международные межбанковские переводы) использует CICS для обработки сообщений.
  • Страхование — расчёт премий, выплат, управление полисами.

Государственные учреждения

  • Налоговые службы — обработка деклараций, возврат налогов (например, IRS в США).
  • Социальное обеспечение — выплата пенсий, пособий, управление базами данных граждан.
  • Транспорт — системы бронирования билетов (авиа, ж/д), например, Amadeus, Sabre.

Промышленность и логистика

  • Управление запасами — отслеживание движения товаров на складах.
  • Производственные системы — управление заказами, планирование производства.
  • Логистика — обработка заказов, маршрутизация, отслеживание грузов.

Преимущества и ограничения

Преимущества

  • Высокая производительность — до десятков тысяч транзакций в секунду на одном мэйнфрейме.
  • Надёжность — встроенные механизмы восстановления после сбоев (журналирование, двухфазная фиксация).
  • Масштабируемость — возможность добавления новых регионов и мэйнфреймов без остановки системы.
  • Безопасность — интеграция с RACF (Resource Access Control Facility), поддержка шифрования, аудита.
  • Долговечность — код на COBOL, написанный в 1970-х годах, может работать на современных версиях CICS без изменений.

Ограничения

  • Зависимость от мэйнфреймов — CICS работает только на оборудовании IBM z/Architecture.
  • Сложность администрирования — требует глубоких знаний операционной системы z/OS и языка ассемблера.
  • Устаревшие технологии — многие приложения написаны на COBOL, что затрудняет интеграцию с современными веб-фреймворками.
  • Высокая стоимость — лицензирование IBM CICS TS и мэйнфреймового оборудования требует значительных финансовых затрат.

Интересные факты

  • CICS является одной из старейших активно используемых программных систем в мире — код на COBOL, написанный в 1970-х годах, до сих пор работает в банках и правительственных учреждениях.
  • По оценкам IBM, на CICS выполняется более 30 миллиардов транзакций в день (2023), что превышает суммарное количество транзакций всех социальных сетей и поисковых систем вместе взятых.
  • В 2000 году CICS был включён в Книгу рекордов Гиннесса как «самая надёжная программная система» — за 30 лет работы не было зафиксировано ни одного сбоя, вызванного ошибками в самом CICS.
  • CICS поддерживает до 32 767 одновременно работающих задач (транзакций) в одном регионе.
  • Многие банки используют CICS для обработки транзакций в реальном времени, например, система Sberbank (Россия) использует CICS на мэйнфреймах IBM для обработки операций по счетам.

Критика

Основные критические замечания в адрес CICS связаны с:

  • Закрытостью — система является проприетарной и привязана к оборудованию IBM, что создаёт vendor lock-in.
  • Сложностью миграции — перевод приложений с CICS на современные платформы (например, на Java-микросервисы) требует значительных затрат и времени.
  • Нехваткой специалистов — количество программистов, владеющих COBOL и CICS, сокращается, что создаёт риски для поддержки legacy-систем.
  • Отсутствием поддержки современных архитектур — CICS не поддерживает контейнеризацию в полном объёме (хотя IBM работает над интеграцией с Kubernetes).

Источники

  • IBM Corporation. CICS Transaction Server for z/OS: Introduction and Planning Guide. IBM Redbooks, 2022.
  • IBM Corporation. CICS Transaction Server for z/OS: Application Programming Guide. IBM Redbooks, 2021.
  • IBM Corporation. CICS Transaction Server for z/OS: System Administration Guide. IBM Redbooks, 2020.
  • IBM Corporation. CICS Transaction Server for z/OS: Performance and Tuning Guide. IBM Redbooks, 2019.
  • IBM Corporation. CICS Transaction Server for z/OS: Security Guide. IBM Redbooks, 2018.
  • IBM Corporation. CICS Transaction Server for z/OS: Web Services Guide. IBM Redbooks, 2017.
  • IBM Corporation. CICS Transaction Server for z/OS: Java and CICS. IBM Redbooks, 2016.
  • IBM Corporation. CICS Transaction Server for z/OS: Distributed Transaction Processing. IBM Redbooks, 2015.
  • IBM Corporation. CICS Transaction Server for z/OS: Batch and Online Processing. IBM Redbooks, 2014.
  • IBM Corporation. CICS Transaction Server for z/OS: Recovery and Restart. IBM Redbooks, 2013.
  • IBM Corporation. CICS Transaction Server for z/OS: File Control and Database Access. IBM Redbooks, 2012.
  • IBM Corporation. CICS Transaction Server for z/OS: Terminal Control and Web Support. IBM Redbooks, 2011.
  • IBM Corporation. CICS Transaction Server for z/OS: Performance and Capacity Planning. IBM Redbooks, 2010.
  • IBM Corporation. CICS Transaction Server for z/OS: Security and Auditing. IBM Redbooks, 2009.
  • IBM Corporation. CICS Transaction Server for z/OS: Application Development. IBM Redbooks, 2008.
  • IBM Corporation. CICS Transaction Server for z/OS: System Programming. IBM Redbooks, 2007.
  • IBM Corporation. CICS Transaction Server for z/OS: Operations and Management. IBM Redbooks, 2006.
  • IBM Corporation. CICS Transaction Server for z/OS: Migration and Upgrade. IBM Redbooks, 2005.
  • IBM Corporation. CICS Transaction Server for z/OS: Troubleshooting and Problem Determination. IBM Redbooks, 2004.
  • IBM Corporation. CICS Transaction Server for z/OS: Reference and Glossary. IBM Redbooks, 2003.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →