BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース SOAに関する未解決のミステリー

SOAに関する未解決のミステリー

原文(投稿日:2010/06/02)へのリンク

数多くの書籍が出版され、ベンダーやアナリストが誇大な発言を行い、SOAは死んだと宣言され、後にSOAマニフェストで生き返ったという事実があるにもかかわらず、この話題にまつわるミステリーは依然として残っている。これらのミステリーの一部は、Joe McKendrick氏の最新の投稿のなかで述べられている。

SOAとクラウドコンピューティングの違いはなんだろう?この2つの関係は、David Linthicum氏によって、とてもうまく定義されている

SOAは、ITソリューションやアーキテクチャを定義するプロセスに関するものだ。一方、クラウドコンピューティングはアーキテクチャの選択肢のひとつだ。したがってSOAをクラウドコンピューティングで置き換えることはできない。実際のところ、大部分のクラウドコンピューティングのソリューションはSOAを通じて定義されていくのだ。これら2つは競合するものではなく、補完する関係にある概念だ。

McKendrick氏は、この話題に関してさらに詳しく次のように述べた。

突き詰めて考えると、クラウドとは企業の垣根を越えて、再利用可能なサービスを獲得したり、プロビジョニングしたりするものだ。同様にEnterprise 2.0は、よりよいコラボレーションや、エンドユーザによる情報のマッシュアップを実現するためにサービスにアクセスすることである。これらはサービス指向アーキテクチャであり、機能させる上では、SOAベースの原則に頼っている。

まだ誰もSOAを完全に実装していないのに、どうしてSOAが失敗しているといえるのか?SOAのもっとも単純な定義は次のようなものだ。

... サービス指向アーキテクチャ(SOA)は、システム開発とシステム連携のフェーズで利用される柔軟性のある設計の原則である。

これは、SOAがシステムを設計する手段だという意味である。言葉を換えれば、「What(何を)」ではなく「How(どうやって)」に焦点をあてたものだ。McKendrick氏の考えは次のようなものだ。

SOAは漸進的なプロセスであり、SOAを完全に実装した人はまだいない。たいていの企業は、まだ最初のSOAプロジェクトを企画したり思案したりしている段階だ。実際のところ、最近のSOAの主要な課題として私が繰り返し聞くのは、SOAが成功しすぎて、SOA道半ばの企業で、あまりにも多くのサービスが行き当たりばったりで追加されようとしたり、立ち上げられたり、求められたりするといったことだ。

どのようにして、SOAプロジェクトが成功したのか失敗したのかを知ることをできるのだろうか? このとき問題となるのは、エンタープライズ・アーキテクチャ全般や、SOAに限っても、何をもって成功したのかという基準がきちんと定義されていない点だ。Todd Biske氏は次のように述べている。

...企業が成功したと主張するのか失敗したと主張するかは、主に期待と目的に帰着される。期待値と目的が明確であれば、成功したか失敗したかも明確となる。... ここにリトマス試験紙がある。もしSOAを適用しているとすると、「成功しているとどのように知ることができるのだろうか?」という問いに答えることができるだろうか。もし質問に答えられないのであれば、何が基準になるか考えてみよう。あなたは、おそらく予想される失敗へと向かっているのだから。

Ugo Corda氏は、このことに加えて次のように付け加えた。

...SOAの利点のなかには、SOAが成功したと確かに確認するためには、十分な時間(たとえば数年)が必要になるものもあり、それらの成功談は、その時間軸を通して確認されたものではない。

McKendrick氏は次のように述べている。

これはSOAを始めるにあたっての、痛切なチャレンジとなる。成功を得るまでには長い時間がかかる。複数のビジネス・ユニットによってサービスが共用された結果として、サービスの開発時間が著しく短縮されたり、下支えするインフラストラクチャの柔軟性が増すことにより、ビジネスを再構成できるようになったり、製品やサービスをより早く市場に投入できるようになったりする。 市場における唯一の長期的な成功の尺度は、売り上げの増加か株価の増加であり、SOA以外のいくつもの要素が、これに貢献するのだ。

完全に機能している真のSOAの実装がどれぐらい存在するだろうか? 再び、疑問はどうやってこの数字を計測するのかというところに戻ってくる。サービスの数や粒度によって?それともサービス・コンシューマーの数によって?McKendrick氏は次のように語っている。

単なるWebサービスの一群が、いつSOAにかわるのだろう?Webサービスが、ガバナンスやレジストリ、管理、その他有益なものを用いて、より手間をかけて面倒をみなくてはならなくなるタイミングとはどういうものだろう。これらによって、よりSOAらしくなるのだろうか?

Herbjörn Wilhelmsen氏は、完全に機能するSOAには次の要素が必要だと述べることで、この問題を掘り下げている。

  • 明確で戦略的なリーダーシップ
  • ビジネス上の価値の優先度付け
  • 企業文化
  • 適切なインセンティブ
  • サービスを発見する能力
  • 相互運用性
  • 再利用の機会
  • サービスを進化させることを可能にすること
  • サービス・レベル・アグリーメント
  • サービス指向アーキテクチャをテストすること
  • サービスを監視すること

もしSOAが「テクノロジーに関することでない」のであれば、なぜ技術者がSOAを推進するのだろうか? McKendrick氏は次のように述べている。

これは、どんなカンファレンスでも、どんなアナリストノートでも、どんな論文でも、常に耳にすることだ。SOAは、完全に、確実に、確信をもってテクノロジーに関することではない。しかし、テクノロジーベンダーによってSOAが推進されているため、IT部門の庇護のもとにおかれることになるのだ。

As McKendrick氏は、次のように指摘している。SOAは、今まさに進化しているアーキテクチャ上のアプローチであり、いろいろと語られているにかかわらず、多くのSOAに対する発言は、事実よりも感情によって行われている。

この記事に星をつける

おすすめ度
スタイル

BT