現在、多くの企業がSOAへの関心を高めているが、マツムラ氏はその現象を「SOAという巨象に、盲目の人々が群がっているような状態。ある人は細いしっぽを捕まえて"これはヘビだ"と思うかもしれないし、胴体に触って"これは壁だ"と思うかもしれない」と、業界の混乱ぶりを指摘する。
では、SOAとはどう定義づけされるべきテクノロジなのか。OASIS(Organization for the Advancement of Structured Information Standards)の主要メンバーのひとりでもある同氏は、OASISによるSOAの定義を引用し、3つのパートに分けて説明してくれた。
分散した機能/サービスを組織化し活用するためのパラダイム
「現在、Web上に混在するテクニカルサービスの数は、おそらく5万を超える。これらをビジネスサービスとして活用するには、いくつかのテクニカルサービスをまとめ、もっと粒度を粗くする(coarsely grained)必要がある」(マツムラ氏)
実はこの適切な「粒度の粗さ=機能の多様さ」を設定することがSOAにおける最もややこしい部分なのだが、逆に言えば適切な粒度に設定されたサービスであれば、ビジネスの変化に伴うプロセスの拡張/変更に対しても柔軟かつ迅速に対応することが可能になる。「Google Mapsがそのいい例だろう。ビジネスサービスをひとつのプラットフォームとして開発者に提供することで、数々のマッシュアップアプリケーションが生まれている」(マツムラ氏)
異なるドメインのオーナーシップ(権限)を管理
「メインフレームのように権限が集中しているシステム、あるいはWebアプリケーションサーバのように権限が分散しているシステムといったように、企業内にはさまざまなドメインが混在している。だがこれらすべてを一元管理しようとしても、結局は中途半端なソリューションで終わってしまう」(マツムラ氏)
ビジネスサイドが柔軟性を求めるならば、それを支える「柔軟なIT」が必要になる。だが、異なるドメイン/サービスを一元管理のために無理やり紐づけてしまえば、複雑で無秩序な相互依存環境ができあがり、「サービスを利用するのに時間がかかる」「サービスの再利用ができない」「相互運用できない」など、ユーザ側から不満が噴出する事態になるだろう。これではSOAの特長のひとつである「緩やかな疎結合」が生かせない。そこで登場するのが「SOAガバナンス」というわけだ。
統一された手法の実現
ではSOAガバナンスでどのような効果が上がるのか。マツムラ氏は「SOAは本来シンプルなパターン。サービスはレジストリの中にパブリッシュされ、レジストリがコントロールポイントとなる。サービスはプロバイダとユーザ間でリクエスト/レスポンスベースで運用される」とし、シンプルだからこそ「手法が一貫している必要がある」という。
「(手法を一貫させるためには)プロバイダとユーザの仲介役を果たすランタイムガバナンスが必要。サービスの実装や運用を管理するポリシー(ルール)を定義し、すみやかに実行するものだ。(ガバナンスは)例えるなら水のレギュレータのようなもの。リクエストとレスポンスをここでコントロールすることで、統制のとれたSOA環境が実現されることになる」(マツムラ氏)
SOA実現において必要なものは「インフラとルール、すなわちガバナンス」とマツムラ氏は断言する。webMethodsではSOAガバナンスを実現するソリューションとして「Infravio X-Registry」「Infravio X-Broker」を提供している。いずれも同社のソフトウェアスイート「webMethods Fabric 7」の主要コンポーネントだ。
プロバイダはサービスをX-Registryにレジストリし、ユーザはX-Registryからサービスをディスカバリする。プロバイダとユーザの間にはあらかじめ「サービスデリバリコントラクト」が交わされており、このコントラクトはX-Registryに入っている。X-Brokerはこのコントラクトを参照してリクエスト/レスポンスを実行する。X-RegistryとX-Brokerはポリシーと使用メトリクスにもとづいて実行するサービスを決定する。「SOAのライフサイクルにわたるガバナンスはX-RegistryとX-Brokerをもって完成させることができる」(マツムラ氏)
ビジネスの変化が激しい現在、高いROI(Return on Investment)を確保するためにも、ITにはより柔軟なアプローチが求められる。コンポジットアプリケーションの作成/変更などにおいて、SOAは高い効果が期待されているが、マツムラ氏の言葉を借りれば「SOAガバナンスがなければその効果も最大限に発揮することができない」というわけだ。一貫した期待どおりの結果を得たければ、そのためのルール作りが重要になる。とくにサービスが乱立しているような環境では、交通整理をする仕組みがなければ統制が取れなくなる。サービスを導入するだけではなく、どういうポリシーをもってその活用にあたるのか、今後、IT担当者が必ず考えなければならない課題であることは間違いないだろう。