8.6. サービスの仕組み
はじめに
このセクションでは、サービス、エンドポイントの参照、リスナー、およびアクションが実際にどのように機能するかについて詳しく説明します。
以下のコードフラグメントは、JBossESBHelloworld の例の設定に大まかに基づいています。
サービスが初期化すると、カテゴリー、名前、および説明が UDDI レジストリーに登録されます。また、各 listener 要素について、ServiceBinding を UDDI に登録し、エンドポイント参照を格納します。(この場合は jms-listener であるため、このサービスの JMSEPR を登録します。)
キュー名などの JMS の詳細は表示されませんが、'provider' セクションを見つけることができる jboss-esb.xml ファイルの上部に表示されます。
jms-listener では、busidref 属性のquickstartEsbChannel を簡単に参照できます。
カテゴリーとサービス名が指定されていると、別のサービスがレジストリーでサービスを検索できます。その後、サービスにメッセージを送信するために使用できる JMSEPR を受け取ります。(この作業はすべて ServiceInvoker クラスによって行われます。)
HelloWorld サービスが quickstartEsbChannel を介してメッセージを受信すると、このメッセージを ActionPipeline の最初のアクションのプロセスメソッドに渡します。この場合は SystemPrintln アクションになります。
注記
ServiceInvoker は、ユーザーからのフェイルオーバーの複雑さの多くを隠すため、必要はあります。これはネイティブのメッセージでのみ機能します。さらに、すべてのゲートウェイが ServiceInvoker を使用するように変更されているわけではないため、このようなゲートウェイに近づくと、サービスのフェイルオーバーを活用できるとは限りません。