カインズやワークマン、ベイシアなどを傘下に持つベイシアグループはメインフレームの撤廃とCOBOL資産のマイグレーションを2022年5月に完遂した。約3年をかけたプロジェクトの全容を2回に分けて見ていく。

「基幹系システムが足かせになってはならない」

 ベイシアグループはメインフレームベースのシステムを約20年前から徐々にクラウドサービスなどに移行してきた。しかし一部の商品マスターや発注・在庫管理などの機能を備えるベイシアグループ共通システムと、ベイシアの基幹系システムはメインフレームに残っていた。本記事ではこの2システムを便宜上、基幹系システムと呼ぶ。

 この基幹系システムは富士通製メインフレーム上にプログラミング言語のCOBOLで開発したアプリケーションを稼働させたものだ。もともとベイシアグループはスーパーマーケットのベイシアからスタートし、ワークマンやカインズなど新会社を次々に立ち上げてきた。新会社ができれば、その会社向けにCOBOLで追加機能を開発し、共通して利用できる部分はCOBOLプログラムを拡張したり、分岐したりして利用してきたという。

 「約30年も拡張を重ね、COBOLアプリケーションは肥大化していたが、COBOLエンジニアの確保は今後難しくなるとみていた」。基幹系システムのオープン化プロジェクトに携わったベイシアグループソリューションズの平田稔ソリューション統括本部オープン化推進部部長は刷新前の課題をこう振り返る。

ベイシアグループソリューションズの平田稔ソリューション統括本部オープン化推進部部長(左)と執行役員を務める重田憲司ソリューション統括本部本部長。後ろに映るのは以前利用していたメインフレームのきょう体
ベイシアグループソリューションズの平田稔ソリューション統括本部オープン化推進部部長(左)と執行役員を務める重田憲司ソリューション統括本部本部長。後ろに映るのは以前利用していたメインフレームのきょう体
(写真:日経クロステック)
[画像のクリックで拡大表示]

 「各子会社が矢継ぎ早に数々のIT施策を打ち出すベイシアグループにとって、基幹系システムが足かせになってはならない」(ベイシアグループソリューションズで執行役員を務める重田憲司ソリューション統括本部本部長)。そう考え、基幹系システムのレガシーマイグレーションを決め、メインフレームを撤廃するとともに、「ラスボス」ともいうべきCOBOL資産の移行に乗り出したのだ。

2万本のCOBOLプログラムが稼働する超巨大システム

 基幹系システムのレガシーマイグレーションに取り掛かったのは2019年2月からだ。一般にCOBOLで構築されたシステムのレガシーマイグレーションには、全面的にシステムを刷新するリビルドや、プログラミング言語を変更するリライトといった手法などがある。平田部長は「計画当初はスクラッチ開発によるシステムの全面刷新も視野に入れていた」と打ち明ける。

 ただベイシアグループの基幹系システムはメガバンクほどではないが、かなり大きい部類といえる。具体的にはCOBOLプログラムは2万本以上、ステップ数に換算すると約600万行あり、画面数は約800、運用に使うJCL(ジョブ制御言語)は約1万本という規模だった。

 加えて仕様書がないプログラムもあり、全プログラムの解析は困難になると予想された。一方で基幹系システムは発注や在庫管理といった日常業務に欠かせない処理を担っており、トラブルによる停止は許されない。平田部長らは短期間で安全にレガシーマイグレーションできる方策を模索することになった。

 そんななか目に留まったのがTISの事例だった。ベイシアグループと同規模のCOBOLシステムをTISの「Xenlon~神龍 モダナイゼーションサービス」を活用してJavaにリライトした事例だった。しかも刷新後は安定稼働しているという。

 Xenlonであれば要望を満たせるかもしれない――。こう考えた平田部長はTISと連携してPoC(概念実証)に取り組んだ。すると結果は良好だった。

 TISのツールを使ったCOBOLプログラムからJavaプログラムへの自動変換率は9割を超え、業務ロジックを担うプログラムに限っていえばほぼ100%変換できた。つくり直しが必要になるCOBOLプログラムもあったが、「変換率が高く、一安心できた」(平田部長)。こうしてプロジェクトをTISと共同で進めることとした。

 マイグレーション後のハードウエアはオンプレミスの富士通製Linuxサーバーを採用することにした。クラウドサービスの利用も考えたが、基幹系システムとつながるシステムが88もあることやデータファイルが約1200もあることなどを考慮したという。「保守・運用を考えても巨大なシステムをいきなりクラウド移行するのは危険と判断した」(同)。

一部追加開発が発生するもJavaへの変換は順調に進む

 PoCが終了した後、2019年2月から4月まで要件定義を進めた。システムの詳しい分析やJavaに変換するCOBOLプログラムの選定、性能要件などを詰めていった。

 基幹系システムは拡張を重ねていたため、新会社を立ち上げる際にしか使わないといった、ほとんど使わないプログラムや、現在は使っていないプログラムなどが多数交じっていた。こうしたプログラムを洗い出したところ、およそ半数が移行する必要がないと分かった。

 本格的なプログラム移行が始まったのは2019年5月。ベイシアグループとTISのそれぞれのエンジニアが合計90人体制を組み、COBOLプログラムをJavaプログラムに変換していった。一部のプログラムに性能上の課題が生じることもあったが、プログラムをチューニングしたり、ループ回数が多い場合はキャッシュするといった修正を施したりして乗り切った。

 変換作業も終盤に差し掛かった2019年後半、思わぬ事態に遭遇する。テストを実施したところ追加開発が必要だと判明したのだ。

 稼働実績を調べて約半数に絞り込んだCOBOLプログラムだったが、稼働実績がないにもかかわらず、処理の実行に必要なプログラムがあったのだ。平田部長は「過去の知見も及ばない、運用の陰に隠れていたプログラムがあった」と振り返る。

 追加開発による揺り戻しがあったものの、2019年内にはシステム稼働に必要なCOBOLプログラムのほとんどをJavaプログラムに変換できた。しかしプロジェクトはさらなる山場に突入することになる。「テストフェーズが始まった2020年が苦しく、開発のピークだった」(平田部長)――。