私は他のポスターに同意します。ESBはSOAに少し似ています。これは、満たす必要のある厳密な基準としてではなく、主にマーケティングのセールスポイントとして使用される一般的な定義です。
ウィキペディアから:
コメンテーターは、エンタープライズサービスバス(ESB)をアーキテクチャスタイル、ソフトウェア製品、またはソフトウェア製品のグループとして定義するかどうかについて意見が分かれています。ESBの使用は確かに特定のアーキテクチャへの準拠を意味しますが、「エンタープライズサービスバス」という用語はほとんどの場合、そのようなアーキテクチャを可能にするソフトウェアインフラストラクチャを意味し、本質的に、ESBはサービス指向アーキテクチャを実現するためのプラットフォームと見なされます。
ESBは、変換やルーティングなどのフロー関連の概念をサービス指向アーキテクチャーにもたらします。ESBは、エンドポイントの抽象化を提供することもできます。
用語としてのESBは、SonicSoftwareの技術エバンジェリストであるDaveChappel(および著者「EnterpriseServiceBus」-O'Reilly:2004年6月、ISBN 0-596-00675-6)によって造られたようです。私はこの本を読み、Chappellによるいくつかのセミナーに参加しましたが、この本自体は、製品Xが「真の」ESBであるかどうかを判断するのにあまり役立たないのではないかと思います。
一般に、メッセージベースのものを探す必要があります(これは、webMethodsのような他の企業が、よりWebサービス指向の製品にこの用語を使用している場合でも、明らかに本来の意図でした)。
アイデアは、ITインフラストラクチャ内のすべての「サービス」が相互にメッセージを送受信できるようにすることです。ESBはルーティングを提供し、インターフェイスエンドポイントを備えているため、元のアプリケーションが機能した場合(たとえば、HTTPポストを介してJSPページを呼び出すことにより)、メッセージを受信し、そのペイロードを使用してHTTPを介してポストすることができる小さなプログラムがあります。結果を解釈し、これらを使用してメッセージ応答を作成します。
基本的に、すべてにWebサービスを使用する代わりに、メッセージキューを使用し、ルーティングステーションを構築し、メッセージキューと他のシステム間のインターフェイスを使用することを想像してください。これはESBです。
これは長いですが、有益です:https ://gist.github.com/chitchcock/1281611
(Amazonが「すべてのAPI」ポリシーに移行した方法に関するSteve Yeggeの記事)。