既存システムという制約とアーキテクチャ――どうつなぎ、うまく再利用するか戦う現場に贈る分散システム構築−開発現場編(10)(1/3 ページ)

複数システムを統合するプロジェクトを任された若手技術者の豆成くん。机上の空論よりも検証が重要であることを認識した豆成くんだったが、その目の前には既存システムという伏魔殿がそびえていた……。

» 2010年04月26日 12時00分 公開
[岩崎浩文,楽天株式会社]

 システム開発子会社から中堅メーカーのマメックス工業(仮名)に転職した豆成くんは、入社早々点在する複数のシステムを統合する大役を押しつけられてしまった。

 非機能要件を担当することになった豆成くんは、システム全体のアーキテクチャを考えつつ、“アンタッチャブル”な既存システムの領域に踏み込むことになった。単独システムの開発経験はあるものの、業務知識やシステム統合技術を持たない豆成くんは無事、プロジェクトを成功に導くことができるのだろうか?

豆成くん、立ちすくむ

 前回、豆成くんは製品選定を含めたシステムのアーキテクチャに頭を悩ませた。当初は簡易な机上検討だけで製品を選定しようと進めていたが、先輩の蔵田の助言に従い、確証を得るためにプロトタイプを構築して実際の動作を検証する必要があるだろう、という結論に至った。大量の人員を投入する“実際の構築段階”になって「やっぱりつながりませんでした」という言い訳は許されないからである。

 プロトタイプは、社内システムの典型例として会社の根幹を成す販売管理ホストシステム、売上関係を管理するERPシステム、そして地方の各販社に設置されている個別のオープン系システムの3つを対象とすることになった。作業としては、現在蔵田のチームがまとめている業務用件から典型例を抽出し、これに基づいて3種のシステムが連携・動作する方法を検討することである。

 豆成くんは、「昔取った杵柄(きねづか)」でソフトウェアのアーキテクチャを具体的に考え始めた。過去、過去、単体システムの開発においては、チームリーダーとして活躍した経験があるため、ここはお手のものである。これが新規開発であれば、プロジェクトの最後まで見通せる自信があった。

 しかし今回のプロジェクトでは、目前に彼のほとんど知らない旧式のシステムがズラリ。いわゆる「オープン系システムの新規開発」しか経験したことのない豆成くんにとって、30年前から黙々と動き続けているホスト系のシステムは、その黒い背景に発光する文字だけの端末画面の無愛想さも相まって、恐怖すら覚えさせるものだった。

 「なぁ、豆成。プロトタイプの設計は順調に進んでる……か?」

 蔵田は昼食に誘った豆成くんに対して、恐る恐る尋ねてみた。

 「……はい」

 視線をそらし沈黙してスープを飲む豆成くんの青ざめた顔を観て、これはマズいと蔵田は感づいた。

 「難航してるようだな。手掛かりもないって感じだろうか。いま動いている販管ホストとかERPが分からんとは聞いてたが……」

 どんぶりをかき込みながら蔵田は言葉を選んで状況を探った。

 「オープン系の販社システムなら、おおむね内容はコードまで追い掛けることで把握できました。ERPについても外部APIの仕様はある程度メーカーから公開されていますし、協力も得られそうです。ただ、ホストが……」

 か細い声で説明し続ける豆成くんの言葉に重ねるようにして、蔵田が相づちを打った。

 「そう、うちのシステムの問題はそこなんだよ。30年も昔に作ったシステムが誰も中身が分からん状況で動き続けている。いままで10年単位で刷新プロジェクトが立ち上がったらしいんだが、結局は全部失敗してるんだな。仕様書も残ってないし、誰も中身が分からないからだ。つまりブラックボックスのまま、延々と正常動作し続けてるわけだ。気色が悪いが、正しく動いてるものをわざわざ壊すこともないだろう――という経営判断なんだ。それはまぁ、そのとおりなんだが……」

 「でも」と、豆成くんは顔を上げた。

 「だからこそ、ある程度の中身と動作を確認しておく必要があると思うんです。中身をイジらないにしても、外部システムとのやりとりだとか、外部APIだとか……。でも、販管ホストシステムは外部APIが全然なくて……。どうやってつなぐのがいいのか判断が付きません」

 「ああ、特に販管ホストは端末と密接につながってしまっていて、純粋な情報を取り出せない仕様になってしまってる。それはそのとおりだ」

 「だからといって、いまさら外部APIを追加開発するのにも、既存機能を改修するのにも、仕様書が残ってないから事実上不可能です。一体どうすれば……」

 昼食を食べるのも忘れ、豆成くんは頭を抱えた。


 「ちょっと見てくれ」

 蔵田は昼食後、豆成くんを呼んで古い資料を持ち出した。

 「これは10年前の改修プロジェクトで作成された当時の報告書だ。さっき、豆成が言っていた点も指摘事項として挙がっているぞ」

 豆成くんは中身を見て唸った。「これ、一応の解決策パターンまで書いてあるじゃないですか……」

 蔵田は少し照れたような表情で言った。

 「当時はいまみたいにシステム連携基盤も一般的じゃなかったし、オープン系の言語も普及してない過渡期だったんで、この資料で連携パターンとして挙げられてる内容は技術的に不可能だったんだ。で、プロジェクト自体がポシャった……。だが、いまならできるかもしれん」

 「アイデアは十分使えると思います。なるほど、結局、言語や技術が変わっても理屈はそうそう変わることがないということなんですね。これ、ひょっとして蔵田さんが昔書いたんですか?」

 「忘れたよ」――とでもいうように蔵田は豆成くんのポンと肩を叩いた。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ