PR

損害保険料率算出機構(以下、損保料率機構)がCOBOLシステムのレガシーマイグレーションに取り組んでいる。OSをWindowsに移行し、COBOL資産はあえて残すことを選択した。

 損保料率機構は、2018年2月からレガシーマイグレーションに取り組んでいる。主な目的は、処理性能の向上と保守コストの削減だ。同機構の旧システムには、1000本以上の主にCOBOLのプログラムが存在。SQLでデータベース(DB)のDB2にアクセスしてデータの入出力を行い、保険料率を分析していた。

 ところが蓄積するデータ量の増加や分析に必要なデータ量が増えたことで、旧システムの処理速度の遅さが課題になった。「分析担当者がデータを要求してから取得できるまで1日以上かかることもあった」(情報システム部の江崎新システム開発グループリーダー)という。さらにハードウエアの保守コストの高さも問題になっていた。

 そこで同機構は、UNIXで動いていたシステムを処理性能の高いWindowsシステムに変更し、SQLで記述された処理をCOBOL Function(ユーザーが定義するCOBOL関数)に置き換えるという決断を下した。DB2も廃止し、SQLとDB2で行っていた入出力処理をCOBOLとCSVで代替することにした。ただし、旧システムのCOBOL資産はそのまま生かす(図1)。

図1●損害保険料率算出機構が取り組んでいるレガシーマイグレーション
図1●損害保険料率算出機構が取り組んでいるレガシーマイグレーション
[画像のクリックで拡大表示]

 COBOLを使い続ける理由を江崎グループリーダーは「社内に蓄積されたCOBOL資産やスキルを考慮すると、Windows上でCOBOLシステムを動かすというオープン化が現実解だった」と話す。当初の計画では、COBOLからJavaやC言語への移行を考えていた。

 ところが、「バッチ処理がメインのためJavaでは速度が出なかった。C言語は学習コストが高く異動してきたばかりの人には難しい。旧システムで一部利用しているが、新規に開発することは避けた」(江崎グループリーダー)という。同機構は人事異動などで情報システム部門の人材が定期的に入れ替わる。プログラミング言語は覚えやすいCOBOLに集約したほうがよいと考えたわけだ。

4倍の処理速度を実現

 マイグレーション作業では、処理速度の課題に直面した。SQLからCOBOLへの変更による性能の低下だ。「マシンスペックは十分なはずなのに、COBOL Functionでは想定していた処理速度が出なかった」(江崎グループリーダー)と打ち明ける。プロジェクトでは、ボトルネックを調査しプログラムにチューニングを施した。さらにコンパイルオプションの設定を変更することで、目標の処理速度を達成できたという。

 マシンスペックの向上により、旧システムと比べて4倍の処理速度を実現できた。またDBの廃止により5年間で億単位の運用・保守コストの削減を見込めるという。同機構は2019年2月に開発を終えて、現在旧システムとの並行テストを実施している。2019年末までにプロジェクトを完了させる計画だ。