岡本 健二(株式会社システムズ マイグレーション事業本部)
近年、アプリケーションの稼動環境はメインフレームからオープン環境へのシフトが行われています。特に最近はクラウド環境を取り入れ、オープン化が加速している感があります。
従来、メインフレームでのアプリケーション開発はCOBOLが主力言語となっていました。COBOLでのアプリケーション開発がオープン環境ではどのように変っていくのでしょうか?
以降で、COBOLでプログラミングする上での、メインフレームとオープン環境での相違点を記述します。
COBOL言語は、当然、メインフレームもオープン環境も文法上の相違点はありません。しかしながら、メインフレームとオープン環境の典型的な違いとして、
@ | 例えばオペレータの存在のように運用が異なる。 |
A | 文字コードについては、EBCDIC+メーカー独自の漢字コードから、ASCII+S-JIS(またはEUC、UNICODE)のようにコードが異なる。 |
B | メーカー独自仕様の構造型DBも存在するが、標準的なRDBの利用環境となっている。 |
C | オンライン画面がCUIからWebなどのGUI環境となる。 |
D | プログラムの実行制御は複雑な機能を持ったJCLにより行われていました。それがOSに依存しないShellによる制御に変ったため、一部の機能がプログラム側の分担や、制御機能を諦めるか、他の運用監視ツールに任せる事になる。 |
メインフレームのDB構造には構造型と言われるネットワーク型、階層型(木構造)が存在し、アクセス命令はDL/Iで代表されるメーカー独自仕様となっています。オープン環境ではこれら構造型は存在せず、リレーショナル型DBが主力でアクセス命令は標準SQLとなっています。このため、DB構造に関しては再設計が必要となり、プログラムとしてはSQL命令への変更が必要となります。
メインフレームでは、オンライン画面についてはCUI(キャラクタインターフェース)が中心でしたが、オープン環境ではWeb等のGUIが普通であり、そのための画面定義の移行が必要となります。
画面のアクセスについてメインフレームではメーカー独自仕様でしたが、オープン環境でも色々なOLTP(オンライン・トランザクション処理)が存在し、画面定義と連携して関係する命令の移行が必要となります。
このように環境が異なることから、環境に影響されるCOBOLのコーディングは異なる事となります。しかしながら一番肝心なビジネスロジックについては、メインフレームもオープン環境も異なる点は存在せず、従来の開発スキルが踏襲できる事になります。
COBOLは今迄も色々な言語が存在する中で、他言語と共存しながら50年の歳月を主力言語として利用されて来ました。主力言語としての利用を実現するために着実に機能向上を図って成長して来たことになります。これからも世の中のニーズに合わせて成長し、オープン環境に於いても標準言語として利用されていくと信じております。