よく、(企業のトップダウンアプローチによる)SOA自体の複雑さ、すなわち、形式的なSOAガバナンスの指導力を必要とすることについて語られることがあります。実際、形式的なSOAガバナンスがなしには、簡単に間違ったことを犯しやすく、SOAを成功させることは難しいでしょう。
彼の見解では、WOAはSOAの複雑さの多くを避けることができる。複雑なツールやWS-*アーキテクチャを必要としないからだ。(SOAとWS-*を同一視するのを多くの人が嫌っている(参考記事・英語)ことを、Dan氏も知っていると考えるべきでしょう。)もちろん、WS-*を必要とする(参考記事・英語)複雑なアプリケーションを実装する場合、REST(すなわち、WOA)は必ずしもシンプルではない、という議論もある(参考記事・英語)。ただ、今回はそれらの議論は置いておいて、Dan氏の肝心の問いである「結局、WOAになってもガバナンスは必要なのか?」にフォーカスしよう。
それに対する回答は、おそらく「必要」でしょう(あなたはエンタープライズ・アーキテクトですか?ここではまだ期待しないように)。しかし、私が考える「WOAガバナンス」のアプローチは、SOAガバナンスのものとは根本的に異なっています(オーケー、エンタープライズ・アーキテクトはここからしっかり聞いてください)。
その根拠は?従来の典型的なSOAでは、エンタープライズ・アーキテクトは、サービスの供給者と消費者の相互作用を管理するルールの設定をしていた。
このやり方は、組織の体制を見たときに、すべての人が結局ひとりの人に報告するような企業ではうまく機能します。
Webベースのアーキテクチャの場合でも、従来のSOAガバナンスのアプローチに従えば、サービスを相互作用させるために、これまでと同様すべてのポリシーを設定する役割を担う「インターネット・エンタープライズ・アーキテクト」をたてることになるだろう。
実に単純です。「インターネット・エンタープライズ・アーキテクトをたてる」という点以外は。これには注意が必要です。結局、SOAガバナンスのトップダウンアプローチは、WOAにとっては完全に使いものになりません。
では、どんなアプローチならうまく機能するのか?Dan氏は、WebベースやSOAPベースといった、どんなインフラを必要とするかに関わらず、ガバナンスには基本的な部分があると指摘する。たとえば、
サービスの供給者は、どうやったらより簡単に顧客を集め、そして顧客を(頻繁なサービスの変更のあいだ中)幸せにさせることができるのでしょうか?どうやったらサービスの消費者がそのサービスの提供者への信用し、信頼を築きあげることができるのでしょうか(ここでの信頼とは、「検証した上で信頼する」ということです)?
結局WOAが本当に成功するためには、SOAガバナンスの持つ目標の多くを必要とする。しかし、Dan氏の言う「根本的に異なる方法」で。これは、REST アーキテクチャに不足しているものを意味するのだろうか?WOAの単純さを損なうことなく、正しいガバナンスを加えることができるだろうか?