長期にわたって使い続けてきたCOBOLシステムの保守に頭を悩ませる企業は多い。事実、日経 xTECHが2019年3月に実施した「COBOLに関する実態調査」では、約6割の企業(ユーザー企業は自社、IT企業は担当企業)でいまだにCOBOLを使ったシステムが存在する実態が分かった。このうち23%は、「リプレースしたいが具体的な計画はない」と答えている。
COBOLシステムを保守する人材は高齢化が進み、数も減っている。今後COBOLエンジニアの調達はコスト増が見込まれる。COBOLシステムを抱える企業は、早急に何らかの対応に乗り出さなければ、そのCOBOL資産がお荷物になりかねない。COBOLを使い続けるにせよ、他の言語に乗り換えるにせよ、将来を見据えた最適解を慎重に見極める必要がある。
そうしたCOBOLを取り巻く環境の中、損害保険料率算出機構(以下、損保料率機構)は既存システムの刷新時にプログラムをCOBOLに集約し、COBOL資産の保守に力を入れている。あえてCOBOL資産を生かした事情を説明しよう。
損保料率機構の主な業務は、膨大な自動車事故データや支払われた損害保険料などを分析し、統計に基づく適正な保険料率などを算出することだ。
毎月、会員企業である損害保険会社から契約情報や保険金支払い情報などのデータをデータベースに収集し、機構内でデータ分析した上で損害保険の料率計算の基礎データを作成する。算出した料率を会員の保険会社に提供し、保険会社はこの料率を基に自動車保険などの保険料を策定する。自賠責保険や地震保険といった公共性が高い保険料率は、損保料率機構が算出したものが適用される。
損保料率機構は、データベースにデータを入出力する処理をCOBOLシステムで行っていた。COBOLシステムには1000本以上のプログラムが存在し、その内訳はSQLが7割、COBOLが2割、C言語が1割。SQLのユーザー定義関数を利用し、約1億レコードに及ぶデータから分析担当者が必要なデータを素早く取得、さらに新しいデータをデータベースに追加するという処理を行う。
ところが従来のシステムでは、処理速度が足りなくなっていた。「分析担当者がデータを発注してから取得できるまで1日以上かかることもあった」(情報システム部の江崎新システム開発グループリーダー)という。しかもCOBOLシステムは日本IBM製のメインフレームで稼働しており、保守コストの高さも問題になっていた。
これらの問題を解決するため損保料率機構は2018年2月、COBOLシステムのマイグレーションの検討に着手。当初、COBOLからJavaやC言語への移行を考えたが、「バッチ処理がメインのためJavaでは速度が出なかった。一方、C言語は学習コストが高く異動してきたばかりの人には難しい」(江崎グループリーダー)。
検討の結果、SQLをCOBOLに変更し、既存のCOBOLプログラムはそのまま生かすという決断を下した。ハードウエアはメインフレームからWindowsサーバーに切り替える。