1. ソースコード自動生成ツールで基幹システムを再構築した
2. 実データを投入したテストで改良が不可欠なことが判明
3. 処理ロジックの見直しやDBのインデックス追加などで対応

 「以前のシステムでは40分で終わっていた日次バッチ処理が、1日かかっても終わらなかった」。ドトールコーヒーの永田憲司氏(管理統括本部 情報管理部 部長)は、新基幹システム「BeANS-EX(ビーンズイーエックス)」を開発した際に、実業務で利用していたデータで行った初めてのテストの様子をこう振り返る。

 新システムは、チェーン加盟店の店舗システムからの受発注や請求入金処理、物流業者への納品指示といった、ドトールコーヒーの物流販売管理に関する業務を総合的に支援する(図1)。

図1●ドトールコーヒーが今回構築したシステム「BeANS-EX」
図1●ドトールコーヒーが今回構築したシステム「BeANS-EX」
店舗システムから、コーヒー豆や食材を受注して納品指示データを準備する、請求書を発行して入金処理を行うといった物流販売管理に関する業務を担う。このBeANS-EXを「GeneXus」というソースコード自動生成ツールで構築した
[画像のクリックで拡大表示]

 開発プロジェクトの特徴は、ウルグアイのベンダーARTechが開発した「GeneXus(ジェネクサス)」というソースコード自動生成ツールを使ったことだ。同ツールのソースコード自動生成エンジンはPrologで開発されている。生成するアプリケーションには、ツール独自のソフトウエア部品やランタイムは使用せず、すべてソースコードとして生成する。

 GeneXusを使うメリットは開発効率の向上だ。また、一度アプリケーションを開発すればOSやDBMSといったプラットフォームを変えても、柔軟にシステムを移行できる。データモデルを変更しても、アプリケーションをすぐ再生成できるなど、メンテナンスも容易といわれる。

図2●開発スケジュールと今回直面した課題
図2●開発スケジュールと今回直面した課題
フェーズ1で実データを基にしたテストを行ったところ、受注から納品指示データを作成するバッチが1日かかっても終わらなかった。フェーズ2では、1万枚の請求書のPDF作成でシステムが応答しなくなった
[画像のクリックで拡大表示]

 しかし、ソースコード自動生成ツールで開発したシステムでは性能や開発できる機能の面で制約はないのか。初めて利用するツールだったこともあり、永田氏らは、こうした疑問に対して自ら答えを出す必要があった。

 以下では、プロジェクトが直面した課題として「自動生成したコードではDBにアクセスするバッチ処理の時間が長い」「大量の請求書のPDF作成でシステムが応答しなくなる」の2点を中心に取り上げ、その対応策を追った(図2)。