写真1●COBOLフォーラム2010
写真1●COBOLフォーラム2010
[画像のクリックで拡大表示]

 COBOLは決して“死にかけた言語”ではなく、開発ツールの進化などによって今後も発展しながら生き続ける--。2010年11月9日に東京で開催されたCOBOLユーザー向けのセミナー「COBOLフォーラム2010」(写真1)。同セミナーの個別セッションでは、COBOL言語の開発ツールなどを開発・販売する英マイクロフォーカスがCOBOLの現状や最新動向、新技術などを紹介した。

写真2●英マイクロフォーカスのスチュアート・マギルCTO(最高技術責任者)
写真2●英マイクロフォーカスのスチュアート・マギルCTO(最高技術責任者)
[画像のクリックで拡大表示]

 最初のセッションで登壇したのは、CTO(最高技術責任者)であるスチュアート・マギル氏(写真2)。同氏はまず、同社のCOBOL開発ツールを使うことで大幅なコスト削減や開発時間の短縮に成功した海外のユーザーを2例挙げ、COBOLのソフト資産をそのまま継承しつつ、メインフレームからWindowsやUNIX/Linuxなどのオープンプラットフォームに切り替える「モダナイゼーション」(近代化)の有効性を紹介した。

現在でも2400億行のコードが現役で稼働

 同社の調べでは、現在でもCOBOLは2400億行ものコードが現役として稼働しており、1日のトランザクションは300億回にも上るという。「世界の総トランザクションの70パーセントがCOBOLのアプリケーションである」(マギル氏)。

 COBOLがこれほど重要であるにもかかわらず、COBOLには「古い」「(コードが)長たらしい」「開発者を見つけるのが困難」「高い」といった悪いイメージが取り巻いているとマギル氏は嘆きつつ、それらは虚構であると切り捨てた。

 「例えば高いというイメージに対しては、コードメンテナンス費用なども含めたTCO(Total Cost of Ownership:総保有コスト)を考えると、ほとんどの企業ではCOBOLこそが最も安価なソリューションとなる。事実、20年前にメインフレーム用に作ったCOBOLアプリケーションを、ほとんど手直しをせずに現在ほかのプラットフォームで動かしているというユーザーもいる」(同氏)。

COBOLの言語仕様自体の進化も続いている

 従来のCOBOLに対する悪いイメージが虚構であることのさらなる裏付けとして、マギル氏は「21世紀におけるCOBOLの完璧な姿」と題して3つのトピックを披露した。一つめは、統合環境を使ったCOBOLアプリケーションの開発である。

 オープンソースのIDE(統合開発環境)であるEclipseや米マイクロソフトのMicrosoft Visual Studio 2010と同社の開発ツールを連携させることで、COBOL以外の言語を自由に組み合わせてシームレスに開発できることを紹介した。「今や100パーセントCOBOLの新規アプリケーションなど存在しない。次世代のプログラマは、複数の言語を統合環境上で使い分けながらアプリケーションを開発する。基幹のコード部分はCOBOLで書くけれども、ユーザーインタフェース(UI)はJavaやC#といった言語を使うといった具合だ」(マギル氏)。

 二つめは、「ポータビリティ」である。同氏は今後10年を考えるときこれが非常に重要であるとし、同社製ツールを使って開発したCOBOLアプリケーションは、一切コードを変更せずに.NETやJVM(Java仮想マシン)あるいはWindows Azureなどのクラウドで動作させられるとした。「JavaやC#といったCOBOLより新しい言語ならこうしたプラットフォーム間の移行が容易になるなどということはまったくない」(同氏)。

 三つめとしてマギル氏は、COBOLという言語そのものの進化も途切れることなく続いていることを取り上げた。C#やJavaといった言語で書かれたコードとCOBOLのコードを統合するできるよう、COBOLでは新しいシンタックス(文法)に関する仕様を拡張する。同氏によれば、すでに同社製開発ツールでは利用できるようになっているほか、今後はCOBOLコミュニティと協力して2015年を目標に次のANSI標準として採用されるように働きかけていくという。

 こうした開発ツールや言語仕様の進化によって、COBOLを使った開発スタイルは激変すると同氏は締めくくった。「実際に、米マイクロソフトの社員にVisual Studio 2010上で開発しているデモを見せたところ、それがCOBOLのコードだと理解されるまで10分間ほどかかった。それほどまでに最新のCOBOL開発は洗練されている」(マギル氏)。

COBOLのロジックがネイティブなJavaアプリになる

写真3●マイクロフォーカスの小林純一ジェネラルマネジャー代理技術部シニアマネジャー
写真3●マイクロフォーカスの小林純一ジェネラルマネジャー代理技術部シニアマネジャー
[画像のクリックで拡大表示]

 続くセッションで登壇したのは、マイクロフォーカスの小林純一ジェネラルマネジャー代理技術部シニアマネジャーだ(写真3)。同氏は、主力製品の一つ「Micro Focus Visual COBOL」の新バージョン「R3」に搭載する予定の新機能などを紹介した。

 R3では、UNIX/Linuxからリモートでほかのサーバー機などで動作するCOBOLプログラムを開発する「リモート開発」に新たに対応するほか、Windows Azure向けのCOBOLランタイムなどクラウド環境向けの新機能が追加される。そのほか、COBOLとJavaの相互運用性を高めるためのしくみとして、「COBOL for Java」を搭載するという。

 COBOL for Javaを使うと、JVMの内部でJavaアプリケーションサーバーとCOBOLのロジックを直接連携できるようになる。従来は、JVM上のJavaアプリケーションサーバーとCOBOLプログラムを連携させるには、同社製サーバーソフトおよびネイティブランタイムを通じてJCA+XAトランザクションという形で連携させる必要があった。COBOL for Javaで開発したCOBOLプログラムは、コンパイルすると「.class」形式の完全なJavaのプログラムになる。

 Micro Focus Visual COBOL R3の発売時期は未定だが、同社ではTechnical Preview版を2011年のなるべく早い時期に配布する予定としている。