前回(第2回),「認知-分析-行動」の円滑化を実現するのがSOAだと説明した。ではなぜSOAがこのサイクルを円滑化できるのだろうか。大きなポイントの一つは,SOAに属する技術群が,ビジネスから見てITを「仮想化」できるからだ。

 企業のシステム部門は,いかにビジネスロジックや情報と実装テクノロジを切り離すかに頭を悩ませていた。

 例えば,技術を扱う立場からみると,OSをバージョンアップするとその上で動作するアプリケーションも変えざるを得ない。さらにDB製品を他社製品に切り替えたならば,結局データベースも構造から含めて再設計せざるを得ない,というのはしばしば見られる姿である。基盤技術の都合でシステム投資がふくれあがる。いわば,実装テクノロジ間の相互依存性により,システム更新の「チェーン・リアクション」が発生するのである。

 さらに事態を複雑にしているのは,技術ごとに更新するべきタイミングが異なることだ。メインフレームは10年単位,パッケージ・ソフトで構築したシステムはバージョンアップの関係で数年単位,クライアント機器はさらに短い,といった具合である。しかもハード,OS,アプリケーションのそれぞれが有機的に結びついているために,各パーツを個別に取り替えればそれで済む,というわけにもいかないのが悩ましいところだ。

 そこでポイントとなるのが,WebサービスなどSOAを構成する技術群だ。Webサービスを使ってシステムを標準的な手続きで呼び出せるようにする---つまり「サービス化」することで,メインフレームやオープン系,あるいはパッケージやスクラッチ(自作),といった「技術の相違」を隠ぺいできるのだ。Webサービス関連の技術を使って,サービス化したシステムを使う方法を同じにしてしまえば,技術の相違はサービスを利用するユーザー側からしてみれば,さほど影響はなくなる。つまり,SOAはビジネスから見たITを「仮想化」する,とも表現できるだろう。

DB,業務ロジックなど層ごとに分離しサービス化

 SOAではどのような考え方でシステムをサービス化していくのだろうか。まず最初の段階で手がけるべきことは,「アーキテクチャ・パーティショニング」である。各システムを(1)データベース,(2)業務ロジック,(3)業務の順序とフロー制御,(4)プレゼンテーション・ロジックを分離---つまりパーティショニングごとにとらえ,それぞれをサービス化していく。このパーティショニングでとらえると,サービスの粒度を最適化しやすい。


図:アーキテクチャ・パーティショニングの概要(出典:ガートナー ジャパン)

 データベースを業務ロジックから分離している理由は,SOAではシステムごとに異なるデータの整合性までは言及しないからである。社内で異なる製品コードの対応を取ったり,複数の顧客データベースのつじつまを合わせるには,異なるアプリケーションを相互に連携させるEAIツールや,ETL(データ抽出・変換・移行)ツールといった,SOAとは異なる従来技術の分野でカバーする。

 ガートナーではデータの変換や整合性の確保といったデータベース周辺について,「データ・サービス」としてWebサービス化することを提唱している。サービスからの問い合わせに応じてデータ群から適切なデータを提供し,サービスからの変更要求に応じて適切なデータ群を書き換える役割を果たす。

 次回は,次の段階である「段階的配備と保守」について説明する。

 (次回に続く

飯島 公彦(いいじま きみひこ)/ガートナー ジャパン リサーチ ソフトウェアグループ アプリケーション統合&Webサービス担当 リサーチディレクター

ガートナー ジャパン入社以前は,大手SIベンダーにてメインフレームを含む分散環境におけるシステム構築・管理に関する企画,設計,運用業務に従事。特にアーキテクチャやミドルウエアを利用したインフラストラクチャに関する経験を生かし,アプリケーション・サーバー,ESB(エンタープライズ・サービス・バス),ビジネス・プロセス管理,ポータル,Webサービスといったアプリケーション統合技術に関する調査・分析を実施している。7月19日~20日に開催される「ガートナー SOAサミット 2006」では,コンファレンスのチェアパーソンを務める。
ガートナーは世界75カ所で情報技術(IT)に関するリサーチおよび戦略的分析・コンサルティングを実施している。