SOAの導入を成功させるための10のステップ――SOA導入プロジェクトの経験者から聞き出した秘訣を一挙公開 3ページ

STEP 5
レジストリ/リポジトリを選択する

 Webサービスの発見・利用・再利用を可能にするレジストリ/リポジトリは、SOAの実現に欠かせないものである(図2)。このレジストリとリポジトリの違いであるが、実のところかなり曖昧である。一般的な定義では、レジストリはサービスの格納場所とXMLスキーマなどのメタデータを格納し、リポジトリはサービス自体を格納するものとなっている。しかし実際には、サービスは配置されたプラットフォーム上で動作するので、リポジトリはより深いレベルのメタデータを格納しているにすぎないとも言える。また、レジストリの多くがリポジトリの機能を備えていることから、結局のところ、ベンダーによって呼び方が異なるだけなのだ。

 ロッキード・マーティンのヴィバート氏はレジストリについて、「サービスの発見を手作業で行うのであれば、サービスを一覧表示する単なるWebサイトであってもかまわない」と説明する。

 しかし、サービスの数とそれを利用するアプリケーションの数が多くなれば、本格的なレジストリ/リポジトリを用意しなければならない。

 数年前からSOAの導入を進めていた米国の生命保険会社ハートフォードのIT基盤サービス担当アシスタント・ディレクター、ベン・モアランド氏は、 2003年にクライアントとサービス提供元を動的に結合させるために、UDDI Business Registry(UBR)を採用することを決め、2004年に正式稼働させている。このUBRは、インターネット上に存在するWebサービスの検索・照合システムであるUDDI(Universal Description, Discovery and Integration)のデータベースを指す。ただし、Microsoft、IBM、SAPの3社を中心に活動を続けてきたUBRの推進プロジェクトは、 2006年1月12日付けで打ち切られている。

 なお、レジストリ/リポジトリの選択肢は多岐にわたる。BEA SystemsやIBM、Microsoft、Oracle、Sun Microsystemsといった大手のプラットフォーム・ベンダーに加え、アボーブ・オール・ソフトウェア、フラッシュライン、インフラビオ、SOAソフトウェア、システィネットといったレジストリ/リポジトリ専業ベンダーも製品を提供しているのだ。これらのベンダーは、WSDL(Web Services Description Language)とサービスの関係をグラフィカルに表示する機能や特定サービスへのアクセスを制限するアイデンティティ・ベースのセキュリティ機能、サービス・ポリシーの管理を支援するルール・エンジンといった独自の機能をレジストリ/リポジトリに実装している。

 企業がレジストリ/リポジトリを導入する際には、SOAに関連するサービス/製品を単一ベンダーに統一するのか、ベスト・オブ・ブリードにするのかの選択を迫られることになる。利用するレジストリ/リポジトリについて、財務アプリケーション・ベンダーである米国コマチソフトのシニア・アーキテクト、デビッド・オーブリー氏は、単一ベンダーに統一するべきだと考えている。「何らかのフレームワークを使用していれば、その開発元がレジストリ/リポジトリを売り込んでくるはずだ。現時点では、よほどのことがないかぎり、あえてサードパーティ製品を導入する必要はないだろう。重要なのは、フレームワークとルール・エンジンの相互運用性である。同一ベンダーの製品であれば、それが保証されるが、サードパーティ製品の場合は問題が生じる可能性がある」とデビッド氏は指摘する。

 一方、フラッシュラインのスタック氏は、オーブリー氏と反対の立場を取っており、「SOAのインフラをプロプライエタリなベンダー・プラットフォーム上に構築しようとするのは、大きな間違いである。当社はすべての顧客に対し、オープン性を重視してサービス/製品を導入するようにアドバイスしている。なぜなら、将来的に1つのベンダーに囲い込まれるという最悪のシナリオに陥る可能性があるからだ」と主張する。

SOA_fig2_thumb.jpg
図2:SOAにおけるWebサービスの登録からユーザーが利用するまでの流れ

STEP 6
ガバナンスの問題に対応する

 SOAのガバナンスをどのように行うかについては、できるかぎり早い段階で検討することが望ましい。SOAのガバナンスとは、サービスの責任者はだれか、品質保証に関する問題が発生した場合にはどのように対応するのか、サービス・インタフェースの定義をどのように管理するのかといったルールを設け、それにのっとって適切に統治することである。

 SOAのガバナンスについて、ある大手金融コングロマリットのテクノロジー担当役員は、「SOAへの依存が高まり、環境が複雑になるにつれ、いかにして全体を統治するのかが課題となる。円滑な統治を実現するには、民主主義国家における中央省庁と地方自治体の関係と同じように、管理権限を分散させなければならない」と語る。

 一方、ハートフォードのモアランド氏は、SOAのガバナンス・プロセスを強化するために、部署は異なるが同様の問題に取り組んでいるアーキテクトを集めて話し合う場を設けたという。「この取り組みが認められ、現在は、あるプロジェクトがSOAのリファレンス・アーキテクチャや基本計画に沿っていない場合には、待ったをかけることができる権限を上層部から与えられている。なお、サービスを所有する事業部門は、全社的な利益のためにサービスを保守できる体制を築いておかなければならないと規定することが重要だ」と同氏は語る。