COBOLとモダナイゼーション

SCROLL DOWN

リストへ戻る

最初にCOBOLと聞いて皆さんが想像するのはレガシーとかシステムのお荷物という人が多いのではないでしょうか。
実は、レガシー資産を活かす手法としてモダナイゼーションというのがあります。本連載では、モダナイゼーションの説明からその手法について説明します。

COBOLとモダナイゼーションについて

これから数回にわけてCOBOLとモダナイゼーションについて説明をしていきたいと思います。
最初にCOBOLと聞いて皆さんが想像するのはレガシーとかシステムのお荷物という人が多いのではないでしょうか。特にCOBOLに関わったことがないIT関係者の人たちは言語レベルでの比較すら行っていないのでIT系のWebサイトや書籍などの情報などから得た知識、もしくは、人から見聞きした情報から「COBOL=いらないもの、なくても問題ないもの」という判断を下している人が多いと思います。

 

実は今でもCOBOL言語によって記述された8,000億行のコードが世界中で一日に実行されています(出典 ZDNet.com)。飛行機の管制システム、銀行のATM等々、大容量で大量のデータを処理する分野や正確性や可用性に重点をおかれるシステムではCOBOLに取って代わる言語はまだまだ多くありません。

 

一方、インフラストラクチャ分野ではLinux、Windowsの台頭はめざましく、UNIX OSのメンテナンスを打ち切るハードウェアメーカーも多くなってきました。また、稼動するハードウェアもオンプレミスからクラウドへ場を移しています。

 

システムアーキテクチャも大きく変化しています。今まで COBOLが稼動するハードウェアはメインフレームやオフコンが主だったのでクライアントサイドは、専用端末が主流でした。しかし、今はJava EEやASP.NETの技術を使ったWebシステム、SOAPやRESTful APIを使ったWebサービス等が多くなっています。よって、クライアントもブラウザーのみならずスマートフォンのアプリケーションなど多種多様です。

 

 

開発スタイル

開発スタイルについても見ていきましょう。かつては特定の領域に関する専門知識を持ったチームが同じ場所に集まって業務を行っていましたが、複数の領域にまたがる分散型のチームが素早く業務を行う形に変わりました。また、ウォーターフォール型開発からアジャイル開発の導入が行われ、継続的インテグレーション(CI)や単体テストの重要性が見直されています。

 

このように開発スタイル、インフラストラクチャ、アプリケーション提供形態の変化に追随することは、レガシーシステムを稼動させている企業にとって非常にコストや負荷が高い作業であり時間を要するものです。

 

それではどうしたらいいのでしょう?

一般的に考えることはリライトです。リライトとは、そのシステムの仕様を棚卸します。そして次に最新のテクノロジをサポートしている言語を使用し、WindowsやLinux上にシステムを再構築することです。

これによりクライアントサイドはブラウザーやスマートフォンアプリケーション、リッチクライアントなど最新のテクノロジ利用したものが使用できます。

 

【リライトのイメージ】

 

 

リライトにはいくつかメリットがあります。

  • 新技術への対応
  • 運用コストの削減
  • 現行機能の維持
  • 保守の容易性

 

実は、一見すると薔薇色の未来のように見えるリライトもいくつか落とし穴があります。スタンディッシュグループのカオスレポートという調査結果があります。

※スタンディッシュグループ:70,000 以上の IT プロジェクトをまとめたCHAOS Database を活用した調査・アドバイザリサービス等を提供する企業です。

http://www.standishgroup.com/sample_research_files/Modernization.pdf

 

この中である企業がIBM z10 メインフレーム上で稼動する200 万ステップの COBOL 資産から成る注文処理システムのオープン化を検討していました。入札をリライト、パッケージ化、モダナイゼーションの3タイプで入札を行ったところ平均して下記のような提案を受けました。

 

  費用 期間
リライト 1,000万ドル 3年
パッケージ化 500万ドル 2年
モダナイゼーション 350万ドル 1.5年

 

さらに驚くべきことにリライトとモダナイゼーションをそれぞれ比較してみたところプロジェクトの実行結果はものすごい差がありました。

 

リライトの場合

スケジュール遅延なし、予算超過なし、機能落ちなし 4%

スケジュール遅延、予算超過、機能落ちいずれかが発生 47%

プロジェクトの頓挫 49%

 

 

モダナイゼーションの場合

スケジュール遅延なし、予算超過なし、機能落ちなし 39%

スケジュール遅延、予算超過、機能落ちいずれかが発生 53%

プロジェクトの頓挫 8%

 

 

リライトの場合、50%程度のプロジェクト成功率がモダナイゼーションに至っては90%を超えています。

リライトがモダナイゼーションよりも失敗しやすい要因を分析してみましょう。

 

まず仕様以外をまったく新しく作り直すことになるので技術的に詰めておかないといけない検討項目が非常に増えてきます。この検討項目が増えれば増えるほどリスクは多くなり、対応作業は多くなります。次に現行機能を維持するためのロジック書き直しのコストも増大します。パフォーマンスについても注意が必要です。.NETやJavaを選択した場合、中間コードでの実行となるためオーバーヘッドが生じます。操作方法については、専用端末を使わない限り条件は同じでしょう。最後に保守性ですが、ここが一番重要です。最近ではCOBOLコードをJavaコードに自動的に変換するツールやサービスが登場し、それによってクラウド上にCOBOLを実行しようというサービスが増えています。しかし、そのまま変換したのでは手続き型のプログラム構造を持ったようなJavaやC#のコードが量産され、メンテナンス時に何をしているコードなのか意味不明になる場合やパフォーマンス劣化の要因になることが多くなっています。

 

比較項目 リライト モダナイゼーション

技術的な検討項目数(アーキテクチャ、仕様、運用等)

大きくなればなるほどプロジェクトが失敗するリスクが増大

5,000 – 10,000 200 – 300
現行機能担保に伴うコスト 高い(既存のロジックの理解、書き直しに伴うテスト等) 低い(プロジェクトによっては現新比較のみ)
パフォーマンスの優劣 Java や .NET へリライトすると仮定する場合、中間コードで実行となるので若干劣る COBOL はオープン環境において直接、ネイティブコードへビルド可能
操作方法変更の影響度 高い 低い
保守性 手続き型のような構造を持つ Java や C# のプログラムが生成されJava, C# のプログラマーにとっても扱いにくい COBOL, Java, C# 等で疎結合となるため、それぞれの純粋なプログラムとして管理が可能

 

さて、ここでモダナイゼーションついてあらためて定義していきましょう。一言でいうとモダナイゼーションとはレガシーシステムを市場の動向を加味して、新しいテクノロジを用いてシステム拡張することです。

 

モダナイゼーションのイメージ

 

 

弊社、マイクロフォーカス は1976年にオープン環境のCOBOLコンパイラを世界に先駆けてリリースしており、UNIX向けは1984年、Webアプリケーション開発機能1999年に既にリリース、以降Java EE連携、COBOLのJavaクラス化、.NETクラス化機能などリリースしています。

つまり弊社はCOBOLをモダナイゼーションするための製品をリリースしているといっても過言ではありません。

弊社COBOLコンパイラ使ってモダナイゼーションすることによって、リライトと比較して下記のメリットが出てきます。

 

カテゴリ リライト モダナイゼーション
新技術への対応
運用コストの削減
現行機能の維持
保守の容易性
品質劣化リスクの回避
書き換えコストの回避

 

これを見るとリライトのメリットに加えてさらに品質劣化のリスク回避と書き換えコストの回避が追加されています。

この違いは、いずれもCOBOLコードの再利用による恩恵です。まず前者はコードを再利用することによりその部分のコードは品質が担保されています。リライトの場合、全てのコードは未テスト状態となるので品質は一度下がることが予想されます。
また書き換えが発生しませんのでその分開発コストは抑制できます。

次回以降の連載ではレガシー資産を活かしたモダナイゼーションとはどういうことか、より具体的に説明していきます。

関連情報

ホワイトペーパー:「COBOLシステムのモダナイゼーションはどう進めるべきか?最適な手法とその効果」

COBOL資産を取り巻く課題を明らかにするとともに、モダナイゼーションの適切な手法、効率的なステップをご紹介します。

Webセミナー:モダナイゼーション技術セミナー

~Visual COBOL で実現する既存 COBOL 資産の有効活用~
本セミナーでは、Visual COBOL最新機能を紹介し、モダナイゼーションを支援する技術についてデモを交え解説します。

Webセミナー:モダナイゼーション技術セミナー

~リホストプロジェクトを強力にサポートする Micro Focus エンタープライズ製品~
本セミナーでは、Micro Focus Enterprise Developer/Enterprise Serverの機能と活用方法について、製品を利用したリホストの手順やそれに伴う具体的な注意点も解説します。

Micro Focus Visual COBOL

Micro Focus Visual COBOLは、最新版のCOBOL統合開発環境製品です。価値ある既存COBOL資産の最新テクノロジー環境での活用を可能にします。単一のCOBOLソースを多数のプラットフォームに展開することができるため、開発期間の短縮やコスト削減にも貢献します。

Micro Focus Enterprise Developer

Micro Focus Enterprise Developer は、IBMメインフレームで稼働しているバッチ / オンラインアプリケーションをオープン環境で有効に活用できる製品です。

SNSでシェアする

  • URLをコピーしました