COBOLコンソーシアム利用技術分科会
内田正章 (富士通 ミドルウェアソリューション事業部)
COBOL言語は、1960年に誕生して以来、ビジネスロジックの記述性や旧仕様との互換性などに優れている点が評価され、多くのビジネスシステムに使用されてきました。一方、近年の情報技術の進展に伴い、ビジネスシステムの要件が急速に高度化・多様化しています。長い歴史を持つCOBOL言語を使って、このような先端の技術や環境の活用という要件に対応することができるのでしょうか。
COBOLは、その長い歴史において、常に時代の要求に応えて進化してきました。Webを始めとするネットワークをベースとする近年の技術や環境にも対応し、発展を続けています。このようなCOBOLの能力範囲や可能性、使用方法、使用時の留意点など、COBOLの利用技術に関する情報を、今後数回にわたってご紹介します。
その第1回として、まず全般的なことがらについて概観します。個々の項目については、第2回以降に、順不同で掲載していきます。
COBOLに限らず、言語の機能は、言語仕様および言語処理システムの付加機能という二つの形で利用することができます。
COBOLの言語仕様は、ISO国際規格として標準化されており、これにより高い水準で移植性が保証されています。さらに、各種の技術や環境をCOBOLプログラムから利用できるようにするため、言語仕様の拡張が施されています。なお、このような言語仕様の拡張は、次期国際規格の先取りや各ベンダーの固有仕様としてベンダーごとに独自に実施されていますので、留意が必要になります。
言語処理システムの付加機能とは、COBOLコンパイラや関連ツールによって提供される機能で、各ベンダーによってそれぞれの製品でインプリメントされています。また、言語仕様の拡張と呼応してその機能が利用できるようになっている場合もあります。
近年のビジネスシステムでは、適材適所の考え方で複数の言語を使い分けたり、他の言語で記述されたサービスや機能を活用したりする傾向が強くなっています。
多くのCOBOLコンパイラでは「プログラム間連絡機能」の言語仕様に基づいて、C・Java・Visual Basicなどの言語との連携がインプリメントされています。
ネットワークをベースとする環境では、各所に配置されたサーバやクライアントを有機的に結び付けて、業務を実現します。
COBOLコンパイラはCORBAやDCOMなど各種の連携プロトコルをサポートしており、このようなマルチプラットフォーム環境でのビジネスシステムも、COBOLで構築することができます。
ユーザインターフェースは、GUIによる高操作性がいまや当たり前の存在となっています。
GUIは多くのCOBOLベンダーによってサポートされ、他のGUIツールと同様の操作性をもつプログラムが効率良く開発できます。GUIの設計・実行は、COBOL製品と関連して提供されるツールを利用します。画面からの入力/画面への出力は、READ/WRITEやACCEPT/DISPLAYなどCOBOLの言語仕様に沿って記述します。
帳票もユーザインターフェースの一つであり、分かりやすく美しい、きめ細かな印刷出力が必要です。また、ペーパーレスへの配慮の必要性も高まっています。
帳票/印刷についても、前項のGUIと同様、関連ツールとWRITE文などの言語仕様との組合せで、COBOLから利用することができます。
XMLは、システムが"理解"可能な文書としての特性から、情報交換のための標準フォーマットとして広く採用されていく方向にあります。
COBOLベンダーによって用意された関連ツールなどを利用することによって、XMLがデータ交換形式として用いられるシステムにおいて、COBOL プログラムでそれを扱うことができるようになります。
Webサービスは、インターネットを介してシステム間で機能を利用/提供するための仕組みであり、SOAPと呼ばれるXMLベースのプロトコルを中心に標準化が進展しています。
既存のCOBOLプログラムをWebサービスの形で提供したり、COBOLプログラムの中から他のWebサービスを利用したりすることができます。
様々な技術や環境に対応したビジネスシステムを効率良く構築できることが、開発生産性の観点で重要なポイントです。
各ベンダーから、COBOL言語を軸とするビジネスシステムの開発を支援するための開発環境が提供されています。開発環境を利用することにより、アプリケーションの設計、COBOLによるプログラミング、テスト/デバッグ、資産配布、保守といったライフサイクル全般の生産性を向上させることが可能になります。
今回および次回以降の「COBOL利用技術のご紹介」では、COBOL利用技術の共通項や一般的傾向を題材にしています。必ずしも各ベンダーのCOBOL製品に一律に合致するものではありません。実際の適用にあたっては、ご利用になるベンダーのCOBOL製品や関連システムに関する情報をご確認ください。