株式会社日立ソリューションズ

marukyo_hisol

メインフレームのマイグレーション
レガシー資産を活かしつつ、オンラインを使いやすく

株式会社日立ソリューションズ(以下、日立ソリューションズ)は、青果卸売会社である丸協青果株式会社(以下、丸協青果)の新システム構築をRuby on Rails、opensource COBOL、LinuxなどOSSを中心に構築。小型メインフレームからの移行を実施した。

卸売と言えば、生産者と小売の中間に立つ存在ではあるが、業務イメージを持てるよう青果卸売業の機能を簡単に説明したい。

まず、はじめに集荷機能として、日本全国の産地や海外からの農産物を確保し小売に対して安定した供給を提供する。その次に、いわゆる「せり」の仕組みで需要と共有のバランスが適正に反映された価格を形成する価格形成機能がある。そして最後に、小売からの代金回収と生産者への商品代金の支払いをする決済機能である。この3つが青果卸売の基本的な役割となる。

90年代から始まったオープン化の波

ここで改めてではあるが、OSSでのマイグレーションを実施する利点を経営点観点から確認したいと思う。

オープン化という言葉が出始めた90年代当初から、オープン化による、ライセンス料の削減やベンダロックインの解除、つまりシステムを選択する権利が手に入るというメリットがあげられてきた。これも昔から言われてきたことではあるが、現在においては人材の確保もいっそう見逃せない利点だろう。メインフレーム全盛期のプログラマは多くが高齢化してしまったが、若い技術者においてはOSSをシステムに組み込んで構築することが既に当たり前でもあり、固定化された技術よりも標準化された技術力を習得することを望むだろう。

その結果、IT技術者の確保に悩まされ、最悪の場合は企業永続性に支障が生じてしまう可能性すらある。

蓄積されたRubyの形式知

ここで、今回の丸協青果の話に戻る。丸協青果では、日立のメインフレーム上で運用開発されたシステムを利用していたが、リースアップを契機に老朽化したシステムをOSSで刷新することを決定した。その際に、業務ノウハウが詰まっているCOBOL資産を有効活用できないか、またメインフレームの操作性に関して、画面構成など使い勝手の良さについては変更を加えずに新システムでも踏襲できないかという要望を日立ソリューションズに出していた。

本案件のみならず小規模メインフレームを運用する企業から同様の要望は多い。日立ソリューションズでは、WebアプリケーションにRuby on Rails、バッチ処理は、opensource COBOLを採用した開発ノウハウを既に持っており、今回のマイグレーションも同社の保有しているノウハウを活用できた。

OSSはソフト購入費用が発生しないという利点はあるものの、その利点は、移行コストに占める現行システム調査やテスト費用に相殺されがちだ。イニシャルコストが大きくなればなるほど、マイグレーションによるソフト購入費削減の利点は感じられないだろう。現行システムの仕様分析や要件定義を効率よく行うための、形式知を社内に蓄積していることは同社の強みであると言える。
*日立ソリューションズではRubyのシステム開発案件に対応する部署が存在しており、Rubyを使った開発に関する様々なノウハウが蓄積されている。

プロトタイプによる顧客と一体になった開発

システムの刷新に当たりまずは、メインフレームで稼働するシステムのソースを解析し解析仕様書という形で解析情報をまとめることから始めた。特に新システムではメインフレームの業務画面(レイアウト、遷移)をそのまま踏襲して開発することがユーザーから求められていたため、画面項目一覧や配置にいたるまで慎重に解析を行った。また、ソース解析からだけでは理解することが難しいメインフレーム特有の知識に関しては、日立ソリューションズ社内の有識者に事前にヒアリングをすることによりシステムの動きを綿密に分析しプロトタイプへと反映させた。

開発手法については、「プロトタイプの手法を実施した」と同社は言う。「ウォーターフォールのように、設計期間を設けて実装していく開発手法を今回は行なわなかった。代わりに、システム分析の結果に基づいて、プロトタイプを作成、それをユーザーに操作していただくことにした」(同社)。

それにより、ユーザーが漠然と抱いていたメインフレームからウェブに移行することによって生じる操作性への不安は、可能な限り取り除きながら開発することができた。今回特にこだわった画面の操作性について、Ruby on Railsには既にJavaScript/jQueryの開発例が豊富に存在しておりメインフレーム特有の操作性を新システムで再現するのに適していたことも開発に貢献した。

Rubyの継続性とOSS支援

新システム構築後の運用フェーズにおいて気になるのはコストだが、丸協青果ではシステムのラニングコストを従来比で20%削減することに成功している。保守に関しては使用するOSSやサポート手段に応じて、問題解決支援や、情報提供を行っている。

OSSソフトウェアは一般的にコミュニティーと呼ばれるボランティアベースで開発が実施されている。日立ソリューションズでは、Rubyを含むOSS活動に対する取り組みを継続的に行なっている。一般財団法人Rubyアソシエーションへの支援(支援金はRuby本体を開発するための助成等に使用される)や本記事のようなRuby事例を積極的に公開することは、最終的にはRubyを利用するユーザにとっての利益につながることになるのだ。

※本事例に記載の内容は取材日時点のものであり、 現在変更されている可能性があります。