2009-04-20 8 views
10

enterprise service busの文脈で、「バス」、「トランスポート」、および「エンドポイント」の用語を初心者レベルで説明できますか?私は数年の経験を持つC#開発者ですが、ちょうどESBでの作業を始めるだけです。エンタープライズサービスバスの用語

「バス」は事実上、メッセージを送受信できるキューです。私はそれで大丈夫です。しかし、私はNServiceBusを使っていくつかの既存のコードに取り組んでいます。私が "エンドポイント"と "トランスポート"の用語を覚えていれば、私の理解に大きな飛躍を見せると思います。

答えて

8

は私があなたにこれらの用語を明確にしてみましょう:

バス ESBアーキテクチャのコンテキストでメッセージのディスパッチのためのシンプルなキューとして考えるべきではありません。異なるサービスの統合を可能にするために、ESBはさらに多くを提供します。 ESBの重要な追加機能:

  • ルーティング。メッセージは、メッセージの内容やエンドポイントの仕様に応じて、異なるサービスにルーティングできます。
  • 異なるフォーマット間のメッセージ変換/メディエーション
  • トランスポートプロトコルの変換。 ESBは、異なるトランスポートプロトコル(JMS、HTTP/S、純粋なTCPなど)を使用するアプリケーション をシームレスに統合できる必要があります。
  • メッセージの強化。さらに処理する前に、欠落したデータでメッセージを充実させることができます。
  • セキュリティ
  • 管理し、それらのfunctionalitesがESB内で動作するサービスによって提供され

を監視します。サービスはエンドポイント - 一意の一意の「アドレス」を介して相互に接続します。エンドポイント間でディスパッチされたメッセージは、の転送(メッセージのペイロードをカプセル化するメソッド/プロトコル)を使用しています。ネイティブに異なるトランスポートを使用するアプリケーションでは、適切なアダプタを介してESBに接続する必要があります。これは、必要なトランスポート変換を提供するサービスです。このようにして、ESBを使用するアプリケーションは互いに分離され、変換自体を行う必要はありません。

もちろん、これらは用語のごく簡単な説明です。エンタープライズサービスバスは、特定の種類のアーキテクチャ(またはコンセプト)の唯一の用語ですが、どのような方法でも標準化されていません。したがって、特定の実装は互いに非常に異なる場合があります。 標準化されたESBに興味がある場合は、JBI(Java Bussiness Integration)をご覧ください。 JBIのオープンソースの実装には、Apache ServiceMix,Mule,OpenESBなどがあります。マニングが出版した "Open Source ESBs in Action"の書籍には、ESB技術の紹介があります。

1

エンタープライズアプリケーションインテグレーション(EAI)に関連するリソースを調べることをお勧めします。エンタープライズアプリケーションインテグレーション(EAI)は、ESBとソリューションを統合するために使用されるさまざまなモデルやパターンを中心にしています。ESBアーキテクチャのためのGoFであることを考える:

http://www.enterpriseintegrationpatterns.com/

http://www.enterpriseintegrationpatterns.com/toc.html

にこれらのパターンのすべてはあなたの人々が達成ESBのために使用するとパターンが有用であるかのアイデアを与えるだろうそれ自身のESB統合の共通の落とし穴を提供しています。私はその本を通して、そしてそこから出てくる人々を通して、膨大な量を学んだ。