SOAという宗教のような言葉が、なぜ必要だったのかを考えてみました。
従来別々に発展してきた分野の製品が、同じステージに集合したこと。
BPMやEAIもそうです。他にはERPベンダーも(最大手のSAPも)、従来のモノリシックの限界を反省して、J2EEプラットフォームに乗り換えをしました。ポータル製品群も同じ。そして、どの製品も似たり寄ったりになってしまったので、製品の個性がウリモノにならなくなってしまいました。
それでベンダーは、サービス業に転じるか、巨大なスーパーマーケットになるか、どちらかを目指しはじめます。
これだけ巨大な製品がフィットする案件なんて、大規模で泥臭いに決まってます。そこをなんとかスタイリッシュに提案するためには、SOAは、キャッチーな言葉だったのかもしれません。(スタイリッシュでキャッチーだと思っていたのは、製品ベンダーの誤解ですが・・。)
エンタープライズアーキテクチャの重要性が問われたこと。
無節操なIT投資はやめて、企業設計とシステム設計をシンクロさせる。そしてムダを省く。これがエンタープライズアーキテクチャ(EA)です。
クライアントサーバ型のシステムが誕生した1990年代後半から、Webが定着した2000年代前半までは、どの企業も、本当に新しいシステムを作ることに一生懸命でした。
その効果に疑問をもちはじめ、新しいシステムを作るよりも、今持っているシステムをどうやって利用していくかを考え始めたのです。
これはまさに、SOAで言うところの「サービス」「疎結合」の考え方にマッチします。
社会的背景。
不況が続く中で、新規投資をするよりは、今ある資産をどうやって活かしていくかを考えたほうがいい。という心情が、EAへの憧れをさらに加速します。2007年問題なんてのも考えれば、同じ結果につながります。
という動き、いわば社会現象です。過去にはオブジェクト指向も同じようなモチベーションを持っていました。しかし、SOAは、もっと多くのステークホルダーを巻き込んでいます。
最後に、SOAの定義の話。
標準化団体のOASISやW3Cなどでも、「SOA」を定義をしています。いずれも、たいした定義はしていません。世の中にたくさんある「SOAの定義」の最大公約数をとってみると、たぶん次のようになります。