"SOAの名付け親"とも呼ばれるロイ・シュルテ氏

ここ2、3年前くらいまで、企業が選択すべきITソリューションの筆頭として、必ず名前が挙がっていたSOA(Service Oriented Architecture)。だが、最近は以前ほどの頻度でその話題が出ることは少なくなったように感じる。そういった情勢を感じ取ってか、SOA懐疑論者と呼ばれる人びとはこぞって「SAOはもう死んだ」と主張し始めた。

7月14日に東京・品川で行われた「Gartner SOA Summit 2009」(ガートナー ジャパン主催)で基調講演を行ったGartner Researchのバイスプレジデント兼最上級アナリストのロイ・シュルテ氏は「SOAはいまだ"keep going"の状態にある」と"SOA死亡説"を否定する。同氏によれば、ITアーキテクチャがたどる「ハイプサイクル」のちょうど"啓蒙期"の真っ只中にSOAは現在位置しているという。つまり、"SOA"という単語を直接耳にしなくとも、現在、企業内で使用されているサービスはSOAそのものであり、あえてSOAと何度も連呼する必要はないということだ。実際、Gartnerが行った調査によれば、SOA導入企業のうち、60%以上が「ビジネス上の俊敏性が向上した」と回答している。彼らの多くが、もはやSOAの存在なくして企業活動は成立しないと実感しているという。

ハイプサイクルにおけるSOAの位置

だが、同じ調査で気になる数字がある。調査対象業の40%が「SOAによるリソース共有」を行っていると回答しているが、この40%という数字をどう評価すべきなのか - シュルテ氏は「期待していたほどの数字ではない」としながらも、ここ数年に起こったさまざまな技術や社会の変化にぶつかり、SOAそのものもまた、大きく変化していることを考慮する必要があるという。机上の論理から現実社会へと放り込まれたことで、SOAがもつ価値も影響力も変わり、将来における役割もまた変わったのだ。

シュルテ氏は講演の中で、

  • SOAがビジネスプロセスおよびアプリケーションの設計/開発の本質に与える影響
  • Webサービス、Webスタイル、その他ミドルウェアにおいて、最も価値の高いSOAのスタイル
  • SOAにおける5大変化、5年後のSOA

という3つの論点を挙げ、それぞれについて分析、SOAの現在と将来における価値の検証を行った。

SOAが与える影響

まず、SOA開発/設計においては「サービスという概念でシステムのすべてを物語る」という概念が最重要となる。いまさらのようだが、サービスどうしの疎結合こそがSOAの根幹であり、この概念を理解せずしてSOAアプリケーションの設計/開発は不可能といってもいい。シュルテ氏は、

  1. モジュラー型 … アプリケーションが2つ以上の要素で構成される
  2. 分散可能 … 別々のマシン上から同じインタフェースで稼働できる
  3. 発見可能 … サービスプロバイダの実装インタフェースを明示的に記述したメタデータを、ほかのアプリケーション開発者も利用できる
  4. 交換可能 … サービスプロバイダの実装とインタフェースは分離されており、インタフェースを変更することなく、実装部分を変更できる
  5. 共有(再利用)可能 … サービスコンシューマを構成する各コンポーネントは、連続してサービスプロバイダの実装を呼び出せる

上記5つの条件をすべて満たしたアーキテクチャがSOAであるとしている。オブジェクト指向などの従来のアプリケーション開発とは異なり、さまざまなサービスを組み合わせたり、再利用してシステムを組み立てることが求められる。サービスの開発作業そのものよりも、サービスの粒度を適切に設定することのほうがより重要になる。

Webサービス/Webスタイル/ミドルウェアとSOA

SOAはWebサービスを利用してこそその価値が生きる、と主張する人は多いが、実はWebサービスを使わなくてもSOAシステムは構築可能である。シュルテ氏はWebサービスを利用するかしないかよりも、「疎結合であること、オープン(標準)であることが非常に重要」であり、SOA導入のカギを握ると語る。「原則として、アプリケーションセット内のコンポーネントの結合はできるだけ緩いほうがよい。ただし緩すぎてはいけない」という。適切な疎結合は、企業内に散在するレガシーアプリケーションやパッケージアプリケーションなどの容易な統合を実現する。また、SOAPなどの広く使われている標準のプロトコルを使えば、ベンダロックインや言語依存といった問題から開発者は解放されることになり、作業時間が大幅に短縮する。

これらを前提にした上で、シュルテ氏は「用途や目的、結合の疎/密のレベルに応じて、最も効果の高いSOAのスタイルを選ぶべき」と主張する。

たとえば、迅速な処理を実現するといわれるイベント駆動型SOA(EDSOA)では、Webサービスはかならずしも必要ではないことも多い。また、「より汎用的で予測外の用途に利用しやすいマッシュアップサービスなどには、WebサービスよりもREST原理を適用したWebスタイルSOAのほうがよい」(シュルテ氏)という。SOA導入においては固定観念に縛られず、最適な実装形式とテクノロジを選択することがCIO層には求められる。

SOAの5大変化 - キーワードは「イベント駆動型SOA」

現在は、ようやくSOAという言葉も定着し、普及期に入ろうという状況だが、今後5年間、SOAはどのように変化、あるいは進化していくのだろうか。シュルテ氏は5つの可能性を指摘する。

  1. SOAアプリケーションにはほかの事業部門が所有するサービスがかかわる可能性が高い
  2. SOAアプリケーションには統合の課題がかかわる可能性が高い
  3. SOAアプリケーションでは設計時および実行時にBPMを使用する可能性が高い
  4. SOAプロジェクト成功の鍵はむしろ事業部門間の効果的な推進
  5. 意思決定管理には次第に継続的な(イベントベースの)インテリジェンスが使用される

新規に大規模なSOAシステムを構築しようとすれば、自社あるいは部門内のリソースだけでなく、サードパーティのクラウドサービスやSaaS、あるいは他部門のプライベートクラウドサービスなどを利用しなければならない場合もある。「外部のサービスを利用するとなると交渉ごとが多くなり、マネジメントに負荷がかかる。また、セキュリティの面や可用性、課金など、検討事項は多い。これらを考えるとき重要になるのがSOAガバナンスだ」(シュルテ氏)。とくに24時間365日止まらないシステムが求められる昨今、迅速な意思決定こそがシステム導入の成功につながるといわれる。だからこそ「メンテナンスやデータ共有を容易にするためにも、モジュラー形式でアダプティブに設計する必要がある」(シュルテ氏)という。

また、シュルテ氏は今後のキーワードとして「イベント駆動型SOA」を挙げている。「伝統的な意思決定管理では、定期的なインテリジェンスが利用されるが、今後は継続的なインテリジェンスにと移行していくだろう」という。ビジネスのスピードが速くなるにつれ、SOAシステムにはますますリアルタイム性が要求されることになる。1日に1回のモニタリング、といったような定期的なインテリジェンスでは競争に勝ち残ることはできない。いつ起こるかわからないイベント - たとえば為替相場の急激な変動、大事故などが起きたとき、適切な対策を迅速に行うことを可能にするイベント駆動型SOAをシュルテ氏は「次なる大物」と呼ぶ。そして、このイベント駆動型SOAに備えることが、近い将来、非常に重要になってくるという。時代とともにアーキテクチャのもつ意味はダイナミックに変化し、SOAもまた、その存在意義が大きく変わろうとしている。導入にコストも時間もかかるといわれてがちなSOAだが、今後はそういったステレオタイプからの脱却も求められるのかもしれない。