by Gartner
ロイ・シュルテ VP兼最上級アナリスト
アンソニー・ブラッドリー マネージングVP
イーフィム・ナティス VP兼最上級アナリスト
飯島 公彦 リサーチVP

 SOA(サービス指向アーキテクチャ)は長期的に見れば,分散アプリケーションシステムを導入・変更する際に,時間と労力,コストを削減できる技術である。システムにSOAを適用すれば,それを使って新しい業務プロセスを導入したり,既存のプロセスを変更したりするのが容易になり,コストも抑えられる。しかし,システム面でコスト削減の果実を摘み取るには何年もかかる。もう一方の業務プロセス側のメリットは,システム部門の外で発生するため,定量化が難しい。

 このため予算が厳しくなると,SOAの導入は全面的に延期するという決断を下しがちだ。それを避けるには,短期的なコスト削減策を積極的に打ち出したほうがよい。本稿ではその方法を解説する。

既存アプリを生かすべき

 SOAはしばしば他のアーキテクチャを使うよりも初期コストが高くなる。特にSOAを最初に導入する際には,システム部門の再教育が必要になり,それまで導入していなかったソフトウエアツールの購入も必要になる。

 しかし,既存のレガシーアプリケーションの一部をラッピングしてSOAのサービスとして再利用できるなら,モノリシックな非分散型のアプリケーションとして実装するよりも初期コストを下げられる可能性がある。レガシーアプリケーションが高品質で,新しいSOAアプリケーションに生かせるデータとロジックを含んでいるなら,ラッピングして利用するのが現実的だ。

 SOA利用の有無にかかわらず,どんなアプリケーションも,ライフサイクル全体のなかで初期導入コストが占める割合は20%にすぎない。残りの80%が保守費用だ。SOAベースのアプリケーションは,疎結合の性質があるため,ライフサイクルの後半に大きな利点がある。最初のSOAアプリケーションが稼働した後なら,その変更や別のSOAアプリケーションの追加で変更個所が限定されるため,必要な時間とコストが少なくて済む。

少しずつ進めるのが最善

 SOAの導入はよく「旅」にたとえられる。少しずつ導入していくのが最善なのだ。厳しい予算に直面したときでも,SOA導入の全面的な延期は避けたほうがよい。想定より進みは遅くても,予算の制限に合わせた導入ロードマップを描くべきである。プロジェクトの優先順位を決めて,成功体験をいち早く共有したい。

 成功しつつあるプロジェクトはペースを落としてでも続けるべきであり,うまくいっていないプロジェクトは中止して予算を他に振り向けたほうがよい。投資効果が低くてもコストがかからないプロジェクトに注力すべきである。高価で大規模なプロジェクトはコスト削減の標的になりやすいからだ。

 既存のSOAサービスを活用できるプロジェクトがあるなら,それを選ぶべきだろう。既存のサービスがないなら,共通サービスの開発に予算を振り向ける方法もある。低予算で低いリスクで成功を享受できる可能性が高い。

 さらに,社内戦略に沿ったプロジェクトを優先したほうがよい。予算をカットされにくいからである。

ツールの導入を急がない

 予算の制約が特に厳しい場合には,SOAアーキテクチャの開発やSOAのインフラストラクチャソフトウエア製品への投資は避けるべきだ。初期コストがかさむにもかかわらず,対価はあいまいだったり,得るまでに長期間かかったりするからである。

 全アプリケーションの棚卸しや,将来のあるべき企業全体のSOAアーキテクチャの構築などは,90%まで進行したといった場合でない限り,永遠に中止すべきだ。そうした過程で作成したアーキテクチャに関する文書は,時間がたつと急速に価値が低くなる。なぜならITのポートフォリオやビジネスの変化により情報が陳腐化するからだ。新しいSOAプロジェクトを開始するころには,既存のSOAサービスに変更が必要になることも多い。

 アプリケーションの棚卸しにかかるコストは,中堅企業の場合で24万ドルからといったところである。SOAアーキテクチャの構築にもほぼ同じくらいかかる。大企業ならそのコストは10倍以上にも膨れ上がる。これらを中止すればコストを大幅に抑えられる。

 SOAのリポジトリ管理ツールの購入は,サービスのバージョン数が60~100個程度に達するまで遅らせたほうがよい(40個のサービスが2バージョンずつなど)。その程度の数なら,ExcelやWordなどのオフィスソフトと,ソースコード管理ツールなどを組み合わせ,SOAのインタフェースに関するメタデータを管理するだけで十分だ。

 フル機能を備えた商用のリポジトリ管理ツールの導入コストは,規模などによるが30万ドルを超え,その保守費に年間6万ドルかかる。導入を遅らせれば,保守費などが浮く。

 SOAのガバナンスとサービス監視のためのツールも,特定の条件に達するまでは購入を遅らすことができる。高いサービスレベルを求めるアプリケーションにSOAを適用するまで,またはSOAサービスが50個を超えるまで,またはSaaS(ソフトウエア・アズ・ア・サービス)などの外部で運用されるSOAサービスを利用するようになるまで待つことができる。SOAのガバナンスツールが20万ドルなら,購入を遅らせることで保守費などを支払わなくて済むようになる。

 SOAサービスの数が50個を超えず,さらに非同期のデザインパターンや既存アプリケーションとの統合機能などを決して利用しないなら,ESB(エンタープライズ・サービス・バス)ソフトウエアを導入する必要はない。要求と応答を繰り返すだけの単純なSOAアプリケーションなら,OSやアプリケーションサーバーに無償で搭載されているSOAP/HTTPミドルウエアや,単純なXMLツールを使えば十分である。

 これで25万ドル程度するESBソフトの購入が不要になる。ただし将来,非同期通信などを使う可能性があるなら,最初からESBソフトを購入したほうがいい。既存のサービスを後からESBソフト向けに変換するのは高いコストと時間がかかるからだ。