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オンライントランザクションシステムを利用すると、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は当初アメリカの公益事業ユーティリティー業界（電力・ガス・水道）のためにイリノイ州デプレーン（）にあった営業部門の開発グループで1966年から開発され、1968年に別の名称で発表された。その後パロアルトのIBM開発部門で開発が続いて、正式にCICSとして発表されたのは1969年7月8日のことで、IMSの登場後間もないときのことである。1974年にはIMSに注力するために開発中止が決定されたが、折よくIBMハーズレイ開発研究所（、イギリス）で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サービスをサポートしている。