COBOL – Wikipedia について

COBOL が Common Business-Oriented Language の略だということをご存じの方はどれくらいおられるのでしょう。 設計当時の意気込みが感じられるネーミングだと思います。

  1. COBOL – Wikipedia, the free encyclopedia
もし現在、当時と同じような志を持ってビジネス指向の言語を作るとしたら、どんなものになるのでしょうか? 言語といってもプログラミング言語にはならないかもしれません。 ひょっとしたらXMLスキーマでしょうか。 それともモデリング系でしょうか。 それとも携帯向けの何かでしょうか。 改めて考えてみると楽しいと思います。
COBOL – Wikipedia について

Cloud ComputingとCOBOLについて

タイトルを「Cloud ComputingとCOBOLについて」としましたが、本当は「新技術とレガシー資産」が書きたい内容です。メインフレーム、ミニコン、PC、携帯端末、と進化し現在Cloud Computingという形態への移行過程にあるのかもしれません。Cloud Computingの考え方自体はこれまでに幾度も提案されており、今回やっと実現に近づいただけのように思います。例えば随分昔のことですが、電話の交換機をコンピュータ化し分散OSのようなものを動かして、電気のようにコンセントに端末をつなげばどこからでもいろいろなサービスが利用できるようになる(そういうシステムを作ろう)という未来の話を聞かされました。こういった技術進化の話はエンジニアとしては楽しい話題なのですが、忘れるわけに行かないのがレガシーシステムです。

レガシーシステムというのは大昔のシステムではなく、現在稼動中のシステムすべてです。未来のシステムからみると、すべてがレガシーとなるためです。例としてCOBOLのプログラムがあります(アセンブラを例にとるのは止めておきます)。メインフレーム向けに開発された大量のCOBOLプログラムがあり、オープンシステムに移行したものもあるでしょうが、まだそのまま動いているものもあるはずです。Cloud Computingの時代にどうすべきなのでしょう?COBOLプログラムのメンテできる人もその数が減少しているようです。

モデリングという意味ではOMGにMDAを逆にしたADMというグループがあり、レガシー再生の標準化をしています。これはソースコードをインプットにし、分析を行い、UMLモデルを生成する、といった話です。Architecture Driven Modernizationというのがフル名称です。多分COBOLも対象にしていると思いますが、CやJavaも対象だと思います。このソースコードを分析してモデルを抜き出す技術というは、レガシー再生に限らず海外にアウトソーシングした結果の検収時のチェックなどにも使えます。CやJavaというのはそういうケースを想定していたと思います。

それで、もしうまく行ってUMLモデルになったとしたら、それに基づきMDAで最新技術用のコードを生成してCloud上に置くのでしょうか?やはりそんなに簡単な話ではなさそうです。ファイアウォールの内側と外側の境界がベルリンの壁のように打ち砕かれるのは、起きるとしてもかなり先のことでしょう。そうすると経済原理に基づく行動が取られて、コスト的に有利な企業内部Cloudまたは単なるサーバに移されるのでしょう。すると、新技術に基づくComputingと(多少モダンになったとしても)レガシー資産に基づくComputingが共存し続けざるを得ないような気がします。

Cloud ComputingとCOBOLについて