ESBが目指すこと
SOAの目指すもの
SOAの目的は一定の基盤の上でプラクティスを繰り返しながら再利用するサービスの品質が向上し、さらに、サービス利用者からの再利用の頻度が高くなっていく中で、サービスの利用とサービスの提供に関わる開発とこの基盤の運用のサイクルが、自立的に展開していくことです。
また、システムインテグレーションの面では部門ごとにサイロを作らずに企業内をビジネスモデルに従ったプロセスにわけて、柔軟にサービスを組み合わせて、横断的に統合することを目的とするものです。このためには小さな部門の中に閉じてSOAが存在しても本質的な目的は達成できないのです。
企業内の部門がサービスを提供することで、ある種のアウトソーシング機能を果たし、部門間のアウトソーシングの構造が、グループ会社にも波及することでサービスの再利用が拡大し、これまでにないビジネス・プロセスが構築できるようになります。
このようなオーガニックIT(Organic Business March 18,2004 Forrester Research ,Inc. を参照)を実現するためには企業内から企業外へと波及する基盤が必要です。しかし、多くのIT部門ではアプリケーション開発の基盤の導入を考慮しても、システムインテグレーションのための基盤に多くの投資をしようとする考え方がなかなか見られません。
確かに基盤への投資のリターンはわかりにくいものですが、SOA時代のインフラを構築の重要性を認識していただけるのであれば、IT部門の意識を統一して基盤を整備する必要があると考えられます。
ESBが企業内を跨る基盤として利用されることが今後どれほど進むかは、まだ不透明な面があります。冒頭のCORBAの共通バスやクレディスイスの事例のように時間をかけてインフラを構築した例もありますが、実際はより小さな範囲でのシステム連携のためにサービス指向インテグレーションとしての利用は多く見られるようになると思われます。
ESBもSOAだけでなくSOI(Service Oriented Integration:サービス指向インテグレーション)として、システム間連携としてはじめ、インテグレーションを段階的に拡張していくことで当初の目標としているSOAベースのシステム開発スキームを実現していくのが、現実的であると思われます。小さくはじめられるESBはそれらのケースに柔軟に対応するためにも必要となります。
しかし、現在のESBは各ベンダーのもともと持っている技術がベースとなっており、生まれの違うESBは目的が同じでも、アーキテクチャも実装の仕方もまったく違います。EAIツールの出身者は従来のEAIの構成のままでもESBといっており、J2EEアプリケーションサーバをプラットフォームとしている場合はアプリケーションサーバがESBのエンドポイントの前提となっています。また、MOMをベースとしているものは、そのままのメッセージングの基盤が使われていたり、CORBAをベースにしたものはCORBAとよく似ていたりしています。
このまま進むと、従来のミドルウェアのスパゲティ状態の再現になるかもしれません。それを避けるためにも、既存の資産をいかしながらテクノロジーに依存しないアプリケーションのセマンティクスをカバーする統一したインフラが必要です。
冒頭でお話したように、私たちの周りの整備された社会インフラと同じように蛇口をひねるときれいな水がいつでも手軽に得られるようなITインフラを作るべきなのです。