私はすでにSOAPを使用しましたが、SOA、ESB、およびその他のエンタープライズアプリケーション統合パターンを使用したことはありません。そして、ESBに関するドキュメントは非常に紛らわしいと思います。
ESBで理解できないことがあります。企業のネットワークをバスとして表現するという概念であり、具体的なものではないことは承知していますが、それでもなおです。
ESBがレガシーサービスでプロトコルとメッセージの変換を提供し、オーケストレーションを可能にし、メッセージの宛先のロジックがESBによって行われることを理解できます。しかし、私はESBを異なるESBサーバー間のミドルウェアとしても考えました(Webサービスインターフェイスだけではありません)。
ServiceMixを例にとると、共通のバス/プロトコル(NMR?JMS?)を介して相互作用する異なるサーバー上に複数のServiceMixプラットフォームがあるのは自然なことだと思いました。したがって、CAMELで作成されたServiceMix(a)のサービス(たとえば、いくつかのWebサービスを使用)は、同じくCAMELで作成されたServiceMix(b)のサービスを消費する可能性があります。
したがって、サービスに別のサービスが必要な場合は、その識別子を指定するだけで、ESBがリクエストを正しいServiceMixプラットフォームにルーティングします。
しかし、ServiceMixの例について読んだとき、ServiceMixはスタンドアロンのアプリケーションサーバーとして主に使用されているように思われます。サーバーのクラスターではありません。
ESBは単にブーストされたアプリケーションサーバーですか?(それが提供する統合機能は別として)
実際にSOAには複数のESBがありますか?ESB内部のプロトコルにリンクされていますか?または、ESB(a)に実装されたサービスは、ESB(b)がそのサービスを使用できるように、SOAPなどの外部インターフェイスを提供する必要がありますか?