Show Table of Contents
第2章 開発者向けの例
本章には、開発者向けの JBoss Enterprise SOA Platform について紹介されています。
2.1. JBoss ESB Quick Start (クイックスタート)
quick starts (クイックスタート) はサンプルのプロジェクトです。それぞれ、サービスを構築しやすくするため、各機能の利用方法を説明しています。SOA_ROOT/samples/quick starts/ ディレクトリには数十個のquick starts が含まれています。Apache Ant を使いすべてのクイックスタートを構築、デプロイしてください。
quick start を詳しく学習する手順:
- クイックスタートの
readme.txtファイルを参照します。 quick-startsディレクトリでant help-quick startsコマンドの実行を実行します。quick-startsディレクトリでant helpコマンドを実行します。
クイックスタートの実行時は以下に注意してください。
- 各クイックスタートは Apache Ant を使い構築、デプロイします。スタートガイドを参照してください。
- 各クイックスタートは、
samples/quick starts/conf/quick starts.propertiesファイルを使い環境固有の設定オプションを保存します。サンプルのプロパティファイル—quick starts.properties-example— も含まれています。 - クイックスタートごとに要件は違います。要件については個別の
readme.txtに記載されています。 - クイックスタートはすべてのサーバープロファイルで実行できるわけではありません。
- jBPM クイックスタートでは、jBPM Console のユーザー名とパスワードが有効でなければなりません。以下のように、
samples/quick starts/conf/quick starts.propertiesファイルにプロパティとして追加し、ユーザー名とパスワードを提示します。# jBPM console security credentials jbpm.console.username=admin jbpm.console.password=adminpassword
この要件を満たす必要のあるクイックスタートは、bpm_orchestration1、bpm_orchestration2,bpm_orchestration3、bpm_orchestration4です。 - headless モードでサーバーが実行されていない場合、(groovy_gateway など) 実行できるクイックスタートには限りがあります (JBoss Enterprise SOA Platform はデフォルトでは headless モードで起動するよう設定されています)。Red Hat は headless モードでのみ実稼働サーバーを実行するよう推奨していますが、開発環境で利用するためにモードを変更することができます。詳細は、スタートガイドを参照してください。
これらの
quick starts は、頻繁に利用される機能についてデモを提供しています。
helloworld | business_service | aggregator |
helloworld_action | business_rules_service | bpm_orchestration1 |
custom_action | scripting_groovy | bpm_orchestration2 |
helloworld_file_action | transform_CSV2XML | webservice_consumer1 |
helloworld_ftp_action | transform_XML2POJO | webservice_producer |
simple_cbr | transform_XML2XML_simple | |
fun_cbr | transform_XML2XML_date_manipulation |
2.1.1. "helloworld" クイックスタート
helloworld quick start では、JBoss Enterprise SOA Platform の主要機能とコンセプトを簡単に説明しています。これは SOA_ROOT/samples/quick starts/helloworld/ ディレクトリに置かれています。以下の手順に従い実行してください。
手順2.1 helloworld quick start の実行
サーバーを起動します。
サーバーが実行中であることを確認します。詳細は スタートガイドを参照してください。quick start のプロパティを設定します。
SOA_ROOT/samples/quick start/conf/quick starts.propertiesファイルが正しい設定およびホームディレクトリを使うように設定されているか確認します。# Location of your JBoss Application Server installation. org.jboss.esb.server.home=/opt/jboss-soa-p-5/jboss-as # JBossAS server name. org.jboss.esb.server.config=default
クイックスタートを構築、デプロイします。
端末を起動しSOA_ROOT/samples/quick starts/helloworldディレクトリに移動します。ant deployコマンドを実行します。これでhelloworld.esbアーカイブを構築しデプロイします。サービスを呼び出します。
ant runtestコマンドを実行します。これにより、JMS メッセージを先ほどデプロイした ESB サービスに送信します。結果に関してサーバーを確認します。
"hello world" メッセージがPROFILE/log/server.logファイルに追加されています。以下のようになっているはずです。17:25:12,614 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 17:25:12,615 INFO [STDOUT] Body: Hello World 17:25:12,615 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 17:25:12,615 INFO [STDOUT] Message structure: 17:25:12,615 INFO [STDOUT] [ message: [ JBOSS_XML ]
利用するサーバープロファイルにより、物理サーバーコンソールにも表示される場合もあります。productionプロファイルの場合はログファイルにのみ出力されます。

図2.1 helloworld コンポーネントとイベントのシーケンス
helloworld quick start は以下のコンポーネントを使います。
- Gateway Listener
Gateway Listenerは、JBoss Enterprise SOA Platform の主要アーキテクチャーコンポーネントの1つです。この種類のlistenerは、ESB と外部のサービスエンドポイントの間のインターフェースを提供します。今回の場合、Java Message Service Gateway を使います。- サービスレジストリ
- これは
JAXR registry実装です。registryでは、このクイックスタートに関し Remote Method Invocation ベースの通信を使います。registryの詳細については、JUDDI Registry Guide を参照してください。 - ESB 対応のサービスリスナー
FirstService:ESB:SimpleListenerは ESB 対応のメッセージがないかqueue/quick start_helloworld_Request_esb をリッスンします。ESB 対応 および 非対応 メッセージについては、本書の次の章で説明します。
注記
アプリケーションクライアントとサービスは、ESB 対応 とされます。これは、SOA Platform で利用するメッセージ形式やトランスポートプロトコルを理解できるという意味です (ゲートウェイを使い ESB 非対応のサービスをエンタープライズサービスバスで処理、ルーティング可能な形式にメッセージを変換します)。
図2.1「helloworld コンポーネントとイベントのシーケンス」 にて、以下のイベントのシーケンスを説明します。
- JBoss Enterprise SOA Platform サーバーは、
Window1で起動し、helloworld quick start がデプロイされるとFirstServiceESB:SimpleListenerサービスはサービスレジストリサービスに追加されます。 - JMS クライアントは ESB に対応しない "Hello World" メッセージ (プレーンな
Stringオブジェクト) を JMS キューに (queue/quick start_helloworld_Request_gw) 送信します。 - JMS Gateway Listener は ESB に対応しないメッセージを受け取り、ESB 対応のエンドポイントで利用できるように、そのメッセージから ESB 対応のメッセージを作成します。
JMS Gateway Listenerはregistryを使いFirstServiceESB:SimpleListenerサービスの エンドポイントリファレンス (EPR: end-point reference) を検索します。この場合、EPR はqueue/quick start_helloworld_Request_esbJMS キューです。JMS Gateway Listenerは、新規の ESB 対応メッセージを受け取り、queue/quick start_helloworld_Request_esbJMS キューに送信します。FirstServiceESB:SimpleListenerサービスはメッセージを受け取ります。FirstServiceESB:SimpleListenerサービスはメッセージからペイロードを抽出し、コンソールに出力します。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.