news008.jpg

Focus on Technology:2000億行もの負の遺産――COBOLコードの近代化はどのように進めるべきか (1/3)

現在社会の根幹を支えている多くのアプリケーションにおいて、COBOL、Fortran、Assemblerなどの旧世紀の遺物的コードがいまだ使い続けられていることが最近新たな問題と化している。企業はどのようにCOBOLコードの近代化を進めればよいのだろうか。


SourceForge.JP Magazine

 プログラム開発者というものは最先端テクノロジーを好むものであり、プログラミング言語、開発環境、開発ツールなどはいずれも最新のものを使いたがる傾向にある。実際、プログラミング関係の参考書やカンファレンスはどれも、Java、Ruby on Rails、C#、Ajaxなどのタイトルで目白押しだ。ところがコンピュータ業界においても“表沙汰にしたくない裏面”というものが存在し、現在社会の根幹を支えている多くのアプリケーションで、COBOL、Fortran、Assemblerなどの旧世紀の遺物的コードがいまだ使い続けられていることが最近新たな問題と化しているのである。

 こうした問題を抱える企業のCIOは、旧式化したレガシーアプリケーションのメンテナンスに取り組むと同時に、ビジネスニーズを速やかに具現化させる責任を負わされている。しかし、開発期間が6カ月しか与えられておらず、問題のアプリケーションを根本から理解しているスタッフが1人もいないという状況で、どうすれば早急な開発をこなせられるというのだろうか?

 全世界で今日も使用されているCOBOLコードは2000行も残されており、FortranとAssemblerにしても数10億行は使われ続けているとされている。例えば身近なところでは、社員の給与、自動車ローン、企業年金などの計算の多くがCOBOLで処理されており、より規模の大きいところだと、ウォール街で毎日取引されている何十億ドルもの株、債券、オプションなども、わたしが11歳のころに開発されたシステムで処理されているのである。それはベトナム戦争も終盤に差し掛かりつつあった1971年当時の話であり、こうしたシステムなどは東南アジアとは別の戦場にてプログラム開発者たちが奮闘した成果なのだとも見なせるだろう。

 ここで少しそのころの状況を振り返っておこう。1971年当時に主流だったのは、小振りの家ほどもあるメインフレームであり、それが空調管理のされた専用のコンピュータルームに据えつけられていたものである。時代的には8インチフロッピーがようやく登場したころで、FTPなどは概念が提唱された段階でしかなかった。ニコラス・ワース氏がPascalをリリースしたのもこのころで、その後1972年にはデニス・リッチー氏がCプログラミング言語を完成させることになる。当時は電子メールも存在しておらず、Pongという卓球ビデオゲームが発表されたのはその翌年であった。COBOLは誕生11周年を迎えた段階であったが、GOTOステートメントが使いやすいといった理由で、モジュール化を想定しないモノリシックなプログラミングスタイルが大いに流行していたものである。

 現在の日常生活を支えるアプリケーションは、コンピュータ社会の初期に作成されたものがかなりの部分を占めている。例えば以前にある知り合いのクライアントが、オリジナルの作成年が1960年というアプリケーションを“退役させたばかり”という話をしていたことがある。COBOLの発明は1960年のことだから、これなどはAssemblerで記述されたものであろう。またその名を出せば知らぬ人などない某経済ニュース社などは、2500万行のFortranコードを維持するため1800名もの開発者を抱えているそうである。

 旧式化してメンテナンスも困難で今さら拡張しようがないレガシーシステムを、企業のIT部門が後生大事に使い続けているのは、その中に業務上のノウハウがコード化されているからにほかならない。こうしたもののメンテナンスが困難なのは、幾つかの理由が存在する。

  • オリジナルの開発者が遥か昔に引退している
  • モノリシックなプログラミングモデルで構築されている
  • グローバル変数やGOTOステートメントが無秩序に使われている

 構造化プログラミングが採用され出したのは1980年代中盤の話で、オブジェクト指向の開発スタイルが主流となったのは1990年代以降のことである。つまり当時のプログラミングは、すべてのコードを1つの巨大なソースファイルに収め、グローバルデータはプログラムの冒頭部にまとめておくというモノリシックモデルを使う以外に選択肢がなかったのだ。この当時は、機能のモジュール化を始めオブジェクトやメッセージという概念はもとより、将来的な変さらに備えた形式でシステムを組み上げておくという発想自体が乏しかったのである。

 企業のコンピュータシステムにとって、新規部門の創設、事業の海外展開、新規製品のリリースといった業務の変化への対応力は不可欠の要素であるが、問題はそのメンテナンスを継続すべき期間が非常な長期におよぶことと、それだけの長期間使い続けることにはさまざまなリスクが伴うことである。

 こうしたジレンマを抱えた場合の対策として考えられるのは、既存のアプリケーションポートフォリオを現代的な手法を用いて再構築することで、ビジネスサポートの要件に応えやすくすることである。

       1|2|3 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.




キャリアアップ



エンタープライズ・ピックアップ

news004.jpg 世界で勝つ 強い日本企業のつくり方:利用契約の検討――グローバルクラウドで失敗しないために(前編)
2010年以降、クラウドサービスの利用がさらに加速する。サービスを利用する企業はプロバイダーのデータセンターに預けた自社情報を保護するために、法的な要素を理解しておかなければならない。企業が注意を払うべき法的な検討事項を整理する。

news001.jpg IT投資の新方程式:「Twitter使ってます」――現役MS社員が“社員力”を語る(前編)
マイクロソフトが掲げるプロモーションメッセージ「社員にチカラを。ITで企業力を。(以下、BIEB)」からは、ITで社員の生産性を向上することが業績の拡大につながる、といったニュアンスを感じる。そこで気になるのが「じゃあ、マイクロソフトの社員自身はどうなのよ?」ということ。3人の現役MS社員により実態が明らかになる……?

news010.jpg 産業構造を変えるか:「住宅クラウド」の衝撃
住宅都市工学研究所が進める「住宅クラウド」は、クラウドが企業のIT領域にとどまらず、ビジネスのやり方自体を変える可能性を示している。

news010.jpg オルタナティブな生き方 栗原進さん:ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。

news001.jpg 最強最速アルゴリズマー養成講座:トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。