私は MoM 出身です。ESB を概念的に理解していると思います。ただし、アーキテクチャ上の選択に関しては、この 2 つの実際的な違いについてはよくわかりません。
ここに私が知りたいことがあります
1)この点で私を助けることができるオンラインの良いリンク。
2) どちらか一方を使用することが理にかなっている場所を誰か教えてもらえますか?
どんな助けでも役に立ちます。
メッセージングは、ネットワーク上でのメッセージの信頼できる交換に集中する傾向があります。キューを信頼できるロード バランサーとして使用し、トピックを使用してパブリッシュとサブスクライブを実装します。
ESB は通常、オーケストレーション、ルーティング、変換、メディエーションなど、メッセージング以外のさまざまな機能を追加する傾向があります。
エンタープライズ統合パターンについて読むことをお勧めします。これは、すべてメッセージ バスの上にある統合の問題で使用する傾向がある一般的なパターンの概要を示しています (ただし、他のネットワーク テクノロジでも使用できます)。
たとえば、オープンソースを使用します。Apache ActiveMQは、疎結合の信頼できるメッセージ交換を提供します。次に、 Apache Camelを使用して、スマート ルーティング、変換、オーケストレーション、他のテクノロジとの連携などのためのエンタープライズ統合パターンを実装できます。
私は、MOM ソリューションと ESB ソリューションを 2 つの異なる平面に配置しました。
私は、MOM を ESB ソリューションの構成要素と考えています。実際、ESB ソリューションは、特定の MOM 実装によって提供されるパラダイムを使用するだけで、独自の疎結合および非同期通信機能に到達します。
したがって、MOM はカスタマイズされたレベルの QoS (特定のベンダーの実装による) でのデータ/イベント配信のソリューションを表し、代わりに ESB は SOA シナリオ (複数のプロバイダーがサービスを提供し、複数のプロバイダーが存在する場合) で複雑なオーケストレーションを実現する機能を提供するソリューションを表します。最初のサービスが提供するサービスの利用に関心のある消費者)。
複雑なオーケストレーションは、レガシー システム間の通信を意味します。これらのシステムはすべて、独自のデータ ドメイン表現 (特定のデータに関するルールとサービス) と独自の通信パラダイム (あるコンシューマーは CORBA を使用して ESB と対話し、別のコンシューマーは WS を使用するなど) を持ちます。
ESB が、データ バス(誰もが自分の PC に持っている電子バスなど)の抽象化を提供することを目的とした、より複雑なアーキテクチャ ソリューションを表していることは明らかです。 (i) データ表現と (ii) 通信の異質性を隠して、サービスの消費者を保護します。
長い投稿で申し訳ありませんが、概念は複雑であり、短いステートメントで効果的かつ効率的であることは非常に困難です.
ESB は通常、メッセージのルーティング、ログ記録、変換、およびその他の「技術的」(つまりビジネス以外の) 機能を実行する層です。メッセージング システム (JMS ベースのものなど) からのメッセージを処理したり、他のタイプのメッセージ (SOAP ベースの Web サービスなど) を処理したりできます。その点では、MoMよりも一般的です。
免責事項: 私は IBM WebSphere のコンサルタントです。ただし、公式の資格でここに貢献しているわけではありません。
真の形式のWebサービスを備えたESBは、メッセージの要素の1つを介してデータを送信することにより、アプリケーションの緩い結合を提供します。
MOMは、アプリケーションの緩い結合だけでなく、緩い結合の処理も提供します。
ESBには、ガバナンス中心のアプローチをサポートする追加機能が付属しています。
シナリオに応じて、両方を個別に使用することも、一緒に使用することもできます。
SOA 2.0 と同様に、EBS も流行語の 1 つです。
ESB システムは、背後にキューがある通常の Web サービスで簡単に実装できます。SOA 1.0 (Tibco、BizzTalk) を使用してメッセージ ルーティングやオーケストレーションを行うことができます。さらに重要なことは、重要な役割を果たすのは、システム内で交換されるメッセージ (この場合はイベント) に与えられるセマンティクスです。イベントとしてのメッセージは、システムで発生した何かに関するトリガーであるため、コンテキストが異なります。
IBM と Oracle は SOA 認定を受けています。彼らは市場 (Gartner Magic Quadrant) のリーダーであるため、SOA と ESB をどのように定義しているか (ガバナンス、レジストリなどの SOA をサポートするために必要な方法論とコンポーネントと共に) を読みます。