CICS

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

Продукты семейства CICS разработаны в качестве промежуточного ПО и поддерживают высокую скорость и объём обработки онлайн-транзакций. Транзакция CICS — это единица обработки, инициированная одним запросом и способная повлиять на одно или несколько объектов[1]. Как правило, такая обработка интерактивна (ориентирована на экранные формы), но поддерживаются и фоновые транзакции.

Флагманом семейства является CICS Transaction Server (CICS TS), который предоставляет сервисы, расширяющие или заменяющие функции операционной системы. Эти сервисы зачастую более эффективны и просты в использовании для программистов, особенно при организации взаимодействия с различными терминалами.

Приложения для CICS могут быть написаны на различных языках программирования и используют языковые расширения CICS для доступа к ресурсам, например, к файлам, базам данных, терминалам, а также для вызова веб‑сервисов. CICS управляет всем ходом транзакции — если по какой-либо причине её часть завершена с ошибкой, все изменения могут быть откатаны.

Наибольшего распространения CICS TS достиг среди крупных финансовых организаций, таких как банки и страховые компании, а также среди множества компаний из Fortune 500 и государственных структур; однако его используют и малые предприятия. CICS часто работает в фоновом режиме, обеспечивая работу банковских приложений, систем банкоматов, индустриальных систем управления производством, страховых решений и других интерактивных программ.

Недавние усовершенствования CICS TS включают повышение удобства для разработчиков за счёт поддержки различных API, фреймворков, редакторов и инструментов сборки, а также улучшения в области безопасности, отказоустойчивости и управления. В более ранних версиях CICS TS была добавлена поддержка веб‑сервисов, Java, обработки событий, лент новостей Atom и REST-интерфейсов.

Общие сведения
CICS
Тип монитор телепроцессинга
Разработчик IBM
Написана на язык ассемблера
Операционные системы z/OS, z/VSE
Первый выпуск 8 июля 1969
Аппаратная платформа IBM Z
Последняя версия CICS Transaction Server V6.1 (17 июня 2022)
Лицензия Проприетарная
Сайт ibm.com/it-infrastructur…

История

undefined

CICS был предшественником однопоточной системы обработки транзакций IBM MTCS. Позднее был создан мост MTCS‑CICS, позволявший исполнять транзакции MTCS под управлением CICS без изменений приложений.

IBM начала разработку Customer Information Control System (CICS) в кооперации с Michigan Bell в 1966 году[2]. Идею онлайн-системы предложил инженер IBM Бен Риггинс во время работы в Virginia Electric Power Co[3].

Первоначальная разработка CICS велась в США в центре IBM в Des Plaines, начиная с 1966 года, чтобы удовлетворить нужды коммунальной отрасли. Первый продукт CICS был анонсирован в 1968 году под названием Public Utility Customer Information Control System (PU‑CICS). Вскоре стало очевидно, что система подходит для самых разных сфер, и с выпуском первой коммерческой версии 8 июля 1969 года из названия убрали «Public Utility», вскоре после выпуска IMS — ещё одной крупной СУБД от IBM.

undefined

Несколько лет разработки CICS велись в Пало-Альто; поначалу продукт считался менее приоритетным по сравнению с IMS, на который IBM делала ставку. Однако потребности клиентов обеспечили дальнейшую судьбу CICS — когда в 1974 году было решено прекратить разработку в пользу IMS, работу над CICS передали в британскую лабораторию IBM Hursley, чья команда только что закончила проект по компилятору PL/I. Основная часть работ ведётся в Hursley и по сей день, при участии лабораторий в Индии, Китае, России, Австралии и США.

Раннее развитие

Изначально CICS поддерживал только несколько терминалов IBM, таких как IBM 2741 (1965) и видео-терминалы IBM 2260 (1964), IBM 3270 (1972).

В эпоху ранних мэйнфреймов IBM программное обеспечение чаще всего распространялось бесплатно как неотъемлемая часть аппаратного комплекса. Операционная система OS/360 и такие системы, как CICS, были «открыты» для клиентов задолго до появления движения open source. Программисты из различных компаний (например, Standard Oil of Indiana (Amoco)) активно участвовали в доработке CICS.

Команда из Des Plaines пыталась добавить поддержку популярных не‑IBM-терминалов (например, Teletype Model 33), но из‑за ограниченного бюджета не могли позволить себе тестовое оборудование. Руководство IBM считало будущее за пакетной обработкой на перфокартах и выделяло минимальные средства на интерактивные системы, несмотря на большой спрос от коммунальных служб, банков и платёжных организаций, которым требовался инструмент для оперативного обновления клиентских данных.

Когда CICS был поставлен Amoco с поддержкой Teletype Model 33 ASR, это привело к сбою всей системы OS/360. Большая часть программы управления терминалами (TCP) и части OS/360 были переписаны Amoco в Талсе, Оклахома, и затем бесплатно переданы IBM для распространения.

По разным оценкам, всего за несколько лет CICS принёс IBM более 60 миллиардов долларов дополнительного дохода от аппаратного обеспечения и стал самым коммерчески успешным мэйнфрейм-продуктом IBM.

В 1972 году CICS существовал в трёх вариантах: DOS-ENTRY (номер 5736-XX6) для минимальных конфигураций на DOS/360, DOS-STANDARD (5736-XX7) для DOS/360 с бо́льшим объёмом памяти, и OS-STANDARD V2 (5734-XX7) для крупных машин на OS/360[4].

В начале 1970-х ключевые разработчики, включая Бена Риггинса, переехали в Калифорнию и продолжили работу в Пало-Альто. Руководство IBM не осознавало значимости ПО до появления требований по разделению поставок оборудования и программного обеспечения. В 1980 году IBM отказалась принять предложение Риггинса о создании собственной ОС и однокристального микропроцессора на базе EBCDIC для IBM PC, вместо чего был выбран несовместимый Intel с ориентированным на ASCII Microsoft DOS.

undefined

Из-за ограниченных ресурсов каждый клиент был вынужден собирать исходные коды всех модулей системы CICS после заполнения параметров, определяющих условия ассемблирования (процесс CICSGEN), чтобы исключить неиспользуемые компоненты.

Популярность CICS объясняется эффективной реализацией, многопоточной архитектурой и простотой разработки транзакционных приложений, особенно в условиях высокой стоимости аппаратных ресурсов и благодаря вкладу клиентов — в том числе в отладку и расширение функциональности.

Использование Z-нотации

Часть кода CICS была формализована с помощью Z-нотации в 1980-90 годы в сотрудничестве с Оксфордским университетом под руководством Тони Хоара. За это был получен Королевский технический приз[5].

CICS как распределённый файловый сервер

В 1986 году IBM добавила поддержку протокола DDM, что позволило создавать и управлять файлами на удалённых системах, подключённых к CICS/MVS и CICS/VSE[6].

В новых версиях поддержка DDM была удалена: с версии 5.2 CICS для z/OS DDM больше не поддерживается[7], а в CICS для z/VSE поддержка стабилизирована на уровне V1.1.1 и планируется снятие в будущих релизах[8].

CICS и Всемирная паутина

Версия 1.2 CICS Transaction Server впервые представила собственный интерфейс HTTP, а в версии 1.3 были доработаны Web API и Document API для более эффективного взаимодействия с браузерами. В версиях 2.1-2.3 появился акцент на CORBA и EJB, которые более тесно интегрировали CICS с распределёнными компонентами. Позднее эти технологии были заменены на среду для Java и внедрение web-контейнера WebSphere Liberty, полностью интегрированного с CICS.

Версия 3.1 добавила собственную реализацию SOAP и WSDL для интеграции программ CICS с внешними корпоративными приложениями. В следующих версиях были доработки по поддержке REST, JSON и Atom, а также появились наборы инструментов для трансляции традиционных программ (например, на COBOL) в веб-сервисы с минимальными изменениями.

Многие партнёрские продукты, такие как CICS Transaction Gateway, позволяют взаимодействовать с CICS из приложений на Java или фильтровать трафик с помощью устройств IBM DataPower.

Современные версии CICS поддерживают интеграцию с различными внешними и внутренними активами предприятия, могут управлять REST API, использовать среды Liberty и внедрять самые свежие веб‑технологии.

MicroCICS

В январе 1985 года консалтинговая компания, работавшая с такими клиентами, как Hilton, FTD Florists, Amtrak и Budget Rent-a-Car, представила MicroCICS[9] — решение для IBM XT/370 и IBM AT/370[10].

CICS Family

Обычно под CICS подразумевается CICS Transaction Server, но CICS Family включает портфель серверов транзакций, коннекторов (например, CICS Transaction Gateway) и инструментария для администрирования.

Версия CICS для распределённых платформ — это IBM TXSeries: система промежуточного ПО, поддерживающая C, C++, COBOL, Java и PL/I в облачных и традиционных средах; доступна для AIX, x86-Linux, Windows, Solaris и HP-UX[11]. Кроме того, CICS ранее выпускался для IBM i и OS/2.

Для VM/CMS существовало две версии CICS (CICS/CMS и CICS/VM), обе впоследствии сняты с поддержки[12].[13]

Инструменты CICS

Для управления, анализа производительности и развёртывания систем CICS используются специализированные инструменты (CICS Tools), например: Interdependency Analyzer, Deployment Assistant, Performance Analyzer и Configuration Manager for z/OS.

Выпуски

История версий CICS Transaction Server for z/OS
Версия Дата анонса Дата релиза Конец поддержки Ключевые изменения Примечания
1.1 10 сентября 1996 8 ноября 1996 31 декабря 2001 [14]
1.2 9 сентября 1997 24 октября 1997 31 декабря 2002
1.3 8 сентября 1998 26 марта 1999 30 апреля 2006
2.1 13 марта 2001 30 марта 2001 30 июня 2002 [15]
2.2 4 декабря 2001 25 января 2002 30 апреля 2008 [16]
2.3 28 октября 2003 19 декабря 2003 30 сентября 2009 [17]
3.1 30 ноября 2004 25 марта 2005 31 декабря 2015 [18]
3.2 27 марта 2007 29 июня 2007 31 декабря 2015 [19]
4.1 28 апреля 2009 26 июня 2009 30 сентября 2017 [20]
4.2 5 апреля 2011 24 июня 2011 30 сентября 2018 [21]
5.1 3 октября 2012 14 декабря 2012 1 июля 2019 [22]
5.2 7 апреля 2014 13 июня 2014 31 декабря 2020 Поддержка Spring Boot, Jakarta EE 8, Node.js 12, новая JCICSX API, улучшения безопасности [23]
5.3 5 октября 2015 11 декабря 2015 31 декабря 2021 [24]
5.4 16 мая 2017 16 июня 2017 31 декабря 2023 [25]
5.5 2 октября 2018 14 декабря 2018 30 сентября 2025 Поддержка Node.js, новые возможности CICS Explorer, усилена безопасность [26]
5.6 7 апреля 2020 12 июня 2020 Улучшена поддержка Java, улучшена безопасность, производительность и управление [27]
6.1 5 апреля 2022 17 июня 2022 Поддержка Java 11, Jakarta EE 9.1, MicroProfile 5, Node.js 12, TLS 1.3, развитие безопасности [28]
6.2 9 апреля 2024 14 июня 2024 [29]

Примечания

  1. Глоссарий CICS Transaction Server for z/OS:T (англ.). IBM. IBM Corporation. Дата обращения: 2 февраля 2021. Архивировано 15 июня 2021 года.
  2. Архив IBM. IBM (23 января 2003). Дата обращения: 6 декабря 2022. Архивировано 4 января 2019 года.
  3. ESM Mainframe hall of fame. ESM. Дата обращения: 6 декабря 2022. Архивировано 11 сентября 2025 года.
  4. Customer Information Control System (CICS) General Information Manual : [англ.]. — White Plains, New York : IBM, декабрь 1972. — ISBN GH20-1028-3.
  5. King, Steve. The Use of Z in the Restructure of IBM CICS // Specification Case Studies. — 2nd. — New York : Prentice Hall, 1993. — P. 202–213. — ISBN 978-0-13-832544-2.
  6. Warner, Edward (23 февраля 1987). “IBM Gives PC Programs Direct Mainframe Access: PC Applications Can Alter Files”. InfoWorld [англ.]. 9 (8): 1. Архивировано из оригинала 24 декабря 2016. Дата обращения 1 апреля 2016.
  7. IBM CICS Transaction Server for z/OS, V5.2 takes service agility, operational efficiency, and cloud enablement to a new level (англ.). IBM (7 апреля 2014). Дата обращения: 14 апреля 2016. Архивировано 15 июня 2021 года.
  8. IBM z/VSE Central Functions Version 9.2 - z/VSE Version 5.2 (англ.). IBM (7 апреля 2014). Дата обращения: 14 апреля 2016. Архивировано 24 марта 2016 года.
  9. Paul E. Schindler, Jr. (27 октября 1986). “Unicorn is Betting that CICS is easier and cheaper on a PC”. InformationWeek: 41—44.
  10. “Unicorn MicroCICS/RT”. Computerworld: 98. 9 декабря 1985.
  11. “IBM Get its CICS”. Midrange Systems: 35. 10 ноября 1992.
  12. CICS/CMS. IBM. Дата обращения: 1 апреля 2016. Архивировано 2 апреля 2016 года.
  13. CICS/CMS Release 1 ANNOUNCED AND PLANNED TO BE AVAILABLE JUNE 1986. IBM (15 октября 1985). Дата обращения: 2 апреля 2016. Архивировано 2 апреля 2016 года.
  14. US - IBM CICS Transaction Server (CICS TS) for OS/390 (англ.). www.ibm.com (3 февраля 2004). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  15. CICS TS for z/OS V2 (англ.). www.ibm.com (23 мая 2001). Дата обращения: 13 мая 2022. Архивировано 13 мая 2022 года.
  16. IBM CICS Transaction Server for z/OS V2.2 Delivers Major Value to All CICS Customers (англ.). www.ibm.com (4 декабря 2001). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  17. IBM CICS Transaction Server for z/OS V2.3 advances towards on demand business (англ.). www.ibm.com (28 октября 2003). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  18. IBM CICS Transaction Server for z/OS V3.1 offers improved integration, application transformation (англ.). www.ibm.com (30 ноября 2004). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  19. CICS Transaction Server for z/OS V3.2 delivers significant innovation for application connectivity (англ.). www.ibm.com (27 марта 2007). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  20. IBM US Announcement Letter (англ.). www.ibm.com (28 апреля 2009). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  21. IBM US Announcement Letter (англ.). www.ibm.com (5 апреля 2011). Дата обращения: 7 мая 2022. Архивировано 22 января 2022 года.
  22. IBM CICS Transaction Server for z/OS V5.1 delivers operational efficiency and service agility with cloud enablement (англ.). www.ibm.com (3 октября 2012). Дата обращения: 7 мая 2022. Архивировано 28 января 2022 года.
  23. IBM CICS Transaction Server for z/OS, V5.2 takes service agility, operational efficiency, and cloud enablement to a new level (англ.). www.ibm.com (7 апреля 2014). Дата обращения: 7 мая 2022. Архивировано 19 октября 2021 года.
  24. IBM CICS Transaction Server for z/OS, V5.3 delivers advances in service agility, operational efficiency, and cloud enablement with DevOps (англ.). www.ibm.com (5 октября 2015). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  25. IBM CICS Transaction Server for z/OS, V5.4 delivers unparalleled mixed language application serving (англ.). www.ibm.com (16 мая 2017). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  26. IBM CICS Transaction Server for z/OS, V5.5 delivers support for Node.js and further enhancements to CICS Explorer, systems management, and security (англ.). www.ibm.com (2 октября 2018). Дата обращения: 7 мая 2022. Архивировано 7 мая 2022 года.
  27. IBM CICS Transaction Server for z/OS, V5.6 delivers significant improvements to the developer experience, security, resilience, and management (англ.). www.ibm.com (7 апреля 2020). Дата обращения: 6 мая 2022. Архивировано 5 апреля 2022 года.
  28. IBM CICS Transaction Server for z/OS, 6.1 delivers significant improvements in the areas of developer productivity, security, and management (англ.). www.ibm.com (5 апреля 2022). Дата обращения: 6 мая 2022. Архивировано 5 апреля 2022 года.
  29. IBM CICS Transaction Server for z/OS 6.2 general availability (англ.). www.ibm.com (9 апреля 2024). Дата обращения: 23 сентября 2024. Архивировано 16 сентября 2025 года.