Red Hat Training
A Red Hat training course is available for JBoss Enterprise SOA Platform
SOA スタートガイド
このガイドはインストールチーム向けです。
概要
はじめに
1. ドキュメント規則
1.1. 表記規則
等幅ボールド
現在の作業ディレクトリーのファイルmy_next_bestselling_novel
の内容を表示するには、シェルプロンプトで cat my_next_bestselling_novel コマンドを入力し、Enter を押してコマンドを実行します。
Enter を押してコマンドを実行します。Ctrl+Alt+F2 を押して、仮想ターミナルに切り替えます。
等幅ボールド
で示されます。以下に例を示します。
ファイル関連のクラスには、ファイルシステムのfilesystem
、ファイルのfile
、ディレクトリーのdir
が含まれます。各クラスには、独自の関連付けられたパーミッションセットがあります。
メインメニューバーから System → Preferences → Mouse を選択し、Mouse Preferences を起動します。Buttons タブで、Left-handed mouse チェックボックスを選択し、Close をクリックしてメインのマウスボタンを左から右に切り替えます (マウスを左手で使い易くします)。特殊文字を gedit ファイルに挿入するには、メインメニューバーから Applications → Accessories → Character Map を選択します。次に、Character Map メニューバーから Search → Find… を選択し、Search フィールドに文字の名前を入力して Next をクリックします。目的の文字が Character Table で強調表示されます。この強調表示した文字をダブルクリックして Text to copy フィールドに配置し、Copy ボタンをクリックします。ここでドキュメントに戻り、gedit メニューバーから Edit → Paste を選択します。
ssh を使用してリモートマシンに接続するには、シェルプロンプトで ssh username@domain.name を入力します。リモートマシンがexample.com
で、そのマシン上でのユーザー名が john の場合は、ssh john@example.com と入力します。mount -o remount file-system コマンドにより、指定したファイルシステムが再マウントされます。たとえば、/home
ファイルシステムを再マウントする場合、コマンドは mount -o remount /home となります。現在インストールされているパッケージのバージョンを表示するには、rpm -q package コマンドを使用します。これにより、package-version-release のような結果が返されます。
Publican は DocBook 公開システムです。
1.2. 引用規則
mono-spaced roman
に設定され、以下のように表示されます。
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman
に設定されていますが、次のように構文の強調表示を追加します。
static int kvm_vm_ioctl_deassign_device(struct kvm *kvm, struct kvm_assigned_pci_dev *assigned_dev) { int r = 0; struct kvm_assigned_dev_kernel *match; mutex_lock(&kvm->lock); match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, assigned_dev->assigned_dev_id); if (!match) { printk(KERN_INFO "%s: device hasn't been assigned before, " "so cannot be deassigned\n", __func__); r = -EINVAL; goto out; } kvm_deassign_device(kvm, match); kvm_free_assigned_device(kvm, match); out: mutex_unlock(&kvm->lock); return r; }
1.3. 注記および警告
2. サポートおよびフィードバック
2.1. サポート
- Red Hat 製品に関する技術サポート記事の知識ベースの検索または閲覧。
- Red Hat グローバルサポートサービス (GSS) へのサポートケースの送信。
- その他の製品ドキュメントへのアクセス。
2.2. フィードバック
第1章 はじめに
1.1. ビジネス統合
1.2. サービス指向アーキテクチャーとは
はじめに
サービス指向アーキテクチャー (SOA) は、1 つのプログラムまたはテクノロジーではなく、むしろ、ソフトウェア設計パラダイムと考えてください。
1.3. サービス指向アーキテクチャーの重要なポイント
- 交換される メッセージ
- サービスリクエスターおよびプロバイダーとして動作する エージェント
- メッセージを送受信できる 共有トランスポートメカニズム
1.4. JBoss Enterprise SOA Platform とは
1.5. Service-Oriented Architecture Paradigm
- サービスプロバイダー
- サービスプロバイダーはサービスへのアクセスを許可し、サービスの説明を作成し、サービスブローカーに公開します。
- サービスリクエスター
- サービスリクエスターは、サービスブローカーが提供するサービスの説明を検索して、サービスを検出します。リクエスターは、サービスプロバイダーが提供するサービスに対するバインドも行います。
- サービスブローカー
- サービスブローカーは、サービスの記述のレジストリーをホストします。リクエスターをサービスプロバイダーにリンクします。
1.6. コアおよびコンポーネント
1.7. JBoss Enterprise SOA Platform のコンポーネント
- 完全な Java EE 準拠のアプリケーションサーバー (JBoss Enterprise Application Platform)
- Enterprise Service Bus (JBoss ESB)
- ビジネスプロセス管理システム (jBPM)
- ビジネスルールエンジン (JBoss ルール)
- オプションの JBoss Enterprise Data Services (EDS) 製品のサポート。
1.8. JBoss Enterprise SOA Platform の機能
- JBoss Enterprise Service Bus (ESB)
- ESB はサービス間でメッセージを送信し、異なるタイプのシステムで処理できるようにメッセージを変換します。
- Business Process Execution Language (BPEL)
- Web サービスを使用して、BPEL 言語でビジネスルールをオーケストレーションできます。BPEL 言語は、ビジネスプロセス命令を簡単に実行するために SOA に含まれています。
- Java Universal Description、Discovery and Integration (jUDDI)
- これは SOA のデフォルトサービスレジストリーで、ESB 上のサービスに関するすべての情報が格納される場所です。
- Smooks
- この変換エンジンは SOA と組み合わせて使用してメッセージを処理できます。また、メッセージを分割して正しい宛先に送信するためにも使用できます。
- JBoss ルール
- これは、SOA にパッケージ化されたルールエンジンです。受信するメッセージからデータを推測して、実行する必要があるアクションを判別できます。
1.9. JBoss Enterprise SOA Platform の JBossESB コンポーネントの機能
- 複数のトランスポートおよびプロトコル
- リスナーアクションモデル (これにより、サービスを相互に選択可能)
- コンテンツベースのルーティング (JBoss Rules エンジン、XPath、Regex、および Smooks 経由)
- サービスオーケストレーション機能を提供するための JBoss Business Process Manager (jBPM) との統合
- ビジネスルールの開発機能を提供するための JBoss ルールとの統合
- BPEL エンジンとの統合
- さまざまなトランスポート機能 (電子メールや JMS など) で動作するように設定されている。
- 汎用オブジェクトリポジトリーとして使用する。
- プラグ可能なデータ変換機能を実装できる。
- インタラクションのログをサポートする。
org.jboss.internal.soa.esb
と org.jboss.soa.esb
の 2 つのツリーがあります。org.jboss.internal.soa.esb
パッケージの内容をそのまま使用します。これは、通知なしに変更される可能性があるためです。これとは対照的に、org.jboss.soa.esb
パッケージ内のすべての内容は、Red Hat の非推奨ポリシーの対象となっています。
1.10. タスク管理
1.11. 統合のユースケース
1.12. ビジネス環境での JBoss Enterprise SOA Platform の使用
第2章 JBoss Enterprise SOA Platform の紹介
2.1. 本ガイドの対象者
2.2. 本ガイドの目的
2.3. データのバックアップ
第3章 前提条件
3.1. JBoss Enterprise SOA Platform をインストールするための前提条件
- サポートされている Java 仮想マシン
- サポートされている Java Development Kit (クイックスタートの実行用)
- サポートされているデータベースサーバー (JBoss サーバーを実行するために必要)
- Apache Ant 1.7 以降 (データベーススキーマ設定ツールを実行し、JBoss ESB クイックスタートサンプルをデプロイするために必要)
- アーカイブツール (FileRoller、ark、tar など)。(圧縮ファイルの内容を解凍するために必要です)
- JBoss Developer Studio 5.0。(Red Hat Customer Portal https://access.redhat.com/home から入手してください)
3.2. Java 仮想マシン
3.3. Red Hat Enterprise Linux への Open JDK のインストール
手順3.1 Red Hat Enterprise Linux への Open JDK のインストール
ベースチャンネルにサブスクライブする
RHN ベースチャンネルから OpenJDK を取得します。(Red Hat Enterprise Linux のインストールは、デフォルトでこのチャンネルにサブスクライブされています。)パッケージをインストールする
yum ユーティリティーを使用して OpenJDK をインストールします。yum install java-1.7.0-openjdk-develOpenJDK がシステムのデフォルトになっていることを確認する
正しい JDK がシステムのデフォルトとして設定されていることを確認するには、root としてログインし、alternatives コマンド /usr/sbin/alternatives --config java を実行します。/usr/lib/jvm/jre-1.6.0-openjdk/bin/java を選択します。javac /usr/sbin/alternatives --config javac を設定します。/usr/lib/jvm/java-1.6.0-openjdk/bin/java を選択します。
3.4. Apache Ant
3.5. Apache Ant のインストール
手順3.2 Red Hat Enterprise Linux での Apache Ant のインストール
Apache Ant のダウンロード
ターミナルを開き、コマンド sudo yum install ant-trax を入力します。Apache Ant のインストール
インストーラーから入力を要求されたら、Y
と入力します。ANT_HOME 環境変数の追加
- vi ~/.bash_profile。
- 以下の行を追加します。
export ANT_HOME=/FILEPATH/ant
filepath は、Apache Ant がインストールされているディレクトリーです。vi を保存して終了します。例3.1
export ANT_HOME=/opt/apache-ant-1.8.2
Ant インストールの
bin
ディレクトリーを Path 環境変数に追加します。- vi ~/.bash_profile。
- 次の行を追加し、vi を保存して終了します。
export PATH=$PATH:$ANT_HOME/bin
インストールのテスト
ターミナルに戻り、ant -version を実行します。出力は以下のようになります。[localhost]$ ant -version Apache Ant(TM) version 1.8.2 compiled on July 6 2011
手順3.3 Microsoft Windows への Apache Ant のインストール
Apache Ant のダウンロード
http://ant.apache.org/ から最新の Apache Ant バイナリーリリースをダウンロードします。Apache Ant の展開
ファイルを任意のインストール場所に展開します。以下に例を示します。c:\Program Files\Apache\Ant\
ANT_HOME 環境変数の追加
- Start Menu をクリックします。
- Control Panel を開きます。
- System → Advanced → Environment Variables を選択します。
ANT_HOME
という名前の新しい変数を作成します。- Apache Ant ディレクトリーを指すように ANT_HOME 変数を設定します。
Ant インストールの bin ディレクトリーを Path 環境変数に追加します。
- Start Menu をクリックします。
- Control Panel を開きます。
- System → Advanced → Environment Variables → System Variables を選択します。
- PATH 変数を編集し、次のテキストを追加します。
;%ANT_HOME%\bin
インストールのテスト
コマンドラインターミナルでant -version
を実行します。バージョン番号が表示されます。
第4章 製品のダウンロード
4.1. Red Hat カスタマーポータル
4.2. ダウンロード可能なパッケージ
表4.1 ダウンロード可能なパッケージ
パッケージ | 説明 |
---|---|
JBoss Enterprise SOA Platform パッケージ | SOA Platform パッケージは、完全な JBoss アプリケーションデプロイメント環境です。このインストールだけで、SOA アプリケーションをデプロイするための完全な環境が提供されます。これには、Seam、Hibernate、クラスタリング、およびトランザクションサービスが含まれます。 |
JBoss Enterprise SOA Platform スタンドアロン版パッケージ | SOA スタンドアロンパッケージは、コア SOA 機能のみが必要なデプロイメント向けの軽量ソリューションを提供します。クラスタリングには対応していません。 |
JBoss Enterprise SOA Platform ソースコードパッケージ | ソースコードパッケージには、JBoss Enterprise SOA Platform 製品の完全なソースコードが含まれています。 |
SOA Platform JavaDocs | JavaDocs パッケージには、JBoss Enterprise SOA Platform の API の完全な JavaDocs が含まれています。 |
4.3. JBoss Enterprise SOA Platform のバージョン間の違い
表4.2 JBoss Enterprise SOA Platform のバージョン間の違い
SOA Platform パッケージ | SOA スタンドアロンパッケージ | |
---|---|---|
JBoss ESB | はい。 | はい。 |
JBoss Rules | はい。 | はい。 |
JBoss JBPM | はい。 | はい。 |
JBoss EAP | はい。 | はい。 |
BPEL エンジン | はい。 | はい。 |
EJB3 | はい。 | いいえ |
JBoss RestEasy | はい。 | いいえ |
JBoss Seam | はい。 | いいえ |
JBoss Enterprise Data Services デプロイメントのサポート | はい。 | いいえ |
4.4. JavaDocs
4.5. Red Hat カスタマーポータルからのファイルのダウンロード
タスクの前提条件
このタスクを開始する前に、カスタマーポータルのアカウントが必要です。https://access.redhat.com を参照し、右上隅にある Register リンクをクリックしてアカウントを作成します。
手順4.1 タスク:
結果:
RHN にログインし、https://access.redhat.com のメイン Web ページに戻ります。
Downloads ページに移動します。
次のいずれかの方法で Downloads ページに移動します。- 上部のナビゲーションバーにある Downloads リンクをクリックします。
- https://access.redhat.com/downloads/ に直接移動します。
ダウンロードする製品とバージョンを選択します。
以下の方法を使い、正しい製品とバージョンを選びダウンロードしてください。- ナビゲーションを使って 1 つずつ進めていきます。
- 画面の右上端にある検索エリアを使い製品を検索します。
お使いのオペレーティングシステムやインストール方法にあったファイルをダウンロードします。
選択した製品に応じて、特定のオペレーティングシステムおよびアーキテクチャー用の Zip アーカイブ、RPM、またはネイティブインストーラーを選択できます。ファイル名をクリックするか、ダウンロードするファイルの右側にある Download リンクをクリックします。
結果:
お使いのコンピューターにファイルをダウンロードします。
4.6. チェックサム検証
4.7. ダウンロードしたファイルの確認
手順4.2 ダウンロードしたファイルの確認
- Red Hat カスタマーポータルからダウンロードしたファイルにエラーがないことを確認するには、ポータルサイトにまだある場合は、そのパッケージの は ページに移動します。ここには、ファイルの整合性をチェックするために使用する
MD5
およびSHA256
の "チェックサム" 値があります。 - ターミナルウィンドウを開き、引数としてダウンロードした
ZIP
ファイル名を指定して、md5sum または sha256sum コマンドを実行します。プログラムはファイルのチェックサム値を出力します。 - コマンドによって返されたチェックサム値を、ファイルの Software Details ページに表示されている対応する値と比較します。注記Microsoft Windows には、チェックサムツールが搭載されていません。Microsoft Windows ユーザーは、代わりにサードパーティー製品をダウンロードする必要があります。
結果
2 つのチェックサム値が同一の場合、ファイルは変更も破損もしていないため、安全に使用できます。
4.8. Red Hat ドキュメントサイト
第5章 インストール
5.1. 変数名:SOA_ROOT ディレクトリー
jboss-soa-p-5
ディレクトリーです。ただし、スタンドアロン編集では、jboss-soa-p-standalone-5
ディレクトリーになります。
SOA_ROOT
と呼ばれます。この名前がある場合は、必要に応じて jboss-soa-p-5
または jboss-soa-p-standalone-5
のいずれかを置き換えます。
5.2. 変数名: PROFILE
5.3. Red Hat Enterprise Linux への JBoss Enterprise SOA Platform のインストール
前提条件
- Java Development Kit (Red Hat は OpenJDK を推奨)
- データベースサーバー
- Apache Ant 1.7 以降
- ZIP ファイルを開くことができるアーカイブツール
手順5.1 インストール
- unzip soa-p-VERSION.zip を実行して、インストールディレクトリーを展開します。
- テキストエディターでユーザーアカウント設定ファイルを開きます (vi SOA_ROOT/jboss-as/server/default/conf/props/soa-users.properties)。このファイルの内容は、
username=password
という構文を使用しています。#admin=admin
先頭のハッシュ文字が存在する場合は削除して、管理者アカウントのセキュリティーロールが有効になっていることを確認します。警告このアカウントは安全ではなく、パスワードは簡単に推測できるため、admin=admin はテスト目的でのみ使用してください。セキュリティーを損なう可能性があるため、admin
を実稼働システムのパスワードとして使用しないでください。 - ファイルを保存して vi を終了します。
- テキストエディターでセキュリティーパーミッションファイルを開きます (vi SOA_ROOT/jboss-as/server/default/conf/props/soa-roles.properties)。
#admin=JBossAdmin,HttpInvoker,user,admin
先頭のハッシュ文字が存在する場合は削除して、管理者アカウントのセキュリティーロールが有効になっていることを確認します。 - 変更をファイルに保存し、vi を終了します。
結果
JBoss Enterprise SOA Platform がインストールされ、基本的な使用のために設定されます。
5.4. Microsoft Windows への JBoss Enterprise SOA Platform のインストール
前提条件
- Java Development Kit
- データベースサーバー
- Apache Ant 1.7 以降
- ZIP ファイルを開くことができるアーカイブツール
手順5.2 インストール
- 任意の ZIP ツールを使用して
soa-p-VERSION.zip
を展開します。 - 先頭のハッシュ文字が存在する場合は削除して、管理者アカウントのセキュリティーロールが有効になっていることを確認します。警告このアカウントは安全ではなく、パスワードは簡単に推測できるため、admin=admin はテスト目的でのみ使用してください。セキュリティーを損なう可能性があるため、
admin
を実稼働システムのパスワードとして使用しないでください。 - ファイルを保存し、メモ帳を終了します。
SOA_ROOT\jboss-as\server\default\conf\props\soa-roles.properties
をメモ帳で開きます。#admin=JBossAdmin,HttpInvoker,user,admin
ハッシュを削除して、管理者アカウントのセキュリティーアクセスパーミッションを有効にします。- ファイルを保存し、メモ帳を終了します。
結果
JBoss Enterprise SOA Platform がインストールされ、基本的な使用のために設定されます。
第6章 基本操作チュートリアル
6.1. JBoss Enterprise SOA Platform の初回実行
はじめに
次のセクションでは、JBoss Enterprise SOA Platform を初めて起動して実行する方法を学習します。最も簡単な方法は、"Hello World" クイックスタートにあるデモコードを実行することです。
6.2. JBoss Enterprise SOA Platform の起動
前提条件
次のソフトウェアをインストールする必要があります。
- JBoss Enterprise SOA Platform
手順6.1 JBoss Enterprise SOA Platform の起動
サーバーウィンドウ で SOA サーバーを起動する
Red Hat Enterprise Linux
- ターミナルを開き、コマンド cd SOA_ROOT/jboss-as/bin を入力して
bin
ディレクトリーに移動します。 - ./run.sh と入力して SOA サーバーを起動します。(サーバープロファイルを指定していないため、デフォルトが使用されます。)
Microsoft Windows
- ターミナルを開き、コマンド chdir SOA_ROOT\jboss-as\bin を入力して
bin
ディレクトリーに移動します。 - run.bat と入力して SOA サーバーを起動します。(サーバープロファイルを指定していないため、デフォルトが使用されます。)
結果
サーバーが起動します。ハードウェアの速度にもよりますが、これには約 2 分かかります。
6.3. 起動プロセスのトラブルシューティング
- "アドレスはすでに使用されています" - ポート 8080 で実行されているサーバーがすでに存在します。
- "Java が見つかりません" - Java JRE がインストールされていない可能性があります。インストールされている場合は、Java ランタイムを見つけるように PATH 環境変数が設定されていません。
- "クラスが見つかりません" - CLASSPATH 環境変数が正しく設定されていません。この変数は、サーバーの起動スクリプトによって設定されるため、設定する必要はありません。
- これらのエラーのいずれかが表示された場合は、エラーメッセージの前後に表示される server.log メッセージを調べて、エラーの根本原因に関する追加情報を確認してください。
6.4. "Hello World" クイックスタートの実行
6.4.1. Quickstart
SOA_ROOT/jboss-as/samples/quickstarts/
ディレクトリーには、数十のクイックスタートが含まれています。Apache Ant を使用して、すべてのクイックスタートをビルドしてデプロイします。
6.4.2. クイックスタートに関する重要事項
- 各クイックスタートは、Apache Ant を使用してビルドおよびデプロイする必要があります。
- 各クイックスタートは、
samples/quickstarts/conf/quickstarts.properties
ファイルを使用して、サーバーがインストールされたディレクトリーなどの環境固有の設定オプションを保存します。サーバーのインストールに一致するquickstarts.properties
ファイルを作成する必要があります。プロパティーファイルの例 (quickstarts.properties-example
) が含まれています。 - クイックスタートごとに要件が異なります。これらは、個別の
readme.txt
ファイルに記載されています。 - すべてのクイックスタートをすべてのサーバープロファイルで実行できるわけではありません。
- jBPM クイックスタートには、有効な jBPM コンソールのユーザー名とパスワードが必要です。これらを
SOA_ROOT/jboss-as/samples/quickstarts/conf/quickstarts.properties
ファイルにプロパティーとして追加して提供します。# jBPM console security credentials jbpm.console.username=admin jbpm.console.password=adminpassword
この要件の影響を受けるクイックスタートは、bpm_orchestration1
、bpm_orchestration2
、bpm_orchestration3
、およびbpm_orchestration4
です。 - サーバーが ヘッドレス モードで実行されていない場合は、一部のクイックスタート (groovy_gateway など) のみを実行できます。(JBoss Enterprise SOA Platform はデフォルトでヘッドレスモードで起動するように設定されています。)重要Red Hat は、実稼働サーバーをヘッドレスモードでのみ実行することをお勧めします。
6.4.3. テストサーバーへの Hello World クイックスタートのデプロイ
前提条件
SOA_ROOT/jboss-as/samples/quickstarts/conf/quickstarts.properties-example
の設定がサーバー設定 (テスト環境のdefault
) と一致することを確認します。
手順6.2 "Hello World" クイックスタートのデプロイ
- サーバーが完全に起動したことを確認します。
- 2 番目のターミナルウィンドウを開き、クイックスタートを含むディレクトリーに移動します。cd SOA_ROOT/jboss-as/samples/quickstarts/helloworld (chdir SOA_ROOT\jboss-as\samples\quickstarts\helloworld)
- ant deploy を実行して、クイックスタートをデプロイします。次のようなメッセージを探して、デプロイが成功したかどうかを確認します。
deploy-esb: [copy] Copying 1 file to /jboss/local/53_DEV2/jboss-soa-p-5/jboss-as/server/default/deploy deploy-exploded-esb: quickstart-specific-deploys: [echo] No Quickstart specific deployments being made. display-instructions: [echo] [echo] ****************** [echo] Quickstart deployed to target JBoss ESB/App Server at '/jboss/local/53_DEV2/jboss-soa-p-5/jboss-as/server/default/deploy'. [echo] 1. Check your ESB Server console to make sure the deployment was executed without errors. [echo] 2. Run 'ant runtest' to run the Quickstart. [echo] 3. Check your ESB Server console again. The Quickstart should have produced some output. [echo] ****************** deploy: BUILD SUCCESSFUL
また、SOA_ROOT/jboss-as/server/default/log/server.log
でこれを確認してください。10:58:52,998 INFO [NamingHelper] JNDI InitialContext properties:{} 11:00:58,154 INFO [QueueService] Queue[/queue/quickstart_helloworld_Request_esb] started, fullSize=200000, pageSize=2000, downCacheSize=2000 11:00:58,186 INFO [QueueService] Queue[/queue/quickstart_helloworld_Request_gw] started, fullSize=200000, pageSize=2000, downCacheSize=2000 11:00:58,427 INFO [EsbDeployment] Starting ESB Deployment 'Quickstart_helloworld.esb'
- コマンド ant runtest を発行して、クイックスタートを実行します。クイックスタートが実行されると、次のようなメッセージが
SOA_ROOT/jboss-as/server/default/log/server.log
に書き込まれます。11:03:02,190 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 11:03:02,191 INFO [STDOUT] Body: Hello World 11:03:02,191 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 11:03:02,192 INFO [STDOUT] Message structure: 11:03:02,192 INFO [STDOUT] [Hello World].
結果
サーバーターミナルに "Hello World" という言葉が表示されます。このメッセージは SOA_ROOT/jboss-as/server/default/log/server.log
ファイルにも追加されます。
6.4.4. ant deploy
build
ディレクトリーにあるクイックスタートのソースコードをコンパイルし、サーバープロファイルの deploy
ディレクトリーに .ESB ファイル (Quickstart_helloworld.esb
など) を生成します。(BPEL クイックスタート用の .JAR ファイルが生成されることに注意してください。) サーバーは新しい .esb アーカイブの存在を検出し、デプロイします。.ESB アーカイブには、ant deploy がキューを設定するために使用する deployment.xml ファイルがあります。
deployment.xml
ファイルを build/META-INF
ディレクトリーに配置してから、他のクイックスタートと同じ .ESB アーカイブに含めます。
6.4.5. ant runtest
queue/quickstart_helloworld_Request_gw
) に送信します。このコマンドは、Java に送信側クラスを実行するように指示します ("Hello World" クイックスタートの場合、これは org.jboss.soa.esb.samples.quickstart.helloworld.test.sendJMSMessage
と呼ばれます)。そうすることで、デプロイされたプロセスにメッセージを直接送信します。
6.4.6. ant sendesb
6.4.7. "Hello World" クイックスタートのアンデプロイ
手順6.3 タスク
- クイックスタートのディレクトリーに移動します: cd SOA_ROOT/jboss-as/samples/quickstarts/helloworld (または、Microsoft Windows を実行している場合は chdir SOA_ROOT\jboss-as\samples\quickstarts\helloworld)。
- ant undeploy コマンドを実行します。次のようなメッセージが表示されます。
undeploy: [delete] Deleting: /jboss/local/53_DEV2/jboss-soa-p-5/jboss-as/server/default/deploy/Quickstart_helloworld.esb BUILD SUCCESSFUL
そして、次のようなメッセージが server.log に書き込まれます。11:10:08,205 INFO [EsbDeployment] Stopping 'Quickstart_helloworld.esb' 11:10:08,577 INFO [EsbDeployment] Destroying 'Quickstart_helloworld.esb'
6.5. JBoss Enterprise SOA Platform サーバーの停止
手順6.4 JBoss Enterprise SOA Platform サーバーの停止
SOA サーバーを停止する
server window (SOA サーバーが開始された端末ウィンドウ) で ctrl-c を押します。
結果
サーバーがシャットダウンします。このプロセスには数分かかることに注意してください。server.log
ファイルで次の行を探して、サーバーが正常にシャットダウンしたことを確認します。
12:17:02,786 INFO [ServerImpl] Shutdown complete
6.6. "Hello World" クイックスタートの検証
6.6.1. "Hello World" クイックスタートの仕組みの概要
図6.1 イメージ
- JBoss Enterprise SOA Platform サーバーが
Window1
で起動され、helloworld クイックスタートがデプロイされるとFirstServiceESB:SimpleListener
サービスがサービスレジストリーサービスに追加されます。 - JMS クライアントは、ESB 非対応の "Hello World" メッセージ (プレーンな
String
オブジェクト) を JMS キュー (queue/quickstart_helloworld_Request_gw
) に送信します。 - JMS ゲートウェイリスナーは、ESB 非認識メッセージを受信し、そこから ESB 認識エンドポイントで使用する ESB 認識メッセージを作成します。
JMS Gateway Listener
は、service registry
を使用して、FirstServiceESB:SimpleListener
サービスの end-point reference (EPR) を見つけます。この場合、EPR はqueue/quickstart_helloworld_Request_esb
JMS キューです。JMS ゲートウェイリスナー
は、新しい ESB 対応メッセージを受け取り、それをqueue/quickstart_helloworld_Request_esb
JMS キューに送信します。FirstServiceESB:SimpleListener
サービスがメッセージを受信します。FirstServiceESB:SimpleListener
サービスはメッセージからペイロードを抽出し、コンソールに出力します。
6.6.2. ESB メッセージ
org.jboss.soa.esb.message
インターフェイスによって定義された形式を取得するメッセージです。この標準化された形式は、ヘッダー、本文 (ペイロード)、および添付ファイルで設定されます。すべての ESB 対応のクライアントとサービスは、メッセージを使用して相互に通信します。
6.6.3. ESB メッセージのコンポーネント
- ヘッダー
- ヘッダーには、宛先エンドポイント参照、送信者エンドポイント参照、および応答先などの情報が含まれています。これはすべて、一般的なメッセージレベルの機能情報です。
- コンテキスト
- これは、メッセージをさらに説明する追加情報です。たとえば、トランザクションまたはセキュリティーデータ、最終的な受信者の ID、HTTP クッキー情報などです。
- ボディー
- メッセージの実際の内容。
- 異常
- メッセージに関連付けられたエラー情報。
- 添付ファイル
- メッセージに関連付けられた添付ファイル (追加ファイル)。
- Properties
- メッセージ固有のプロパティー (たとえば、 jbossesb.message.idプロパティーは、メッセージごとに一意の値を指定します)。
<xs:complexType name="Envelope"> <xs:attribute ref="Header" use="required"/> <xs:attribute ref="Context" use="required"/> <xs:attribute ref="Body" use="required"/> <xs:attribute ref="Attachment" use="optional"/> <xs:attribute ref="Properties" use="optional"/> <xs:attribute ref="Fault" use="optional"/> </xs:complexType>
6.6.4. メッセージオブジェクトをキューに送信する方法
概要
JBoss Enterprise SOA Platform 製品は、ローカルサーバー上の JNDI の存在を識別するためにパラメーターが設定されたプロパティーオブジェクトを使用します。次に、これは、新しいネーミングコンテキストを作成するための呼び出しのパラメーターとして使用されます。このネーミングコンテキストを使用して、ConnectionFactory を取得します。次に、ConnectionFactory が QueueConnection を作成し、これが QueueSession を作成します。この QueueSession は、Queue の Sender オブジェクトを作成します。Sender オブジェクトは、送信者の ObjectMessage を作成し、キューの送信に使用されます。
6.6.5. Properties オブジェクト
6.6.6. Naming Context
6.6.7. ConnectionFactory
org.jboss.jms.client.JBossConnectionFactory
) です。Naming Contect は、JNDI から ConnectionFactory を取得します。
6.6.8. QueueConnection
6.6.9. QueueSession
6.6.10. SOA_ROOT/jboss-as/samples/quickstarts/helloworld/build.xml
build.xml
ファイルには、build
ディレクトリーにあるクイックスタートのソースコードをコンパイルするために ant deploy が使用する命令が含まれています。このファイルを編集して、独自のカスタム命令を追加できます。
6.6.11. SOA_ROOT/jboss-as/samples/quickstarts/helloworld/deployment.xml
deployment.xml
ファイルは、メッセージングキューを作成および設定するために ant runtest によって使用されます。
build/META-INF
ディレクトリーに deployment.xml
ファイルを生成します。そして、ハードコーディングされた JMS キューのどれを使用する必要があるかを決定するときに、そのファイルを取り込みます。取り込まれると、ファイルは .ESB アーカイブの一部としてパッケージ化されます。(Ant は、XSL テンプレートを使用して、汎用 JMS キュー名を、ターゲットサーバーのメッセージングプロバイダーが必要とする特定の JMS キューに変換します。このテンプレートから deployment.xml
ファイルが作成されます。)
6.6.12. メッセージングキュー
6.6.13. メッセージリスナー
org.jboss.soa.esb.message.Message
形式のメッセージのみを受け入れることができます。各ゲートウェイリスナーには、対応する ESB リスナーが定義されている必要があります。
6.6.14. ESB 対応
6.6.15. ゲートウェイリスナー
org.jboss.soa.esb.message.Message
形式に変換します。この変換は、ゲートウェイの種類に応じてさまざまな方法で行われます。変換が行われると、ゲートウェイリスナーはデータを正しい宛先にルーティングします。
6.6.16. 送信者
send
メソッドは、ant runtest の実行時に QueueSession の ObjectMessage によって呼び出されます。これが発生すると、クライアントはメッセージをキューに送信します。
6.6.17. クイックスタートの詳細
手順6.5 タスク
- クイックスタートの
readme.txt
ファイルを調べてください。 - クイックスタートのディレクトリーで ant help コマンドを実行します。
6.7. "Hello World" クイックスタートのソースコード
6.7.1. SOA_ROOT/jboss-as/samples/quickstarts/helloworld/src
src
ディレクトリーには、コンパイルされていないプログラミング命令が含まれています。クラスは、サブディレクトリーにネストされたファイルにあります。ant deploy は、このソースコードをコンパイルします。
6.7.2. SOA_ROOT/jboss-as/samples/quickstarts/helloworld/lib
lib
ディレクトリーには、(ソースコードに加えて) ant deploy がクイックスタートをコンパイルするために必要なクラスが含まれています。
6.7.3. SOA_ROOT/jboss-as/server/SERVER_PROFILE/deploy
build
ディレクトリーから /jboss-as/server/default/deploy/
ディレクトリーに移動します。JBoss Enterprise SOA Server はこのディレクトリーをポーリングしており、新しい .ESB ファイルの存在を検出すると、それをデプロイします。
第7章 削除
7.1. システムからの JBoss Enterprise SOA Platform の削除
手順7.1 システムからの JBoss Enterprise SOA Platform の削除
Red Hat Enterprise Linux システムから JBoss Enterprise SOA Platform を削除する
サーバーがシャットダウンしていることを確認したら、SOA_ROOT ディレクトリーの上のレベルに移動し、rm -Rf SOA_ROOT コマンドを実行します。Microsoft Windows システムから JBoss Enterprise SOA Platform を削除する
サーバーがシャットダウンされていることを確認したら、Windows Explorer を開き、SOA_ROOT があるディレクトリーに移動し、SOA_ROOT を選択して削除します。- データベースを削除します。
付録A 定義
A.1. Enterprise Service Bus
A.2. JBoss Rules
A.3. soa-users.properties
soa-users.properties
ファイルは、SOA Web コンソールにアクセスするためのユーザーアカウントとパスワードが格納される場所です。管理者は、このファイルを編集してシステムへのアクセスを制御します。パスワードは平文で保存されるため、本番システムでは代わりにパスワード暗号化を使用する必要があることに注意してください。
A.4. soa-roles.properties
soa-roles.properties
ファイルは、ユーザーアクセス権限が定義される場所です。このファイルは次の構文: username=role1,role2,role3
を使用します。ロールはいくつでも割り当てることができます。サーバーコンソールにログインできるようにするには、ユーザーに JBossAdmin
、HttpInvoker
、user
、および admin
ロールを割り当てる必要があることに注意してください。
A.5. run.sh
run.sh
は、JBoss Enterprise SOA Platform を起動するためにユーザーが実行するシェルスクリプトです。Microsoft Windows では、run.bat
がこれに相当します。スクリプトには、ユーザーがシェルで指定したプロファイルとポートバインドを使用してサーバーを起動するために必要なコマンドが含まれています。スクリプトは SOA_ROOT/jboss-as/bin
ディレクトリーにあります。
A.6. サーバープロファイル
SOA_ROOT/jboss-as/server/
ディレクトリーにあります。ユーザーは、-c スイッチを使用して、ソフトウェアの起動時に実行するプロファイルを指定します。何も指定されていない場合は、"Default" プロファイルが使用されます。
付録B 更新履歴
改訂履歴 | |||
---|---|---|---|
改訂 5.3.1-31.400 | 2013-10-31 | Rüdiger Landmann | |
| |||
改訂 5.3.1-31 | Tue Feb 05 2013 | David Le Sage | |
|