CICS

CICS (Customer Information Control System)　は、IBMが開発・販売している、メインフレームを中心としたトランザクション処理用のミドルウェアである。

概要 

CICSは、z/OS などの下で稼動する、オンラインシステム・バッチ処理両方に向けてデザインされたトランザクション処理システムである。

大量トランザクションの安定した処理や信頼性に加え、徹底したロギングにより、障害発生時にも処理中トランザクションの大多数の回復・整合性保持を行う。更にオプションのXRF構成の場合は、障害発生時に処理中のトランザクションの大多数を、ユーザーに障害発生を意識させる(クライアントにエラーを返す)ことなく、代替サーバに引継ぐ事ができる。

CICSはデータベース管理システム (DBMS) として、階層型のIMS-DB、または関係データベース管理システム (RDBMS) のDB2と組み合わせる事ができる。

近年ではWebアプリケーションサーバによるトランザクション処理が幅広く普及しているが、CICSは特にミッションクリティカルな用途の他、Webアプリケーションサーバから接続されるバックエンドの基幹業務の中核部分としても、2015年現在でも使用されている。

同様のトランザクション機能をIBM AIX、Linux、Windows等の分散系OSプラットフォームで提供するミドルウェアとして、IBM TXSeries for Multiplatforms が存在する。

構成 
CICSファミリーは以下で構成される。
 CICS Transaction Server (CICS TS)
CICS の中核 堅牢なトランザクション処理を提供
 TXSeries for Multiplatforms
Windowsおよびオープン系 UNIX OS で CICS トランザクション処理を実現
V8.1は、AIX、HP-UX、Solaris、Windows、Linuxで稼動
CICSクライアント
 CICS Transaction Gateway (CTG)
分散処理においてWebSphere Application Serverなどアプリケーションサーバ上のアプリケーションと CICS/TXSeries との連携を行う為の通信ゲートウェイ
 CICS Universal Client (CUC)
CICS アプリケーションに単一のユーザー・アクセスを提供(CTGのサブセット的位置付け)
3270系の表示装置や印刷装置
Webクライアント (J2EE Connecter Architecture など)

バージョン 
1969年 CICS誕生
1988年 CICS/MVS 2.1 (XRFサポート)
1997年 CICS Transaction Server に改称
1999年 CICS Transaction Server 1.3 （Javaサポート、CICS Webサポート(CWS)）
2007年 CICS Transaction Server 3.2 （Webサービス強化）
2009年 CICS Transaction Server 4.1 （イベント処理のサポート、CICS Explorerなど）
2011年 CICS Transaction Server 4.2 （新しいシステム・イベント、新しい64ビットの Javaランタイム環境など）
2012年 CICS Transaction Server 5.1 （Liberty/モバイルによるアジリティ向上と基盤強化）
2014年 CICS Transaction Server 5.2 （更なるサービスアジリティ向上とクラウド・イネーブルメント）
2015年 CICS Transaction Server 5.3

詳細 
CICSオンライントランザクションシステムを利用すると、System zなどIBMの大型コンピュータ（メインフレーム）上で、数千トランザクション毎秒のオンライントランザクション処理が可能となり、大企業から中規模企業に至る企業における中核システムの役割を担うことができる。CICS上で稼働するアプリケーションプログラムを作成するために、プログラミング言語として、COBOL、PL/I、C、C++、アセンブリ言語、REXX、Javaなどが利用できる。

CICSオンライントランザクションシステム上で動く業務アプリケーションプログラムには、CICSによりトランザクションIDが割り振られる。CICSアプリケーションの画面は、マップという単位でCICSにより管理される。このマップを経由して、エンドユーザー入力のデータがプログラムに渡される。CICSの画面の文字表示では、高輝度ハイライト、さまざまな色、点滅などが利用できる。

マップがCOBOLを通してどのように送られるかを、以下に示す。
 EXEC CICS
     SEND MAPSET(MPS1) MAP(MP1)
 END-EXEC.

CICSは銀行の現金自動預け払い機、流通、信販、航空会社の予約システム、工場の生産管理システムなどさまざまなオンライントランザクションシステムで使われている。

一般的な位置付けは、銀行など金融業界で求められる超高度なオンラインシステムのプラットホームとしてのIMS TMに次ぐ、高度な信頼性かつ運用経済性が求められるオンライントランザクションシステムのプラットホームとして利用されている。

CICSは当初アメリカの公益事業ユーティリティー業界（電力・ガス・水道）のためにイリノイ州デプレーン（Des Plaines）にあった営業部門の開発グループで1966年から開発され、1968年に別の名称で発表された。その後パロアルトのIBM開発部門で開発が続いて、正式にCICSとして発表されたのは1969年7月8日のことで、IMSの登場後間もないときのことである。1974年にはIMSに注力するために開発中止が決定されたが、折よくIBMハーズレイ開発研究所（IBM Hursley、イギリス）でPL/Iコンパイラーの開発を終了した人員に拾われて開発が続き、今でもそこでメンテナンス・開発がされている。

1980年代から1990年代、CICSの一部は、アントニー・ホーアの指揮の下、Oxford University Computing Laboratoryとのコラボレーションで、Z言語を使って整えられた。

近年は、CICSの拡張はWebサービスやEnterprise JavaBeans (EJB) のサポートを含む。2007年リリースされたバージョンは、「CICS Transaction Server Version 3.2 for z/OS」であり、COBOL、C、C++、PL/Iなどの言語が利用でき、またWebサービスをサポートしている。

脚注

関連項目 
トランザクションモニター
IMS - CICSとIMS-DBの組み合わせが可能
WebSphere
IBM 3270 - CICS端末として定義可能
メインフレーム市場の競合製品
 AIM - 富士通
 XDM - 日立製作所
 VIS - NEC

外部リンク 
製品ページ - 日本IBM
CICS - IBM Knowledge Center

トランザクションモニター
IBMのソフトウェア
形式手法
メインフレーム