ESB サービスガイド
本ガイドは開発者向けです。
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
1. ドキュメント規則 リンクのコピーリンクがクリップボードにコピーされました!
1.1. 表記規則 リンクのコピーリンクがクリップボードにコピーされました!
等幅ボールド
現在の作業ディレクトリーのファイルmy_next_bestselling_novelの内容を表示するには、シェルプロンプトで cat my_next_bestselling_novel コマンドを入力し、Enter を押してコマンドを実行します。
Enter を押してコマンドを実行します。Ctrl+Alt+F2 を押して、仮想ターミナルに切り替えます。
等幅ボールド で示されます。以下に例を示します。
ファイル関連のクラスには、ファイルシステムのfilesystem、ファイルのfile、ディレクトリーのdirが含まれます。各クラスには、独自の関連付けられたパーミッションセットがあります。
メインメニューバーから → → を選択し、Mouse Preferences を起動します。Buttons タブで、Left-handed mouse チェックボックスを選択し、 をクリックしてメインのマウスボタンを左から右に切り替えます (マウスを左手で使い易くします)。特殊文字を gedit ファイルに挿入するには、メインメニューバーから → → を選択します。次に、Character Map メニューバーから → を選択し、Search フィールドに文字の名前を入力して をクリックします。目的の文字が Character Table で強調表示されます。この強調表示した文字をダブルクリックして Text to copy フィールドに配置し、 ボタンをクリックします。ここでドキュメントに戻り、gedit メニューバーから → を選択します。
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
books Desktop documentation drafts mss photos stuff svn
books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman に設定されますが、以下のように構文の強調表示が追加されます。
1.3. 注記および警告 リンクのコピーリンクがクリップボードにコピーされました!
2. ヘルプの利用とフィードバック提供 リンクのコピーリンクがクリップボードにコピーされました!
2.1. ヘルプが必要ですか ? リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat 製品に関する技術サポート記事の知識ベースの検索または閲覧。
- Red Hat グローバルサポートサービス (GSS) へのサポートケースの送信。
- その他の製品ドキュメントへのアクセス。
2.2. ご意見をお寄せください リンクのコピーリンクがクリップボードにコピーされました!
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
1.1. ビジネス統合 リンクのコピーリンクがクリップボードにコピーされました!
1.2. サービス指向アーキテクチャーとは リンクのコピーリンクがクリップボードにコピーされました!
はじめに
SOA (Service Oriented Architecture) は単一のプログラムまたはテクノロジーではありません。ソフトウェア設計パラダイムと見なします。
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)
- ドメインはサービス間でメッセージを送信し、それらを変換して、異なるタイプのシステムで処理できるようにします。
- Business Process Execution Language (BPEL)
- Web サービスを使用して、この言語を使用してビジネスルールをオーケストレーションできます。これは、ビジネスプロセス命令を簡単に実行するために SOA に含まれています。
- Java Universal Description、Discovery and Integration (jUDDI)
- これは SOA のデフォルトサービスレジストリーです。ここで説明する内容は、インストラクター上のサービスに関する情報をすべて保管する場所です。
- 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 の使用 リンクのコピーリンクがクリップボードにコピーされました!
パート I. はじめに リンクのコピーリンクがクリップボードにコピーされました!
第2章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
2.1. 対象読者 リンクのコピーリンクがクリップボードにコピーされました!
2.2. 本書のねらい リンクのコピーリンクがクリップボードにコピーされました!
Aim
Enterprise Service Bus Services ガイドは、開発者が JBoss Enterprise SOA Platform にデプロイするサービスの作成方法を学習することを目的としています。リーダーは、Web アプリケーションの使用、ルールサービスの設定、およびコンテンツベースのルーティング機能の設定方法、メッセージの変換およびサービスのデプロイ方法を説明します。
2.3. データのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
第3章 basics リンクのコピーリンクがクリップボードにコピーされました!
3.1. 初期状態のアクション リンクのコピーリンクがクリップボードにコピーされました!
3.2. JBoss Enterprise SOA Platform の非ボックスアクション リンクのコピーリンクがクリップボードにコピーされました!
- トランスフォーマーとコンバーター
- トランスフォーマーとコンバーターアクションを使用して、メッセージデータをある形式から別の形式に変更します。
- ビジネスプロセス管理
- ソフトウェアを jBPM と統合する場合は、ビジネスプロセス管理アクションを使用します。
- スクリプト
- スクリプトアクションを使用して、サポートされているスクリプト言語で書かれたタスクを自動化します。
- サービス
- コードを Enterprise Java Beans と統合する際に、サービスアクションを使用します。
- Routing
- メッセージデータを宛先サービスに移動する際にルーティングアクションを使用します。
- Notifier
- データを、認識しない宛先に送信する場合は、通知アクションを使用します。
- Web Services/SOAP
- Web サービスをサポートする必要がある場合は、Web サービスアクションを使用します。
3.3. Quickstart リンクのコピーリンクがクリップボードにコピーされました!
SOA_ROOT/jboss-as/samples/quickstarts/ ディレクトリーには、数十のクイックスタートが含まれています。Apache Ant を使用して、すべてのクイックスタートをビルドしてデプロイします。
3.4. クイックスタートに関する重要事項 リンクのコピーリンクがクリップボードにコピーされました!
- 各クイックスタートは、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
# jBPM console security credentials jbpm.console.username=admin jbpm.console.password=adminpasswordCopy to Clipboard Copied! Toggle word wrap Toggle overflow この要件の影響を受けるクイックスタートは、bpm_orchestration1、bpm_orchestration2、bpm_orchestration3、およびbpm_orchestration4です。 - サーバーが ヘッドレス モードで実行されていない場合は、一部のクイックスタート (groovy_gateway など) のみを実行できます。(JBoss Enterprise SOA Platform はデフォルトでヘッドレスモードで起動するように設定されています。)重要Red Hat は、実稼働サーバーをヘッドレスモードでのみ実行することをお勧めします。
3.5. クイックスタートの詳細 リンクのコピーリンクがクリップボードにコピーされました!
手順3.1 タスク
- クイックスタートの
readme.txtファイルを調べてください。 - クイックスタートのディレクトリーで ant help コマンドを実行します。
3.6. "Hello World" クイックスタートの仕組みの概要 リンクのコピーリンクがクリップボードにコピーされました!
図3.1 イメージ
- JBoss Enterprise SOA Platform サーバーが
Window1で起動され、helloworld クイックスタートがデプロイされるとFirstServiceESB:SimpleListenerサービスが Service Registry サービスに追加されます。 - JMS クライアントは、ESB 非対応の "Hello World" メッセージ (プレーンな
Stringオブジェクト) を JMS キュー (queue/quickstart_helloworld_Request_gw) に送信します。 - JMS ゲートウェイリスナーは、ESB 非認識メッセージを受信し、そこから ESB 認識エンドポイントで使用する ESB 認識メッセージを作成します。
JMS ゲートウェイリスナーは、service registryを使用して、FirstServiceESB:SimpleListenerサービスの end-point reference (EPR) を見つけます。この場合、EPR はqueue/quickstart_helloworld_Request_esbJMS キューです。JMS ゲートウェイリスナーは、新しい ESB 対応メッセージを受け取り、それをqueue/quickstart_helloworld_Request_esbJMS キューに送信します。FirstServiceESB:SimpleListenerサービスがメッセージを受信します。FirstServiceESB:SimpleListenerサービスはメッセージからペイロードを抽出し、コンソールに出力します。
パート II. サービス登録とホスト リンクのコピーリンクがクリップボードにコピーされました!
第4章 Service Registry の概要 リンクのコピーリンクがクリップボードにコピーされました!
4.1. このセクションについて リンクのコピーリンクがクリップボードにコピーされました!
はじめに
このセクションでは、サービスレジストリーの概要と、そのレジストリーがどのように対話するかについて説明します。レジストリーの開発方法については、 jUDDI Registry Guide を参照してください。
4.2. Service Registry リンクのコピーリンクがクリップボードにコピーされました!
4.3. juddi レジストリー リンクのコピーリンクがクリップボードにコピーされました!
4.4. juddi および JBoss Enterprise SOA Platform リンクのコピーリンクがクリップボードにコピーされました!
juddi および JBoss Enterprise SOA Platform
JBoss Enterprise SOA Platform 製品には、jUDDI レジストリーの事前設定されたインストールが含まれています。特定の API を使用して、カスタムクライアントを介してこのレジストリーにアクセスできます。ただし、ビルドするカスタムクライアントは SOA Platform のサポート契約では対応されません。jUDDI の例、ドキュメント、および API の完全なセットには、次の場所からアクセスできます。http://juddi.apache.org/
4.5. サポートされるその他のサービスレジストリー リンクのコピーリンクがクリップボードにコピーされました!
- SOA ソフトウェア SMS
- HP Systinet
4.6. サービスプロバイダー リンクのコピーリンクがクリップボードにコピーされました!
4.7. サービスブローカー リンクのコピーリンクがクリップボードにコピーされました!
4.8. サービスリクエスター リンクのコピーリンクがクリップボードにコピーされました!
4.9. Web サービス リンクのコピーリンクがクリップボードにコピーされました!
4.10. Web サービスのエンドポイント リンクのコピーリンクがクリップボードにコピーされました!
4.11. Web Services Description Language (WSDL) リンクのコピーリンクがクリップボードにコピーされました!
- サービスの場所
- サービスがサポートする操作
- サービスがサポートするプロトコルバインディング (SOAP、HTTP など)
- アクセス手順
4.12. Universal Description、Discovery and Integration (UDDI) レジストリー リンクのコピーリンクがクリップボードにコピーされました!
4.13. UDDI アプリケーションプログラミングインターフェイス リンクのコピーリンクがクリップボードにコピーされました!
- UDDI_Security_PortType
- これは、セキュリティートークンを取得するための API を定義します。有効なセキュリティートークンでは、パブリッシャーはレジストリーに公開できます。セキュリティートークンは、セッション全体に使用できます。
- UDDI_Publication_PortType
- これにより、ビジネスおよびサービス情報を UDDI レジストリーに公開する API が定義されます。
- UDDI_Inquiry_PortType
- これは、UDDI レジストリーをクエリーする API を定義します。この API は通常、セキュリティートークンを必要としません。
- UDDI_CustodyTransfer_PortType
- この API は、ある UDDI ノードから別の UDDI ノードにビジネスのカストディを転送するために使用することができます。
- UDDI_Subscription_PortType
- これは、特定のサービスビジネスで更新を登録する API を定義します。
- UDDI_SubscriptionListener_PortType
- これは、UDDI ノードからサブスクリプション通知を受け取るためにクライアントが実装する必要のある API を定義します。
- UDDI_Replication_PortType
- これは、UDDI ノード間でレジストリーデータを複製する API を定義します。
- UDDI_ValueSetValidation_PortType
- これは、外部プロバイダーが検証を設定するのを許可するためにノードによって使用されます。keyedReferences または keyedReferenceGroups が有効かどうかを評価する Web サービス。
- UDDI_ValueSetCaching_PortType
- UDDI ノードは、このような Web サービスから取得したキャッシュされた値を使用して、パブリッシャー参照自体を検証することができます。
4.14. UDDI ページタイプ リンクのコピーリンクがクリップボードにコピーされました!
- 緑色のページ
- 緑のページでは、クライアントを提供されているサービスにバインドできる情報を提供します。
- 黄色のページ
- 黄色のページは、所属する業界に基づいて企業を分類するために使用されます。
- ホワイトページ
- ホワイトページには、サービスを提供する会社の名前、住所、その他の連絡先情報などの一般情報が含まれます。
4.15. Service Registry および JBoss Enterprise SOA Platform リンクのコピーリンクがクリップボードにコピーされました!
4.16. jUDDI および ESB リンクのコピーリンクがクリップボードにコピーされました!
4.17. レジストリーの仕組み リンクのコピーリンクがクリップボードにコピーされました!
- JBoss Enterprise Service Bus は、レジストリーインターフェイスを介したレジストリーとのすべての対話をフェデレーションします。
- その後、このインターフェイスの JAXR 実装を呼び出します。
- JAXR API は JAXR 実装を使用する必要があります。(デフォルトでは Apache Scout です。)
- Apache Scout は、次に レジストリー を呼び出します。
第5章 出版契約 リンクのコピーリンクがクリップボードにコピーされました!
5.1. サービスリストアプリケーション リンクのコピーリンクがクリップボードにコピーされました!
5.2. エンドポイントコントラクト リンクのコピーリンクがクリップボードにコピーされました!
5.3. JBoss Enterprise SOA Platform がエンドポイントコントラクトを検出する方法 リンクのコピーリンクがクリップボードにコピーされました!
Unavailable on Contract
Unavailable on Contract
5.4. 契約書を発行する リンクのコピーリンクがクリップボードにコピーされました!
手順5.1 タスク
- コントラクト情報を公開するには、次の
org.jboss.internal.soa.esb.publish.Publishアノテーションをアクションに与える必要があります。(この例では説明目的で SOAPProcessor を使用しています):@Publish(JBossWSWebserviceContractPublisher.class) public class SOAPProcessor extends AbstractActionPipelineProcessor { //TODO: implement }@Publish(JBossWSWebserviceContractPublisher.class) public class SOAPProcessor extends AbstractActionPipelineProcessor { //TODO: implement }Copy to Clipboard Copied! Toggle word wrap Toggle overflow org.jboss.soa.esb.actions.soap.ContractPublisherインターフェイスを実装します(実装する必要があるのは 1 つのメソッドだけです)。public ContractInfo getContractInfo(EPR epr);
public ContractInfo getContractInfo(EPR epr);Copy to Clipboard Copied! Toggle word wrap Toggle overflow
パート III. サービスオーケストレーションおよびビジネスプロセス管理 リンクのコピーリンクがクリップボードにコピーされました!
第6章 jBPM Web アプリケーション リンクのコピーリンクがクリップボードにコピーされました!
6.1. jBPM リンクのコピーリンクがクリップボードにコピーされました!
6.2. jBPM インテグレーションと機能の統合 リンクのコピーリンクがクリップボードにコピーされました!
- サービスオーケストレーション:プロセス定義を作成して、Business Process Manager を使用してサービスをオーケストレーションできます。
- ヒューマンタスク管理:Business Process Manager を使用すると、マシンベースのサービスをユーザーが行うタスクの管理と統合できます。
6.3. ビジネス手順で手順のグラフィカル表現の作成 リンクのコピーリンクがクリップボードにコピーされました!
手順6.1 タスク
- jBPM の Process Designer 機能を使用します。注記このツールを使用する副次的な利点は、ビジネスアナリストと技術開発者間の優れた作業関係を追いつくことができることです。
6.4. jBPM Web コンソール リンクのコピーリンクがクリップボードにコピーされました!
6.5. jBPM Web アプリケーションの JBoss Enterprise SOA Platform へのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
- デプロイメントオプションは多数あります。GPD デプロイメント (グラフィカル設計プロセス)タブ、JSF コンソールのアップロードフォーム、Ant DeployProcessTask の使用から選択します。警告jBPM ライブラリーはデプロイ済みのアプリケーションに追加しないでください。
jbpm.esbモジュールは、jBPM アプリケーションの実行に必要なライブラリーおよび設定ファイルをすでに提供しています。提供されたバージョンとデフォルト設定を常に使用します。これは、クラ出力ディングの競合や設定の不一致などの問題を防ぐために、Red Hat の高品質エンジニアリングテストによって改良されているためです。注記プロセス定義は Web アプリケーションとは別にデプロイする必要があります。Red Hat は、Web アプリケーションの前にプロセスをデプロイすることを推奨します。これにより、後者はプロセスが常に利用可能であると仮定して動作させることができます。 - jBPM グラフィカル設計プロセスエディターには、Diagram、Deployment、Design、および Source の 4 つのモードが含まれます。これは、エディター下部のスイッチ可能なタブとして利用できます。プロジェクトのデプロイメント設定を調整するには、Deployment モードを開くタブを選択する必要があります。簡単に変更することも、設定がニーズに合わない場合はそれらをデフォルトにリセットできます。
- マルチテナンシーのユースケースでは、単一のサーバーが多数のアプリケーションをホストするので、それぞれ異なる設定が必要になります。プラットフォームで提供されるデフォルトの設定ファイルを上書きしないように、各設定ファイルに一意の名前(jbpm.cfg.xml 以外)を指定することを推奨します。
第7章 jBPM 3 の統合 リンクのコピーリンクがクリップボードにコピーされました!
7.1. JBoss Business Process Manager リンクのコピーリンクがクリップボードにコピーされました!
7.2. JBPM 統合設定 リンクのコピーリンクがクリップボードにコピーされました!
- JBPM データベースを作成するには、
DatabaseInitializerMBean を起動します。(この MBean の設定設定はSOA_ROOT/jboss-as/server/PROFILE/deploy/jbpm.esb/jbpm-service.xmlファイルの最初の設定要素にあります。)警告JbpmDS データソースはSOA_ROOT/jboss-as/server/PROFILE/deploy/jbpm.esbにある jbpm-ds.xml ファイルで定義されます。デフォルトでは、Hypersonic データベースを使用します。これをライブ環境で常に実稼働品質のデータベースに変更します。警告JBoss Enterprise SOA Platform には、インメモリー参照データベースである Hypersonic が同梱されています。これはテスト環境でのみ使用してください。 - 以下の例に従ってください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. jBPM 5 から JBoss Warehouse の統合 リンクのコピーリンクがクリップボードにコピーされました!
<property name="process-definition-name" value="sample.bpmn"/>
<property name="process-definition-name" value="sample.bpmn"/>
7.4. DatabaseInitializer MBean のデフォルト値 リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | 説明 | デフォルト |
|---|---|---|
データソース | JBPM データベースのデータソース。 | java:/JbpmDS |
ExistsSql | この SQL コマンドを使用して、データベースが存在することを確認します。 | select count (*) from JBPM_ID_USER |
SqlFiles | これらのファイルには、JBPM データベースが見つからない場合に作成する SQL コマンドが含まれています。 | jbpm-sql/jbpm.jpdl.hsqldb.sql, jbpm-sql/import.sql |
DatabaseInitializer MBean は JbpmDS がデプロイされるまで待機してから、それ自体をデプロイするように設定されています。
7.5. JbpmService MBean リンクのコピーリンクがクリップボードにコピーされました!
JbpmService Bean は、 JBoss Business Process Manager のジョブエグゼキューター のライフサイクルを jbpm.esb のものに関連付けます。これは、起動時に ジョブエグゼキューター インスタンスを起動し、シャットダウン時にこれを閉じることで行います。
7.6. JBPM の設定 リンクのコピーリンクがクリップボードにコピーされました!
SOA_ROOT/jboss-as/server/PROFILE/deploy/jbpm.esb/ ディレクトリー内の 3 つのファイルに保存されます。
jbpm.cfg.xmlhibernate.cfg.xmljbpm.mail.templates.xml
jbpm.cfg.xmlファイルは、JTA トランザクションマネージャーを使用するように JBPM に指示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow hibernate.cfg.xmlファイルも、JTA トランザクションマネージャーを使用して JBPM に通知します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Hibernate を使用してデータベーススキーマを作成しないでください。代わりにDatabaseInitializerMBean を使用してください。jbpm.mail.templates.xmlファイルには以下の内容が含まれます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記各設定ファイルの詳細は、 JBPM Reference Guide を参照してください。
7.7. プロセス定義の作成 リンクのコピーリンクがクリップボードにコピーされました!
- Create ウィザードを使用して空のプロセス定義を作成します。 → → を選択します。ウィザードが Select Wizard ページで開きます。
- JBoss jBPM カテゴリーを選択し、jBPM Process Definition 項目を選択します。 ボタンをクリックすると、Create Process Definition ページに移動します。
- プロセスアーカイブファイルの名前を入力します。 ボタンをクリックしてウィザードを終了し、プロセス定義エディターを開きます。
- Package Explorer を表示すると、プロセス定義の作成には、プロセス定義情報が含まれる
[process name].jpdl.xmlという名前の XML ファイルが作成されていることを確認できます。[process name].jpgと呼ばれる JPG ファイルも、変更がプロセスに保存されると自動的に生成されます。
7.8. プロセス定義のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
- サーバーが実行中であることを確認します。
- JBPM グラフィカルエディター のDeployment タブに移動して、プロセスアーカイブ をアクティブにします。注記
processdefinition.xmlファイルのみをデプロイする必要がある場合がありますが、ほとんどの場合は、タスクフォームなどの他のタイプのアーティファクトもデプロイします。 - 以下の方法のいずれかを使用して定義をデプロイします。
- JBoss Developer Studio を使用して、デプロイヤーが使用するアップロードサーブレットを設定します。次に、 ボタンをクリックします。これは Deployment ビューに表示されます。
- DeployProcessToServer JBPM
antタスクの使用 - Deployment ビューのローカルの
.parファイルにデプロイメントを保存します。次に、JBPM コンソールを使用してアーカイブをアクティブにします。(これには管理者権限が必要です。)
7.9. JBPM コマンド リンクのコピーリンクがクリップボードにコピーされました!
| コマンド | Description |
|---|---|
| NewProcessInstanceCommand | このコマンドは、JBPM にすでにデプロイされているプロセス定義に関連付けられている新しい ProcessInstance を起動します。NewProcessInstanceCommand は、プロセスインスタンスを 開始 状態のままにします。これは、 開始ノード に関連付けられているタスクの場合に必要です( アクター の task-list にタスクリストがある場合など)。 |
| StartProcessInstanceCommand |
これは NewProcessInstanceCommand と同じですが、新規プロセスインスタンスは
開始 位置から最初のノードに自動的に移動します。
|
| GetProcessInstanceVariablesCommand |
プロセスインスタンス識別子を使用して、プロセスインスタンスのルートノード変数を表示します。
|
| CancelProcessInstanceCommand | ProcessInstance 全体をキャンセルします。( ProcessInstance 識別子を含む、メッセージには JBPM コンテキスト変数を設定する必要があります。)
|
7.10. JBPM での新規プロセスインスタンスの設定 リンクのコピーリンクがクリップボードにコピーされました!
- jboss-exb.xml でのこの動作の設定は以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次の 2 つの属性を入力する必要があります。
- name
アクションパイプラインで一意であれば、 name 属性に任意の値を使用します。 - classこの属性は必ず
org.jboss.soa.esb.services.jbpm.actions.BpmProcessorに設定します。
7.11. JBPM 設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description | 必須 ? |
|---|---|---|
| command |
これは、
NewProcessInstanceCommand、StartProcessInstanceCommand、GetProcessInstanceVariablesCommand または CancelProcessInstanceCommand のいずれかでなければなりません。
|
はい
|
| process-definition-name |
NewProcessInstanceCommand および StartProcessInstanceCommand で process-definition-id プロパティーが使用されていない場合に必要です。このプロパティーの値は、新規インスタンスを必要とするすでにデプロイ済みのプロセス定義を参照する必要があります。(このプロパティーは CancelProcessInstanceCommand には適用されません。)
| 時々 |
| process-definition-id |
NewProcessInstanceCommand および StartProcessInstanceCommand で process-definition-name プロパティーが使用されていない場合に必要です。このプロパティーの値は、新規インスタンスが作成される既存のデプロイ済みプロセス定義を参照する必要があります。(このプロパティーは CancelProcessInstanceCommand には適用されません。)
|
時々
|
| actor | JBPM アクター 識別子を指定します。( NewProcessInstanceCommand および StartProcessInstanceCommandにのみ適用)
| いいえ |
| key |
JBPM キーの値を指定します。キーは、プロセスインスタンスの文字列ベースのビジネスキープロパティーです。ビジネスキーが指定されている場合は、ビジネスキーとプロセス定義の組み合わせは一意でなければなりません。キー値は MVEL 式を保持し、EsbMessage から必要な値を抽出できます。たとえば、メッセージのボディーに
businessKey という名前付きパラメーターがある場合は、 body.businessKey が使用されます。(このプロパティーは NewProcessInstanceCommand および StartProcessInstanceCommand にのみ適用されます。)
| いいえ |
| transition-name |
これは StartProcessInstanceCommand にのみ適用されます。現在のノードから移行が複数ある場合にのみ使用してください。このプロパティーが指定されていない場合、ノードからデフォルトの移行が行われます。デフォルトの移行は、JBPM
processdefinition.xml のそのノードに定義された移行リストの最初の移行です。
| いいえ |
| esbToBpmVars |
これは、New- および StartProcessInstanceCommand の任意のプロパティーです。これは、MAn Message から抽出して、その特定のプロセスインスタンスの JBPM コンテキストに設定する必要がある変数の一覧を定義します。この一覧はマッピング要素で設定され、各要素には以下の属性を設定できます。
|
いいえ
|
7.12. JBPM の EsbMessage Body 設定 リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | 説明 |
|---|---|
| jbpmProcessInstId |
これは、GetProcessInstanceVariablesCommand コマンドおよび CancelProcessInstanceCommand コマンドに適用される必須の Body メッセージボディーパラメーターです。これを EsbMessage 本文の名前付きパラメーターとして手動で設定します。
|
7.13. adobe-to-JBPM 例外処理 リンクのコピーリンクがクリップボードにコピーされました!
JbpmException が出力された場合、アクションパイプライン に渡されます。パイプラインはエラーをログに記録し、メッセージを DeadLetterService に転送し、(設定されている場合) faultTo エンドポイント参照にエラーを送信します。
7.14. JBPM-JBossESB-to-ESB Integration リンクのコピーリンクがクリップボードにコピーされました!
EsbActionHandler と EsbNotifier です。EsbActionHandler は、サービスにメッセージを送信し、応答を待ちます。一方、EsbNotifier は応答を待ちません。
lib ディレクトリーにデプロイします。
7.15. JBPM での通知アクション リンクのコピーリンクがクリップボードにコピーされました!
- 以下のように
EsbNotifierを JBPMprocessdefinition.xmlファイルの 送信移行 にアタッチします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下の属性を指定できます。
- nameこれは必須です。アクションのユーザー指定の名前です。
- classこれは必須です。
org.jboss.soa.esb.services.jbpm.actionhandlers.EsbNotifierに設定する必要があります。
7.16. アーキテクトアクションハンドラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
EsbActionHandlerをノードに割り当て、ノードの入力時にアクションを呼び出します。EsbActionHandlerが実行されると、ノードは移行シグナルを待つ(通常JBossESB コールバックサービスによって送信されます)。- 以下のように を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.17. EsbActionHandler 拡張設定 リンクのコピーリンクがクリップボードにコピーされました!
EsbActionHandler は、EsbNotifier の設定に依存します。拡張機能は、以下のサブ要素で設定されます。
| プロパティー | Description | 必須 ? |
|---|---|---|
| esbToBpmVars | BpmProcessor 設定の esbToBpmVars プロパティーと同じです。このサブ要素は、Mutuals メッセージから抽出して、その特定のプロセスインスタンスの Business Process Manager コンテキストで設定する必要がある変数の一覧を定義します。指定しない場合、変数が設定されている場合、globalProcessScope 値はデフォルトで true になります。
この一覧はマッピング要素で設定され、各要素には以下の属性を設定できます。
| いいえ |
| exceptionTransition | サービスの処理中に例外が発生した場合に使用する移行の名前。現在のノードには、複数の送信移行が必要です。その 1 つは 例外処理を処理 できます。 | いいえ |
7.18. startProcess 上の jBPM5 プロセスにパラメーターを渡す リンクのコピーリンクがクリップボードにコピーされました!
// create the ESB message
Message esbMessage = MessageFactory.getInstance().getMessage();
// add a parameter
esbMessage.getProperties().setProperty("name", "Laurel");
// create the ESB message
Message esbMessage = MessageFactory.getInstance().getMessage();
// add a parameter
esbMessage.getProperties().setProperty("name", "Laurel");
7.19. signalEvent で jBPM5 プロセスへパラメーターを渡す リンクのコピーリンクがクリップボードにコピーされました!
String name2 = objectMap.get("name"); // will retrieve the Hardy string
String name2 = objectMap.get("name"); // will retrieve the Hardy string
7.20. シグナルイベントの例 リンクのコピーリンクがクリップボードにコピーされました!
7.21. 2009 Notifier Sub-Elements の一覧 リンクのコピーリンクがクリップボードにコピーされました!
| サブ要素 | Description |
|---|---|
esbCategoryName
|
これはグローバルなサービスのカテゴリー名で、 reply-to-originator 機能を使用していない場合に必要です。
|
esbServiceName
|
これは、Kamelet サービスの名前であり、 reply-to-originator 機能を使用していない場合に必要です。
|
replyToOriginator |
これを使用して、作成時にプロセスインスタンスに以前保存した reply またはfault オリジンアドレスを指定します。
|
globalProcessScope
|
この要素はオプションのブール値パラメーターです。
bpmToEsbVars 変数が見つかるデフォルトのスコープを設定します。globalProcessScope が true に設定されている場合、トークン階層 ( プロセスインスタンス スコープ)内の変数を検索します。false に設定すると、トークンのスコープにある変数が取得されます。トークン自体が指定の名前の変数を持たない場合、トークン階層はその変数の検索に使用されます。要素が完全に省略された場合、globalProcessScope はデフォルトで false になります。
|
bpmToEsbVars
|
この要素は任意です。サブ要素の一覧を取得し、それらを使用して JBPM コンテキスト変数を anifies message location にマッピングします。これらのマッピングサブ要素にはそれぞれ、以下の属性を指定できます。
|
bpm |
これは必の須属性です。JBPM コンテキストの変数の名前です。名前は MVEL タイプの式を指定できるため、より大きなオブジェクトから特定のフィールドを抽出できます。MVEL のルートは JBPMContextInstance に設定されているため、たとえば以下のようなマッピングを使用できます。
JBPM コンテキスト変数名は直接参照することもできます。
|
esb
|
オプション:これは、Enterprise Service Bus Message の変数の名前です。MVEL タイプの式にすることができます。(上記の例の属性値 TokenName は
body.TokenName と同じです。BODY_CONTENT "addresses" the body directly と呼ばれる特殊な値。) デフォルトでは、変数はこのメッセージの本文で名前付きパラメーターとして設定されます。esb 属性を省略するには、bpm 属性の値に置き換えます。
|
process-scope
|
この属性は任意です。これは、このマッピングの
globalProcessScope の設定をオーバーライドするために使用されるブール値を含むパラメーターです。
|
デバッグ-level ロギングを有効にします。
7.22. 10^ServiceWorkItemHandler Sub-Elements の一覧 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | Description |
|---|---|
| ServiceCategory | これは、jBPM 5 がメッセージを配信するサービスの カテゴリー 名です。 |
| ServiceName | これは、jBPM 5 がメッセージを配信するサービスのサービス名です。 |
7.23. サブドメインアクションWorkItemHandler サブセットの一覧 リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | Description |
|---|---|
| ServiceCategory | これは、jBPM 5 がメッセージを配信するサービスの カテゴリー 名です。 |
| ServiceName | これは、jBPM 5 がメッセージを配信するサービスのサービス名です。 |
| CallbackServiceCategory | コールバックサービスのサービスカテゴリー。コールバックサービスは jboss-esb.xml に提供する必要があります。 |
| CallbackServiceName | コールバックサービスのサービス名。コールバックサービスは jboss-esb.xml に提供する必要があります。 |
| replyToOriginator | これを使用して、作成時にプロセスインスタンスに以前保存した reply またはfault オリジンアドレスを指定します。 |
| jbpm5-session-id | このプロセスを開始したセッションの jbpm 5 セッション ID。これは、コールバックサービスが現在のワークアイテムを完了できるようにするために必要です。 |
7.24. JBPM でのタイムアウト値の追加 リンクのコピーリンクがクリップボードにコピーされました!
- JBPM ネイティブ タイマー を適切なノードに追加します。この例では、タイマーが設定され、シグナルが 10 秒で受信されない場合に
time-outと呼ばれる遷移がトリガーされます。<timer name='timeout' duedate='10 seconds' transition='time-out'/>
<timer name='timeout' duedate='10 seconds' transition='time-out'/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.25. JBPM-to-ESB 例外処理 リンクのコピーリンクがクリップボードにコピーされました!
| Error | 解決方法 |
|---|---|
| 配信エラー | 例外ハンドラー ( TB-JBPM-USER )を JBPM ノードに追加し、ユーザーがサービス名を誤ってスペルした MessageDeliveryException を処理します。(詳細 http://docs.jboss.com/jbpm/v3/userguide/processmodelling.html は を参照してください。) |
| エラーの処理 | サービスは要求を受け取りますが、処理中にエラーが発生します。EsbActionHandler から呼び出しが行われると、例外は JBoss Business Process Manager に報告されました。 |
7.26. 例外処理の例 リンクのコピーリンクがクリップボードにコピーされました!
Time-out: EsbActionHandler アクションを使用し、ノードがコールバックを待機している場合は、待機期間を制限できます。これを行うには、ノードにタイマーを追加します。(これは、以下のプロセス定義スニペットで Service1 を設定する方法です。) タイマーは一定期間(この場合は 10 秒)に設定できます。
Service1 には、2 つの送信移行があります。最初のものは ok です。2 番目のものは time-out-transition です。
ただし、サービスの処理に 10 秒かかると、タイマーが代わりに実行されます。タイマーの transition 属性は time-out-transition に設定されます。つまり、この移行はタイムアウト時に取られます。
ExceptionHandling ノードで終了します。ここから、補正作業を実行できます。
例外移行: exceptionTransition を定義して、処理中のサービス midst で発生した例外を処理できます。これにより、メッセージに faultTo エンドポイント参照が設定されます。つまり、Enterprise Service Bus はこのノードにコールバックします。これは exceptionTransition を通知します。
Service2 には 2 つの送信移行があります。通常、問題の発生時に ok 移行が行われます。名前が示すように、処理中に 例外 を出力するため、サービスがあるときに例外が発生します。
Service2 の前述の定義では、アクションの exceptionTransition は exception に設定されています。このシナリオでは、プロセス自体は ExceptionHandling ノードでも終了します。
例外の決定: Service3 の設定と、それに続く exceptionDecision ノードを確認します。Service3 プロセスは通常の結論に処理され、そのノードから移行は予想通りに行われます。
errorCode が設定され、exceptionDecision ノードは、ここで同じ名前の変数が呼び出されたかどうかを確認します。
esbToBpmVars マッピング要素は、メッセージのボディーから SomeExceptionCode を呼び出し、JBPM コンテキスト で設定します。(これは SomeExceptionCode が設定されていることを前提としています。)
exceptionDecision という名前の次のノードでは、処理が正常であれば ok 移行が実行されますが、JBPM コンテキストで errorCode という変数が見つかると、代わりに exceptionCondition 遷移が取得されます。
<condition>#{ errorCode!=void }</condition>
<condition>#{ errorCode!=void }</condition>
7.27. JBPM コンソールの起動 リンクのコピーリンクがクリップボードにコピーされました!
- サーバーが停止したら、アドレス から JBPM コンソール にアクセスし http://localhost:8080/jbpm-console/app/processes.jsf ます。
- JBPM コンソールを使用して、プロセスおよびタスクをデプロイおよび監視できるようになりました。
bpm_orchestration4クイックスタートはこの機能を示しています。警告JbpmDSデータソースはjbpm-ds.xmlファイルで定義されます。デフォルトでは、 Hypersonic データベースを使用します。これをライブ環境で常に実稼働品質のデータベースに変更します。注記すべてのjbpm.esbデプロイメントが同じデータベースインスタンスを共有することを確認してください。(これは、さまざまな Enterprise Service Bus ノードが同じプロセス定義にアクセスできるようにするためです。)
7.28. JBPM Deployment リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description |
|---|---|
jbpm.esb/META-INF
|
このディレクトリーには、
deployment.xml および jboss-esb.xml ファイルが含まれます。
|
deployment.xml
| jbossesb.esb と JbpmDS のデータソースファイルの 2 つのリソースファイルを指定します。これらのファイルの情報は、デプロイメントの順序を決定するために使用されます。
<jbossesb-deployment> <depends>jboss.esb:deployment=jbossesb.esb</depends> <depends>jboss.jca:service=DataSourceBinding,name=JbpmDS</depends> </jbossesb-deployment>
|
jboss-esb.xml
|
このファイルは、
JBpmCallbackService という内部サービスをデプロイします。
この内部サービスは
jBPMCallbackBus をリッスンします。デフォルトでは、JBossMQ ( jbmq-queue-service.xml ファイル経由)または JBossMessaging ( jbm-queue-service.xml ファイル経由)のいずれかに設定されます。 後者は、Java Message Service Queue のメッセージングプロバイダーです。これらのファイルのいずれかが jbpm.esb アーカイブにデプロイされていることを確認します。
|
第8章 jBPM 5 の統合 リンクのコピーリンクがクリップボードにコピーされました!
8.1. 統合設定 リンクのコピーリンクがクリップボードにコピーされました!
8.2. jBPM 5 の設定 リンクのコピーリンクがクリップボードにコピーされました!
<?xml version="1.0" encoding="UTF-8"?><jbossesb-deployment> <depends>jboss.esb:deployment=jbossesb.esb</depends> <depends>jboss.jca:name=jboss/datasources/jbpm5DS,service=DataSourceBinding</depends> </jbossesb-deployment>
<?xml version="1.0" encoding="UTF-8"?><jbossesb-deployment>
<depends>jboss.esb:deployment=jbossesb.esb</depends>
<depends>jboss.jca:name=jboss/datasources/jbpm5DS,service=DataSourceBinding</depends>
</jbossesb-deployment>
8.3. JBossESB から jBPM 5 リンクのコピーリンクがクリップボードにコピーされました!
| コマンド | Description |
|---|---|
| startProcess |
jBPM にすでにデプロイされているプロセス定義を指定して、新しい ProcessInstance を起動します。
|
| signalEvent |
イベントが発生したプロセスへシグナルします。
|
| abortProcessInstance |
ProcessInstance をキャンセルします。つまり、イベントが発生すると、ProcessInstance 全体がキャンセルされます。このアクションでは、特に ProcessInstance Id で一部の jBPM コンテキスト変数をメッセージに設定する必要があります。
|
- name必須属性。name 属性の値は、アクションパイプラインで一意であれば自由に使用できます。
- class必須属性。この属性は "org.jboss.soa.esb.services.jbpm5.actions.Bpm5Processor" に設定する必要があります
8.4. jBPM コンテキスト設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description | 必須 ? |
|---|---|---|
| process-action |
startProcess、signalEvent、または abortProcessInstance のいずれかである必要があります。
|
はい
|
| process-definition-name |
必須プロパティー。このプロパティーの値は、すでに jBPM にデプロイされており、新しいインスタンスを作成するプロセス定義を参照する必要があります。
|
はい
|
| process-id |
このプロパティーの値は、新しいインスタンスを作成する jBPM のプロセス定義 ID を参照する必要があります。
|
はい
|
| esbToBpmVars |
任意のプロパティー。このプロパティーは、EsbMessage から抽出し、特定のプロセスインスタンスの jBPM コンテキストに設定する必要がある変数のリストを定義します。この一覧はマッピング要素で設定されます。各 mapping 要素には以下の属性を指定できます。
|
いいえ
|
| handlerClass |
WS Human Task ハンドラークラス(デフォルト:org.jbpm.task.service.hornetq.CommandBasedHornetQWSHumanTaskHandler)
|
はい
|
| handlerHost |
WS Human タスクサーバーのホスト名(デフォルト:127.0.0.1)
|
はい
|
| handlerPort |
WS Human Task サーバーのホスト名(デフォルト:5446)
|
はい
|
- org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler
- handlerHost - WS Human タスクサーバーのホスト名(デフォルト:127.0.0.1)
- handlerPort - WS Human タスクサーバーのホスト名(デフォルト:9123)
8.5. ボディー設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description | 必須 ? |
|---|---|---|
| jbpm5-processinstance-id |
signalEvent および abortProcessInstance コマンドに適用されるための context プロパティー。
|
はい
|
| jbpm5-session-id |
読み込むセッションをアクションに指示するための context プロパティー。
|
はい
|
第9章 サービスオーケストレーションとアーキテクト リンクのコピーリンクがクリップボードにコピーされました!
9.1. サービスオーケストレーション リンクのコピーリンクがクリップボードにコピーされました!
9.2. オーケストレーションダイアグラムの作成 リンクのコピーリンクがクリップボードにコピーされました!
- → → を選択します。
Selectionウィザードから JBoss jBPM Process Definition を選択します。- プロセス定義を保存します。混乱を避けるために、プロセス定義ごとに個別のディレクトリーを使用します。
- jBPM 統合開発環境 のメニューパレットから Process Design ビューへの "drag-and-drop" 項目を開始します。設計モードとソースモードを切り替えて、追加時に XML 要素を確認できます。
- インテグレーションに必要な XML フラグメントを追加します。
- オーダープロセスダイアグラムをビルドする前に、3 つのサービスを作成およびテストします。これらは通常のグローバルなサービスであり、
jboss-esb.xmlファイルで定義されます。サービス名とカテゴリーを使用した設定例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow EsbActionHandlerまたはEsbNotifierアクションハンドラーのいずれかを使用してこれらのサービスを参照します。( JBoss Business Process Manager が応答を期待する場合はEsbActionHandlerを選択し、何も必要ない場合はEsbNotifierを選択します。)- ためのサービスが認識されているので、
Startstate ノードをデザインビューにドラッグします。新しいプロセスインスタンスはこのノードで開始されます。 - ノードにドラッグし、
Intake Orderに名前を付けます。 - メニューから を選択し、各ノードをクリックして、
StartノードおよびIntake Orderノードを接続します。それらに接続する矢印が表示されます。最初のIntake Orderを参照します。 - Intake Node に Service および Category 名を追加します。Source ビューを選択します。
Intake Orderノードのソースコードを確認できます。以下のようになります。<node name="Intake Order"> <transition name="" to="Review Order"></transition> </node>
<node name="Intake Order"> <transition name="" to="Review Order"></transition> </node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow EsbActionHandlerクラス参照を追加し、続いてサービスカテゴリーと名前、BPM_Orchestration4、およびIntakeServiceのサブ要素設定を追加します。以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコードを使用して、サービス呼び出しとともに JBoss Business Process Manager コンテキスト変数を送信します。(以下の例では、 entireOrderAsXML という名前の変数がメッセージ本文のデフォルト位置に設定される)があります。
<bpmToEsbVars> <mapping bpm="entireOrderAsXML" esb="BODY_CONTENT" /> </bpmToEsbVars>
<bpmToEsbVars> <mapping bpm="entireOrderAsXML" esb="BODY_CONTENT" /> </bpmToEsbVars>Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、 entireOrderAsXML 変数の XML ベースの内容がメッセージの本文で終了します。これで、IntakeServiceは、パイプラインの各アクションを通過させることにより、メッセージにアクセスし、処理できるようになりました。最後のアクションに達すると、 replyTo プロパティーが確認され、メッセージはJBpmCallBackサービスに送信されます。これにより、JBoss Business Process Manager にコールバックし、Intake Orderノードから次のノードへの移行(この場合は 順の確認 の確認)に通知します。 - 次に、メッセージからノードにいくつかの変数を送信します。両方のコンテキストがオブジェクトのクラスをロードできる限り、オブジェクト全体を送信できます。JBoss Business Process Manager にマップバックする機能を維持するには、 esbToEsbVars 要素を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このサービスが返されると、以下の変数が JBoss Business Process Manager のコンテキストに保存されます。entireOrderAsXMLentireOrderAsObjectentireCustomerAsObject
また、デモの目的では、フラット化された変数もあります。order_orderidorder_totalAmountorder_prioritycustomer_firstNamecustomer_lastNamecustomer_status
- オーダープロセスを手動で確認する必要があります。
Order Reviewというタスクでタスクノードを追加します。これらのジョブは、列車を持つ誰かが実行する必要があります。 actor_iduserXML フラグメントは以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - XHTML データ形式を作成して、これらの変数を jbpm-console の形式で表示します。注記詳細は、 bpm_orchestration4 クイックスタートの
Review_Order.xhtmlファイルを参照してください。 - これらの設定を form
.xml ファイルに追加して、このデータ形式を task node にリンクします。<forms> <form task="Order Review" form="Review_Order.xhtml"/> <form task="Discount Review" form="Review_Order.xhtml"/> </forms>
<forms> <form task="Order Review" form="Review_Order.xhtml"/> <form task="Discount Review" form="Review_Order.xhtml"/> </forms>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この場合、2 つのタスクノードに同じ形式が適用されます。以下のサンプルコードに示されるように、Review Order フォームの変数への参照があります。(次に、JBoss Business Process Manager のコンテキストで設定される変数を参照します。)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - プロセスが
Review Nodeに到達すると、jBPM コンソールにログインし、Task をクリックしてアイテムのリストを表示できます。 - タスクをクリックして詳細を確認します。フォームが表示されます。その後、一部の値を更新できます。
- をクリックして結論します。この時点で、プロセスは次のノードに移動します。
- これは
Calculate Discountノードです。繰り返しになりますが、このノードは、以下のような設定ファイルです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスは、顧客、orderHeader、およびentireOrderAsXMLデータを受け取ります。次に割引を計算します。応答は、body.order_orderDiscountの値を order_-discount という JBoss Business Process Manager コンテキスト変数にマッピングします。プロセスが通知され、Review Discountノードに移行するように指示します。 - 値が 8.5 に設定されている割引を確認します。 をクリックします。プロセスは
Ship Itノードに移動します。このノードも、Mastive サービスです。Ship Itサービスの完了前に注文プロセスを回避するには、以下のようにEsbNotifierアクションハンドラーを送信移行にアタッチしてこれを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ShippingServiceに通知した後、オーダープロセスは終了状態に移行し、終了します。(ShippingService自体は終了している可能性があります。)bpm_orchestration4のクイックスタートでは、 JBoss Rules エンジンを使用して、この順番が normal メソッドまたは express メソッドから同梱されるかどうかを決定します。
9.3. プロセス定義のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
processdefinition.xml ファイルを作成したら、以下のいずれかを使用して JBoss Business Process Manager にデプロイできます。
- 統合開発環境
- ant
- jBPM コンソール
Review_Order.xhtmlforms.xmlgpd.xmlprocessdefinition.xmlprocessimage.jpg
PAR はそれを jBPM のデータベースにアーカイブしてデプロイします。
.PAR アーカイブに Java コードをデプロイしないことを推奨します。代わりに、.JAR または .ESB アーカイブのいずれかを使用してクラスをデプロイします。
9.4. デプロイメントのインスタンス化 リンクのコピーリンクがクリップボードにコピーされました!
- プロセス定義をデプロイしたら、新しいプロセスインスタンスを作成します。( StartProcessInstanceCommand を使用できることに注意してください)。このコマンドを使用すると、事前に設定された初期値でプロセスインスタンスを作成できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - これで、新しいプロセスインスタンスが呼び出され、スクリプトを使用して起動します。jBPM キーは、受信順序の XML ファイルにより、 OrderId の値に設定されます。この XML は、その後
esbToBpmVarsマッピングを使用して jBPM コンテキストに入れられます。bpm_orchestration4クイックスタートでは、XML はSeam DVD Storeから来、SampleOrder.xmlは以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Enterprise Service Bus および JBoss Business Process Manager デプロイメントは、hot として知られています。jBPM には特別な機能があり、プロセスデプロイメントがバージョン付けされます。新規作成されたプロセスインスタンスは最新バージョンを使用しますが、既存のプロセスインスタンスは、起動したプロセスデプロイメントを使用して終了で実行されます。
第10章 BPEL エンジンとの Service Registry の統合 リンクのコピーリンクがクリップボードにコピーされました!
10.1. BPEL エンジン リンクのコピーリンクがクリップボードにコピーされました!
10.2. Business Process Execution Language (BPEL) リンクのコピーリンクがクリップボードにコピーされました!
10.3. BPEL と Service Registry リンクのコピーリンクがクリップボードにコピーされました!
10.4. BPEL-Service レジストリー統合の有効化 リンクのコピーリンクがクリップボードにコピーされました!
手順10.1 タスク
- インテグレーションはデフォルトで有効になっています。これを確認するには、
vi SOA_ROOT/jboss-as/server/PROFILE/deploy/riftsaw.sar/bpel.properties.xmlを開き、がbpel.uddi.registration=trueに設定されていることを確認します。
10.5. パートナーリンク リンクのコピーリンクがクリップボードにコピーされました!
10.6. パートナーリンクチャンネル リンクのコピーリンクがクリップボードにコピーされました!
10.7. esb.juddi.client.xml リンクのコピーリンクがクリップボードにコピーされました!
SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb.sar/esb.juddi.client.xml ファイルは、jUDDI Service Registry のクライアント設定ファイルです。
10.8. BPEL.properties 設定設定 リンクのコピーリンクがクリップボードにコピーされました!
| attribute | タイプ(デフォルト) | description |
|---|---|---|
| bpel.uddi.registration | boolean (true) | 'false' に設定すると、UDDI 統合はオフになります。RiftSaw インストールプロセスでは、jbossesb-registry.sar に jUDDI v3 レジストリーが含まれることが検出されると、この値を true に設定します。他のすべての場合は、自動的に false に設定されます。 |
| bpel.webservice.secure | boolean (false) | UDDI 登録プロセスでは、登録している BPEL サービスの BindingTemplate に WSDL AccessPoint を登録します。BPEL サーバーは WS スタック上のサービス WSDL エンドポイントを公開します(現在、Red Hat は JBossWS および CXF をサポートします)。web サービススタックがセキュアなプロトコル(https など)を使用するように設定されている場合は、この設定を true に切り替える必要があります。(この設定は登録プロセス中にのみ使用されることに注意してください。) |
| bpel.uddi.client.impl | String (org.jboss.soa.bpel.uddi.UDDIRegistrationImpl) | これは、org.jboss.soa.bpel.runtime.engine.ode.UDDIRegistration インターフェイスを実装するクラスの名前です。 |
| bpel.uddi.clerk.config | 文字列(デフォルトでは使用されません) | これは、bpel.uddi.client.xml 設定ファイルへのパスを定義します。riftsaw.sar/META-INF/riftsaw.uddi.xml を使用する場合は、コメントアウトしたままにすることができます。この場合、bpel.uddi.clerk.manager を定義する必要があります。 |
| bpel.uddi.clerk.manager | string (riftsaw-manager) | これは、riftsaw.uddi.xml がコメントアウトされている場合に使用される ClerkManager の名前を定義します。この値は、esb.juddi.client.xml のマネージャーの名前に対応している必要があります。bpel.uddi.clerk.config が定義されている場合、bpel.uddi.clerk.manager の設定は無視されます。 |
| bpel.uddi.clerk | string (BPEL_clerk) | 使用する clerk の名前を定義します。この値は、riftsaw.uddi.xml の clerk の名前に対応している必要があります。(デフォルトでは BPEL_clerk に設定されています。) |
| bpel.uddi.lookup | boolean (true) | これを true に設定すると、パートナーチャネルの作成プロセスは UDDI の serviceName によるルックアップを実行し、WSDL エンドポイントが取得されます。このプロセスにより、BPEL プロセスデプロイメントでパートナーリンク WSDL ファイルを更新することなく、サーバーファーム内のプロセスデプロイメントを簡単に移動できます。複数のエンドポイント(BindingTemplate)が見つかった場合、ServiceLocator が使用するデフォルトのポリシーは PolicyLocalFirst になります。各 partnerLink に初期パートナーリンク WSDL ファイルをデプロイする必要があることに注意してください。 |
bpel.properties ファイルに指定されます。
10.9. clerk リンクのコピーリンクがクリップボードにコピーされました!
org.apache.juddi.v3.client.config.UDDIClerk)は、Service Registry にサービスのエンドポイントを登録します。
10.10. サービス登録時に Clerk が使用するプロパティーを設定します。 リンクのコピーリンクがクリップボードにコピーされました!
手順10.2 タスク
- テキストエディターで
esb.juddi.client.xmlファイルを開きます。vi SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb.sar/esb.juddi.client.xml - 設定を構成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
- ファイルの別のコピーをここに配置します(ファイルは常に対応する必要があります: SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/juddi_custom_install_data/)。
- ファイルを保存して終了します。
10.11. Service Registry Clerk のデフォルト設定 リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | 値 |
|---|---|
| keyDomain | esb.jboss.org |
| businessKey | redhat-jboss |
| serviceDescription | BPEL Service deployed by Riftsaw |
| bindingDescription | BPEL Endpoint deployed by Riftsaw |
SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/esb.juddi.xml ファイルには、 juddi.seed.always というプロパティーが含まれており、これは false に設定されます。つまり、サーバーの起動時に常に root シードデータを読み込もうとします。
10.12. UDDI 登録 リンクのコピーリンクがクリップボードにコピーされました!
10.13. UDDI End-Point Look-Up リンクのコピーリンクがクリップボードにコピーされました!
パート IV. メッセージのルーティング リンクのコピーリンクがクリップボードにコピーされました!
第11章 ルールを使用したコンテンツベースのルーティングの実行 リンクのコピーリンクがクリップボードにコピーされました!
11.1. Content-Based Router リンクのコピーリンクがクリップボードにコピーされました!
11.2. トレーニングによるコンテンツベースのルーティングの概要 リンクのコピーリンクがクリップボードにコピーされました!
11.3. XPath を使用したコンテンツベースのルーティングのインラインルールの定義 リンクのコピーリンクがクリップボードにコピーされました!
手順11.1 タスク
jboss-esb.xmlを開き、 cbrAlias プロパティーをXPathに設定します。- 以下に示すように、(コンテナー宛先プロパティーにある)route-to 設定でルーティングルールを定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.4. XPath を使用したコンテンツベースのルーティングの外部ルールの定義 リンクのコピーリンクがクリップボードにコピーされました!
手順11.2 タスク
jboss-esb.xmlファイルを開き、 cbrAlias プロパティーをXPathに設定します。- .properties ファイルでルーティング式を定義します。プロパティーキーが宛先名と相関し、プロパティーの値がこの宛先にルーティングするための XPath 式であることを確認します。
- コンテナー宛先プロパティーを使用して、 route-to 設定でルーティングルールを定義します。destination-name 属性は、以下に示すように外部 .properties ファイルで定義されている XPath ルールキーを参照します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.5. コンテンツベースのルーティングの XPath ルール リンクのコピーリンクがクリップボードにコピーされました!
blue=/Order[@statusCode='0'] red=/Order[@statusCode='1'] green=/Order[@statusCode='2']
blue=/Order[@statusCode='0']
red=/Order[@statusCode='1']
green=/Order[@statusCode='2']
11.6. Namespace リンクのコピーリンクがクリップボードにコピーされました!
11.7. XML 名前空間接頭辞から URI へのマッピングの定義 リンクのコピーリンクがクリップボードにコピーされました!
- 以下のように、XML 名前空間の接頭辞から URI へのマッピングを定義します。(これは、外部ルール定義とインラインルール定義の両方に適用されます。)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.8. Regex を使用したコンテンツベースのルーティングのインラインルールの定義 リンクのコピーリンクがクリップボードにコピーされました!
jboss-esb.xmlファイルを開き、cbrAlias プロパティーをRegexに設定します。route-to設定でルーティングルールを定義します。(これらはコンテナーの宛先プロパティーにあります。)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.9. Regex を使用したコンテンツベースのルーティングの外部ルールの定義 リンクのコピーリンクがクリップボードにコピーされました!
jboss-esb.xmlファイルを開き、cbrAlias プロパティーを Regex に設定します。- .properties ファイルでルーティング式を定義します。プロパティーキーは宛先名であり、プロパティーの値は宛先にルーティングするための Regex 式です。
- .properties ファイルで定義されているように destination-name 属性を Regex ルールキーに設定して、
route-to設定(コンテナー宛先プロパティーにある)でルーティングルールを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow XPath ルールは .properties ファイルにあり、以下の形式で表現されます。blue=#*111#* red=#*222#* green=#*333#*
blue=#*111#* red=#*222#* green=#*333#*Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10. JBoss Rules Engine を使用したコンテンツベースのルーティング リンクのコピーリンクがクリップボードにコピーされました!
action classes を通じてこのエンジンと統合されます。
JBoss Rulesエンジンの DRL 言語で記述されたルーティングルールセット (あるいは、必要に応じて DSL 言語を使用することもできます)。- メッセージの内容。これは、JBoss Rules エンジンに送られるデータです (XML 形式またはメッセージに埋め込まれたオブジェクトとして送られます)。
- 宛先 (エンジンから出力される結果情報から導出されます)。
コンテンツベースのルーター に送信されると、ルールセットがそのコンテンツを評価し、一連のサービス宛先を返します。
- org.jboss.soa.esb.actions.ContentBasedRouter: このアクションクラスは コンテンツベースのルーティング パターンを実装します。メッセージの内容と、その内容を評価するルールセットに基づいて、メッセージを 1 つ以上の宛先サービスにルーティングします。特定のルールセットまたはメッセージの組み合わせに一致する宛先がない場合には、コンテンツベースルーターは例外を出力します。このアクションはそれ以降のパイプライン処理を終了させるため、常にパイプラインの最後に配置してください。
- org.jboss.soa.esb.actions.ContentBasedWiretap: これは WireTap パターンを実装します。
WireTapは、メッセージのコピーを制御チャネルに送信するエンタープライズ統合パターンです。WireTapの機能は標準のコンテンツベースのルーターと同じですが、パイプラインは終了されません。これは後者の特徴であり、wire-tap として使用するのに適した特徴であるため、その名前になります。詳細は、 を参照してください。 - org.jboss.soa.esb.actions.MessageFilter: メッセージフィルター パターンを実装します。メッセージフィルターパターンは、特定のコンテンツ要件を満たしていない場合に、メッセージを削除できる場合に使用されます。つまり、ルールセットが宛先と一致しない場合は例外を出力しないことを除いて、コンテンツベースのルーターと同じように機能します。詳細は、を参照してください http://www.eaipatterns.com/Filter.html。
11.11. XPath ドメイン固有の言語 リンクのコピーリンクがクリップボードにコピーされました!
- まず、
XPathLanguage.dslファイルで式を定義し、以下のコードを使用してルールセットでそれを参照します。expander XPathLanguage.dsl
expander XPathLanguage.dslCopy to Clipboard Copied! Toggle word wrap Toggle overflow - XPath 言語は、メッセージが
JBOSS_XMLにあり、以下の項目が定義されていることを確認します。- xpathMatch<element> : この名前は、この名前による要素が一致した場合に
trueを生成します。 - xpathEquals<element& gt; , <value > : 要素が検出され、その値が等しい場合は
trueになります。 - xpathGreaterThan<element& gt; , < value > : 要素が検出され、その値が値よりも大きい場合は、
trueになります。 - xpathLessThan<element& gt; , < value > : これは、要素が検出され、その値が小さい場合に
trueを生成します。
注記fun_cbrクイックスタートは XPath の使用を示しています。注記完全に異なるドメイン固有の言語を定義できます。
11.12. XPath と名前空間 リンクのコピーリンクがクリップボードにコピーされました!
prefix=uri,prefix=uri の形式でコンマ区切りリストで指定します。
XPath 名前空間対応ステートメント:
- xpathMatch expr "<expression>" use namespaces "<namespaces>"
- xpathEquals expr "<expression>", "<value>" use namespaces "<namespaces>"
- xpathGreaterThan expr "<expression>", "<value>" use namespaces "<namespaces>"
- xpathLowerThan expr "<expression>", "<value>" use namespaces "<namespaces>"
expr を付けて、XPath 以外の対応するステートメントと競合しないようにしてください。
11.13. コンテンツベースルーティングの設定 リンクのコピーリンクがクリップボードにコピーされました!
- XPath ステートメントは、 jboss-esb.xml ファイルに保存されている設定を介して接続されます。以下の
サービス設定は、サービス設定のフラグメントの例です。(この例では、サービスは Java Message Service キューをリッスンしています。)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各メッセージはContentBasedRouterアクションクラスに渡され、特定のルールセットで読み込まれます。その後、メッセージを JBoss Rules エンジンのワーキングメモリーに送信し、ルールを実行し、宛先リストを取得してサービスにメッセージのコピーを送信します。この場合、2 つの destination-xml-destinationとserialized-destinationに一致するJBossESBRules.drlルールセットを使用します。これらの名前は、route-toセクションの実際のサービスのものにマッピングされます。
11.14. コンテンツベースルーティングアクションタグの属性 リンクのコピーリンクがクリップボードにコピーされました!
| 属性 | Description |
|---|---|
Class | アクションクラス。これは org.jboss.soa.esb.actions.ContentBasedRouter、org.jboss.soa.esb.actions.ContentBasedWiretap または org.jboss.soa.esb.actions.MessageFilterのいずれかです。 |
名前 | カスタムアクション名。 |
11.15. コンテンツベースのルーティングアクション設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description |
|---|---|
| ruleSet | これは、 JBoss Rules エンジンのruleSet が含まれるファイルの名前で、メッセージコンテンツの評価に使用されるルールセットです。(コンテンツベースのルーティングインスタンスごとに 1 つの ruleSet のみを指定できます。) |
| ruleLanguage | これは、ルールセットの評価に使用されるドメイン固有言語の定義を含むファイルへのオプションの参照です。 |
| ruleReload | これは任意のプロパティーで、ルールセットのホット再デプロイを有効にするために true に設定できます。この機能は、ルール処理にオーバーヘッドが発生することに注意してください。また、ルールが存在する .esb アーカイブが再デプロイされると、ルールが再読み込みされることに注意してください。 |
| stateful | これは、呼び出し間でファクトが記憶されるステートフルセッションを使用するように RuleService に指示する任意のプロパティーです。このトピックに関する詳細は、ステートフルルールのセクションを参照してください。 |
| 宛先 | これは route-to プロパティーのセットであり、それぞれには、レジストリーで参照される Service カテゴリーおよび名前と共に宛先の論理名が含まれます。論理名は、ルールセットで使用する必要がある名前です。 |
| object-paths | これは、メッセージ オブジェクトを ワーキングメモリー に渡す任意のプロパティーです。 |
| ruleAuditType | これは、JBoss Rules エンジンが監査ロギングを実行できるようにする任意のプロパティーです。ログは JBoss Developer Studio プラグインに読み取り、検査できます。有効な値は CONSOLE、FILE、および THREADED_FILE です。デフォルトでは、監査ロギングは実行されません。 |
| ruleAuditFile | これは、監査ロギングのファイルパスを定義できるようにする任意のプロパティーです。FILE または THREADED_FILE ruleAuditType にのみ適用されることに注意してください。デフォルトは event です。JBoss Rules Engine は、.log を追加することに注意してください。このファイルのデフォルトの場所は. - 現在の作業ディレクトリーです(JBoss は bin/ ディレクトリーにあります)。 |
| ruleAuditInterval | これは任意のプロパティーで、監査イベントを監査ログにフラッシュする頻度を定義できます。これは THREADED_FILE ruleAuditType にのみ適用されることに注意してください。デフォルトは 1000 (ミリ秒)です。 |
11.16. 事前コンパイル済みルールパッケージの使用 リンクのコピーリンクがクリップボードにコピーされました!
KnowledgeAgent は、JBoss Rules 5.0 API に組み込まれたコンポーネントです。ナレッジストアを使用するために追加のコンポーネントは必要ありません。JBoss Enterprise BRMS Platform を使用している場合は、アプリケーションにクラスパスに drools-core 依存関係のみを含める必要があります(drools および mvel JAR のみ)。その他のルール固有の依存関係はありません。
KnowledgeAgent を使用します。これらのパッケージは、ローカルファイルシステムまたはリモートの場所(URL 経由でアクセス)に置くことができます。BRMS Platform (または ant タスク)のパッケージにルールを作成したら、ターゲットアプリケーションでエージェントを使用する準備が整います。
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyAgent" ); kagent.applyChangeSet( ResourceFactory.newUrlResource( url ) ); KnowledgeBase kbase = kagent.getKnowledgeBase();
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyAgent" );
kagent.applyChangeSet( ResourceFactory.newUrlResource( url ) );
KnowledgeBase kbase = kagent.getKnowledgeBase();
change-set.xml の例です。
ResourceFactory.getResourceChangeNotifierService().start(); ResourceFactory.getResourceChangeScannerService().start();
ResourceFactory.getResourceChangeNotifierService().start();
ResourceFactory.getResourceChangeScannerService().start();
BRMS UI のデプロイメント画面には、パッケージへの URL とダウンロードが含まれます。このパッケージを指定するには、change-set.xml ファイルに含めるパッケージ URI の URL が必要です。正確なバージョンを指定します。この場合はスナップショットになります。各スナップショットには独自の URL があります。最新バージョンが必要な場合は、NewSnapshot を LATEST に置き換えます。
(PKG) をダウンロードすることもできます。このファイルをディレクトリーに置き、KnowledgeAgent の file または dir 機能を使用します。これにより、更新については JBoss Enterprise BRMS Platform サーバーへ自動的に問い合わせますが、一部のシナリオでは望ましくない場合があります。
11.17. ビジネスルールの実行 リンクのコピーリンクがクリップボードにコピーされました!
11.18. 独自のメッセージングプロバイダーの使用 リンクのコピーリンクがクリップボードにコピーされました!
jboss-esb.xml ファイルの対応するセクションを変更して参照します。以下に例を示します。
パート V. Message Transformation リンクのコピーリンクがクリップボードにコピーされました!
第12章 Smook を使用した変換 リンクのコピーリンクがクリップボードにコピーされました!
12.1. Smooks リンクのコピーリンクがクリップボードにコピーされました!
12.2. Smook の使用 リンクのコピーリンクがクリップボードにコピーされました!
SmooksActionコンポーネントを使用して、Meoks アクションパイプラインにプラグインします。注記samples/quick startsディレクトリーで変換を示すクイックスタートが多数あります。(これらのクイックスタートの各変換の名前には、transform_という単語が接頭辞として付けられます。)
12.3. XSLT を使用したメッセージ変換の概要 リンクのコピーリンクがクリップボードにコピーされました!
12.4. ActionProcessor データを使用したメッセージ変換の概要 リンクのコピーリンクがクリップボードにコピーされました!
org.jboss.soa.esb.actions.ActionPipelineProcessor )を使用してカスタムソリューションを実装します。
12.5. プロセス変換設定 リンクのコピーリンクがクリップボードにコピーされました!
- 1 行目
- MEP は、メッセージ交換パターン を表します。この例では、リクエスターはメッセージを送信してサービスを呼び出します。
- 2 - 4 行目
- この設定により、変換前後にメッセージをサーバーログに書き込むことができます。
- 5 行目
- これは、SmooksAction が指定されている場所です。
- 6 行目
- これは XLST が指定されている場所です。
- 7 行目
- 変換の rep[ort)を生成します。
パート VI. メッセージの永続性 リンクのコピーリンクがクリップボードにコピーされました!
第13章 メッセージの永続性 リンクのコピーリンクがクリップボードにコピーされました!
13.1. メッセージストア リンクのコピーリンクがクリップボードにコピーされました!
13.2. メッセージストアインターフェイス リンクのコピーリンクがクリップボードにコピーされました!
13.3. カスタムメッセージストアの実装時に注意すべき要因 リンクのコピーリンクがクリップボードにコピーされました!
- 実装では、
addMessageを使用してメッセージ分類スキームを取得できます。分類が定義されていない場合は、MessageStoreの個別の実装によってメッセージの保存方法を決定します。さらに、分類はガイドのみで、必要に応じて実装はこのフィールドを無視できます。 MessageStoreが個別のメッセージに何らかの 同時実行制御 を課すかどうかは実装次第です。したがって、常にremoveMessage操作を使用してください。- setUndelivered コマンドおよび setDelivered コマンドまたはその他の関連操作は使用しないでください。これは、
MessageStoreインターフェイスが監査証跡および再配信機能の両方をサポートするためです。 org.jboss.internal.soa.esb.persistence.format.db.DBMessageStoreImplクラスは、メッセージストアのデフォルト実装を提供します。この実装のメソッドは、DBConnectionManagerと呼ばれる プールされたデータベースマネージャー を介して必要なデータベース接続を設定します。MessageActionGuideおよびMessagePersisterアクションは、メッセージストアの実装を上書きします。- その MessageStore インターフェイスは現在トランザクションをサポートしていません。グローバルトランザクションのスコープ内でメッセージストアを使用することは、認識されないことになります。これは、各
MessageStoreの更新または読み取りが個別に実施されることを意味します。
13.4. メッセージストアの設定 リンクのコピーリンクがクリップボードにコピーされました!
手順13.1 タスク
- グローバル設定ファイルをテキストエディターで開きます: vi SOA_ROOT/jboss-as/server/PROFILE/deployers/esb.deployers/jbossesb-properties.xml
- セクションまでスクロールダウンし、設定に合わせて編集します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記required database スキーマのスクリプトはSOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb.esb/message-store-sql/DB_TYPE/create_database.sqlファイルにあります。 - グローバル設定ファイルで、データベース接続マネージャーを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記スタンドアロンマネージャーは C3PO を使用して J2eeConnectionManager の最悪の接続プールロジックを管理します。JBoss Application Server などのコンテナーに Enterprise Service Bus エンドポイントをデプロイする場合は、後者を使用します。 - ファイルを保存して終了します。
- または、
org.jboss.internal.soa.esb.persistence.manager.ConnectionManagerインターフェイスを実装し、新しいクラスの名前を指定してPropertiesファイルを更新して、カスタム接続マネージャーをプラグインすることもできます。
13.5. create_database.sql リンクのコピーリンクがクリップボードにコピーされました!
SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb.esb/message-store-sql/DB_TYPE/create_database.sql ファイルにはデータベーススキーマのスクリプトが含まれます。
13.6. create_database.sql Settings リンクのコピーリンクがクリップボードにコピーされました!
create_database.sql ファイルの構造を示しています。
- UUID 列は、メッセージの一意のキーを保存するために使用されます。このキーは、標準の統一されたリソース識別子の形式を取ります。
- メッセージキーは以下のようになります。
urn:jboss:esb:message:UID: + UUID.randomUUID()_
urn:jboss:esb:message:UID: + UUID.randomUUID()_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この構文では、UUID の乱数ジェネレーターを使用します。 - type は保存されたメッセージのものと同じになります。JBoss Enterprise SOA Platform には、それぞれ JBOSS_XML と JAVA_SERIALIZED の 2 つの異なるバージョンの type が同梱されています。
- message 列には、実際のメッセージ自体の内容が含まれます。
- 提供されたデータベースメッセージストア実装は、事前設定されたデータベースへの接続を呼び出すことで機能します。(スタンドアロン接続マネージャーと JNDI データソースの使用にともに、製品の一部としても提供されます。)
- データベースプールの事前提供済み接続マネージャーは、
org.jboss.soa.esb.persistence.manager.StandaloneConnectionManagerとorg.jboss.soa.esb.persistence.manager.J2eeConnectionManagerの 2 つです。
13.7. C3PO リンクのコピーリンクがクリップボードにコピーされました!
SOA_ROOT/jboss-as/lib ディレクトリーにあります。
13.8. J2eeConnectionManager リンクのコピーリンクがクリップボードにコピーされました!
13.9. JmsConnectionPool リンクのコピーリンクがクリップボードにコピーされました!
パート VII. 管理の変更 リンクのコピーリンクがクリップボードにコピーされました!
第14章 ホットデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
14.1. ホットデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
14.2. ホットデプロイメントと jbossesb.sar リンクのコピーリンクがクリップボードにコピーされました!
- タイムスタンプが変更されます (アーカイブが圧縮されている場合)。
META-INF/jboss-service.xmlファイルのタイムスタンプが変更されます (アーカイブがデプロイメント形式の場合)。
14.3. ホットデプロイメントと ESB アーカイブ リンクのコピーリンクがクリップボードにコピーされました!
*.esb アーカイブは、次の場合に自動的に再デプロイメントされます。
- アーカイブのタイムスタンプが変更されます (アーカイブが圧縮されている場合)。
META-INF/jboss-esb.xmlファイルのタイムスタンプが変更されます (アーカイブがデプロイメント形式の場合)。
第15章 バージョン管理 リンクのコピーリンクがクリップボードにコピーされました!
15.1. ルールファイルの再デプロイ リンクのコピーリンクがクリップボードにコピーされました!
手順15.1 タスク
- .DRL または .DSL ファイルを再デプロイするには、jbrules.esb ディレクトリーを
SOA_ROOT/jboss-as/server/PROFILE/deployにコピーして再デプロイします。 - または、Action Configuration の ruleReload 機能を有効にすることもできます。この機能を有効にした後、ルールファイルが変更されると、自動的に再ロードされます。
15.2. 変換ファイルの再デプロイ リンクのコピーリンクがクリップボードにコピーされました!
手順15.2 タスク
- .ESB アーカイブを
SOA_ROOT/jboss-as/server/PROFILE/deployディレクトリーにコピーして再デプロイします。 - または、Web ブラウザーを起動して、http://localhost:8080/admin-console Monitoring and Management Console にログインします。
- Java Message Service を介して通知メッセージを送信します。Smooks はこのイベントを処理し、自動的にリロードします。
15.3. ビジネスプロセス定義の再デプロイ リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- JBoss Developer Studio
手順15.3 タスク
- jBPM Eclipse プラグインを使用して、新しいバージョンのビジネスプロセス定義を jBPM データベースにデプロイします。注記新しいプロセスインスタンスのみがこの新しいバージョンを使用することに注意してください。既存のプロセスライフサイクルでは、以前の定義が引き続き使用されます。注記この手順はスタンドアロンモードでも機能することに注意してください。
15.4. スタンドアロンモードでの実行中にルールをリロードする リンクのコピーリンクがクリップボードにコピーされました!
手順15.4 タスク
- ruleReload を実行します。
パート VIII. ルールサービス リンクのコピーリンクがクリップボードにコピーされました!
第16章 ルールサービス リンクのコピーリンクがクリップボードにコピーされました!
16.1. ルールサービス リンクのコピーリンクがクリップボードにコピーされました!
16.2. ステートレスサービス リンクのコピーリンクがクリップボードにコピーされました!
16.3. ステートフルルールセッション リンクのコピーリンクがクリップボードにコピーされました!
true に設定します。現在のセッションを継続するタイミングと、そのセッションを破棄するタイミングについて、ステートフルルールサービスに指示することができます。
16.4. ステートフルセッションセッションプロパティー リンクのコピーリンクがクリップボードにコピーされました!
- 既存のステートフルセッションを続行するには、以下の 2 つのメッセージプロパティーを設定します。
message.getProperties().setProperty(“dispose”, false); message.getProperties().setProperty(“continue”, true);
message.getProperties().setProperty(“dispose”, false); message.getProperties().setProperty(“continue”, true);Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 最後にルールを実行する場合は、dispose を
trueに設定して、JBoss ルールのエンジンのワーキングメモリーをクリアします。message.getProperties().setProperty(“dispose”, true); message.getProperties().setProperty(“continue”, true);
message.getProperties().setProperty(“dispose”, true); message.getProperties().setProperty(“continue”, true);Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ステートフルなルールセッションの使用に関する詳細は、business_ruleservice_statefulクイックスタートを参照してください。
16.5. JBoss ルールでのルールサービスの使用 リンクのコピーリンクがクリップボードにコピーされました!
- ルールをアプリケーション環境に統合するのに必要なクライアントコードの量が大幅に削減されます。
- ルールは、アクションチェーンまたはオーケストレーションされたビジネスプロセス内からアクセスできます。
BusinessRulesProcessor および DroolsRuleService アクションクラスによって提供されます。後者は RuleService インターフェイスも実装します。
BusinessRulesProcessor クラスを使用すると、クラスパスからルールを読み込むことができます。これらのルールは、.drl ファイルおよび .dsl ファイル、および デシジョンテーブル ( .xls 形式)で定義されます。これらのファイルベースのルールは、主にプロトタイプをテストするために存在します。単一の BusinessRulesProcessor アクションに複数のルールファイルを指定する方法はありません。より複雑なルールサービスには、 JBoss Rules KnowledgeAgent を使用する必要があります。
RuleService は KnowledgeAgent を使用して、 Business Rules Management System またはローカルファイルシステムから ルールパッケージ にアクセスします。ルールパッケージには、以下を含むさまざまなソースからの数千のルールを含めることができます。
- JBoss Business Rules Management System
- インポートした
DRLファイル - ドメイン固有言語 (DSL)ファイル
- デシジョンテーブル
KnowledgeAgent アプローチを使用することを推奨します。
ruleAgentProperties ファイルの poll プロパティーを使用して実行されなくなりました。これで、esb.deployer/jbossesb-properties.xml にある org.jboss.soa.esb.services.rules.resource.scanner.interval プロパティーを介してグローバルに設定できるようになりました。(デフォルト値は 60 です。) つまり、システムは 6 秒ごとにすべての KnowledgeAgents でリソースの変更をチェックします。
username=admin password=admin enableBasicAuthentication=true
username=admin password=admin enableBasicAuthentication=true
16.6. action Chain リンクのコピーリンクがクリップボードにコピーされました!
16.7. オーケストレーションされたビジネスプロセス リンクのコピーリンクがクリップボードにコピーされました!
16.8. JBoss ルールおよび SOA Platform の統合 リンクのコピーリンクがクリップボードにコピーされました!
BusinessRulesProcessor- アクションクラス。
- ルール
- JBoss Rules、DRL、DSL、デシジョンテーブル、または Business Rule Editor で書かれたルール。
- Enterprise Service Bus メッセージ
- これは、JBoss Rules Engine のワーキングメモリーに挿入されます。
- Enterprise Service Bus メッセージの内容
- これは、メッセージのファクトオブジェクトで設定され、JBoss Rules Engine に送信されます。
16.9. ルールセットの要件 リンクのコピーリンクがクリップボードにコピーされました!
- JBoss Enterprise SOA Platform でルールセットを作成する場合は 3 つの要件があります。以下のように、name および action クラス:
<action class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="OrderDiscountRuleService">
<action class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="OrderDiscountRuleService">Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のいずれかも必要です。DRLファイル:<property name="ruleSet" value="drl/OrderDiscount.drl" />
<property name="ruleSet" value="drl/OrderDiscount.drl" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow DSLまたはDSLR(ドメイン固有言語 )ファイル:<property name="ruleSet" value="dsl/approval.dslr" /> <property name="ruleLanguage" value="dsl/acme.dsl" />
<property name="ruleSet" value="dsl/approval.dslr" /> <property name="ruleLanguage" value="dsl/acme.dsl" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスパスの
decisionTable<property name="decisionTable" value="PolicyPricing.xls" />
<property name="decisionTable" value="PolicyPricing.xls" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスパス上のプロパティーファイル。これは、
ルールエージェントにルールパッケージの検索方法を説明します。これを有効にするには、URL またはローカルファイルへのパスを指定します。<property name="ruleAgentProperties" value="brmsdeployedrules.properties" /><property name="ruleAgentProperties" value="brmsdeployedrules.properties" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.10. ルールセットの作成 リンクのコピーリンクがクリップボードにコピーされました!
- rule-set がためのメッセージをインポートしていることを確認します。テストするには、以下のコードを使用します。
import org.jboss.soa.esb.message.Message
import org.jboss.soa.esb.message.MessageCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に、ルールセットが、宛先の一覧を作成する以下のグローバル変数を定義することを確認します。
global java.util.List destinations;
global java.util.List destinations;Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、メッセージは JBoss Rules エンジンのワーキングメモリーに送信されます。これで、通常のルールセットをコンテンツベースのルーティングに使用できるものに変換できます。これを行うには、MA メッセージのマッチングルールを評価し、サービス宛先名 の一覧を出力します。
16.11. ルールセットの例 リンクのコピーリンクがクリップボードにコピーされました!
- ルールは DRL ファイルにあり、ステートフルモデルに従って実行されます。このシナリオでは、クライアントは複数のメッセージをルールサービスに送信できます。たとえば、最初のメッセージには customer オブジェクトが含まれ、後続のメッセージにはお客様の注文が含まれる可能性があります。メッセージを受信するたびに、ルールが実行されます。(クライアントは、ワーキングメモリーの内容を破棄するようにルールサービスに指示する最終メッセージにプロパティーを追加できます。)
- 単一の同期セッションインスタンスは、ステートフルセッションデプロイメントのすべての同時実行で共有されます。これにより、ステートフルモデルのユースケースの数が大幅に制限されます。複数のクライアント指向セッションサービスデプロイメントが必要な場合は、代わりに jBPM ソリューションまたは BPEL ソリューションの使用を検討してください。
- ステートフルセッションは 永続 的ではありません。
- ステートフルセッションは クラスター化 されていません。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.12. BusinessRulesProcessor アクション設定属性 リンクのコピーリンクがクリップボードにコピーされました!
| 属性 | Description |
|---|---|
| Class | アクションクラス |
| 名前 | カスタムアクション名 |
16.13. BusinessRulesProcessor アクション設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description |
|---|---|
ruleSet |
コンテンツの評価に使用される
ruleSet を含むファイルへのオプションの参照。ルール サービス インスタンスごとに指定できる ruleSet は 1 つだけです。
|
ruleLanguage |
ドメイン固有言語の定義を含むファイルへのオプションの参照です。この定義は、ルールセットの評価に使用できます。
ruleSet の ファイルが dslr であることを確認します。
|
ruleReload | このオプションプロパティーを true に設定して、 ルールセットの ホット再デプロイメント を有効にします。(この機能を有効にすると、ルール処理のオーバーヘッドが増加します。) .esb アーカイブが再デプロイされると、ルールは再読み込みされます。 |
decisionTable |
ルール固有のスプレッドシートの定義が含まれるファイルへの参照(任意)。
|
| stateful |
このオプションプロパティーを
true に設定して、 ルールサービス が時間の経過とともに複数のメッセージを受信することを指定します。ルールは毎回再実行されます。
|
| object-paths |
メッセージオブジェクトを JBoss ルールのワーキングメモリーに渡す任意のプロパティー。
|
| ruleFireMethod |
ステートフルルール実行メソッドを定義する任意のプロパティー。有効な値は FIRE_ALL_RULES (デフォルト)および FIRE_UNTIL_HALT です(独自のスレッドを起動します)。複雑なイベント処理の "CEP" に便利です。)
|
| ruleAuditType |
Drools が監査ロギングを実行できるようにする任意のプロパティー。ログは Drools Eclipse プラグインに読み取り、検査できます。有効な値は CONSOLE、FILE、および THREADED_FILE です。デフォルトでは、監査ロギングは実行されません。
|
| ruleAuditFile |
監査ロギングのファイルパスを定義する任意のプロパティー。FILE または THREADED_FILE ruleAuditType にのみ適用されます。デフォルトは event です。JBoss Drools は、.log を追加することに注意してください。このファイルのデフォルトの場所は、現在の作業ディレクトリーにある.です(JBoss は bin/ ディレクトリーにあります)。
|
| ruleAuditInterval |
監査イベントを監査ログにフラッシュする頻度を定義する任意のプロパティー。THREADED_FILE ruleAuditType にのみ適用されます。デフォルトは 1000 (ミリ秒)です。
|
| ruleClockType |
JBoss Drools が使用するクロックを定義する任意のプロパティー。有効な値は REALTIME および PSEUDO です。デフォルトは REALTIME です。
|
| ruleEventProcessingType |
Drools が使用するイベント処理オプションを定義する任意のプロパティー。有効な値は CLOUD または STREAM (CEP に役立ちます)です。デフォルトは CLOUD です。
|
| ruleMultithreadEvaluation |
ナレッジベースのパーティション設定を有効にするかどうかを定義する任意のプロパティー。デフォルトは null で、Drools のデフォルト(false)に委譲します。
|
| ruleMaxThreads |
ナレッジベースのパーティション設定に使用するスレッドの数を定義する任意のプロパティー。これは、ruleMultithreadEvaluation が true の場合にのみ使用されます。デフォルトは null で、JBoss ルールのデフォルトに委譲します。
|
| channels |
ルールがオブジェクトを送信できるチャンネルを定義する任意のプロパティー。ExitPoint として知られているチャネルの概念。
|
16.14. オブジェクトパス リンクのコピーリンクがクリップボードにコピーされました!
16.15. MVFLEX Expression Language (MVEL) リンクのコピーリンクがクリップボードにコピーされました!
16.16. オブジェクトパスの使用 リンクのコピーリンクがクリップボードにコピーされました!
- object-paths プロパティーを設定して、これらのオブジェクトを 1 つの
Message Object Pathで抽出します。注記object-paths プロパティーを使用して、さらにオブジェクトツリーにドリルダウンできます。これを行うには、このプロパティーを設定して、これらのオブジェクトを MRG Message Object Path で抽出します。 - JBoss Rules エンジンは MVFLEX Expression Language (MVEL)を使用してオブジェクトを抽出します。パスは、以下の構文で禁止する必要があります。
location.objectname.[beanname].[beanname]...
location.objectname.[beanname].[beanname]...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要java import ステートメントをルールセットにインポートするオブジェクトに追加するのを忘れないようにしてください。注記オブジェクトマッパーは コレクション全体をフラットにすることはできません。これを行う必要がある場合は、最初にメッセージで変換プロセスを実行します。これは、コレクションを登録解除するためです。
16.17. オブジェクトパスのプロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | 説明 |
|---|---|
| location | これは {body、header、properties、attachment} のいずれかである必要があります。 |
| objectname | オブジェクトの名前。(添付ファイルには名前を付けて番号を付けることができるため、添付ファイルも数値にすることができます。) |
| beannames | これは任意です。このタグを使用して Bean グラフをトラバースします。 |
16.18. MVEL 式 リンクのコピーリンクがクリップボードにコピーされました!
| 式 | 結果 |
|---|---|
| properties.Order |
これを使用して
をクリックします。 Orderという名前のプロパティーオブジェクトを取得します。
|
| attachment.1 |
最初の添付ファイルオブジェクトを取得します。
|
| attachment.AttachmentOne | AttachmentOneという名前の添付ファイルを取得します。
|
| attachment.1.Order |
割り当てられたオブジェクトで
getOrder()リターンオブジェクト を取得します。
|
| body.Order1.lineitem |
メッセージの本文から
Order1 という名前のオブジェクトを取得します。次に、このオブジェクトで getLineitem() を呼び出します。Bean グラフをトラバースするために、クエリーにさらに要素を追加できます。
|
16.19. チャンネルを使用した JBoss ルールへのオブジェクト送信 リンクのコピーリンクがクリップボードにコピーされました!
- オブジェクトを JBoss Rules エンジンチャネルに送信するには、この DRL 構文を使用します。( ルール定義 の右側にある。)
channels["mychannel"].send(myobject);
channels["mychannel"].send(myobject);Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 上記のコードを機能させるには、
mychannelをチャネルとして登録します。これには、 channels プロパティーセクションをjboss-esb.xml設定ファイルに追加します。必要な数のチャネルを定義します。特定のチャネル名ごとに、チャネルは設定ファイルに表示される順序で実行されます。 - 以下のチャネルがサポートされます。
ServiceChannel(デフォルト)。 channel-name、 service-category、および service-name を send-to 要素の属性として指定します。また、 async、 timeout、および set-payload-location などの任意の属性もあります(そのチャネルに送信されたオブジェクトは、新しいxhtmlメッセージに配置されます)。このコードは、属性の設定方法を示しています。<property name="channels"> <send-to channel-name="mychannel" service-category="cat1" service-name="svc1" /> </property><property name="channels"> <send-to channel-name="mychannel" service-category="cat1" service-name="svc1" /> </property>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ターゲットサービスでinvmScope="GLOBAL"が定義されていることを確認します。- 独自の
org.drools.runtime.Channel実装クラスを使用してカスタムチャンネルを指定します。この send-to 属性は channel-class です。実装には、パブリックの no-arg コンストラクター が必要です。実装を設定可能にする場合は、setConfiguration(ConfigTree()メソッドが呼び出されるようにorg.jboss.soa.esb.Configurableインターフェイスを実装します。これにより、属性とサブプロパティー要素をカスタムチャネルに渡すことができます。このコードサンプルは、カスタムチャネルを設定する方法を示しています。<property name="channels"> <send-to channel-name="mychannel" channel-class="com.example.MyChannel" /> </property><property name="channels"> <send-to channel-name="mychannel" channel-class="com.example.MyChannel" /> </property>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.20. ルールのパッケージ化およびデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
- ルールを
.esbパッケージに配置して、ルールコードを機能ユニットにパッケージ化します。(ルールセットを使用するルールサービスとともに、ルーティングルールをパッケージ化することを目的としています。) jbrules.esbアーカイブのデプロイを作成したら、deployment.xmlファイルでこれを参照します。このコードを使用して以下を行います。<jbossesb-deployment> <depends>jboss.esb:deployment=jbrules.esb</depends> </jbossesb-deployment>
<jbossesb-deployment> <depends>jboss.esb:deployment=jbrules.esb</depends> </jbossesb-deployment>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
パート IX. プロトコルの翻訳 リンクのコピーリンクがクリップボードにコピーされました!
第17章 アダプター リンクのコピーリンクがクリップボードにコピーされました!
17.1. リソースアダプター リンクのコピーリンクがクリップボードにコピーされました!
17.2. プロバイダーアダプター リンクのコピーリンクがクリップボードにコピーされました!
17.3. Java コネクターアーキテクチャー (JCA) トランスポート リンクのコピーリンクがクリップボードにコピーされました!
17.4. JCA Bridge リンクのコピーリンクがクリップボードにコピーされました!
17.5. JCA アダプター リンクのコピーリンクがクリップボードにコピーされました!
パート X. セキュリティー リンクのコピーリンクがクリップボードにコピーされました!
第18章 セキュリティー リンクのコピーリンクがクリップボードにコピーされました!
18.1. JBoss のルールとセキュリティー リンクのコピーリンクがクリップボードにコピーされました!
18.2. サーバーでシリアル化を有効にする リンクのコピーリンクがクリップボードにコピーされました!
手順18.1 タスク
- SOA_ROOT ディレクトリーに移動します: cd SOA_ROOT。
- keytool コマンドを実行し、画面のプロンプトに従います。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべての質問に回答すると、パスワードで保護されたMyDroolsPrivateKeyStore.keystoreという名前のファイルが作成されます。このキーストアファイルには、パスワード drools とともに droolsKey という秘密鍵があります。このファイルを環境内の安全な場所に保存します。これ以降、これをkeystoredirと呼びます。重要上記のパスワードは単なる例であり、実稼動環境では使用しないでください。 - 設定ファイルを開きます: vi jboss-as/server/default/deploy/properties-service.xml
- 次のスニペットを
properties-service.xmlに追加して、JBoss Rules シリアライゼーション機能を使用するように JBoss Enterprise SOA Platform を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - drools.serialization.sign プロパティーを true に設定します
drools.serialization.sign=true
drools.serialization.sign=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - drools.serialization.private.keyStoreURL=<RL> は、秘密鍵ストアの場所の URL です。
- 上記の例で、
keystoredirとMyDroolsKeyStore.keystoreを、キーストアディレクトリーと、keytool で作成したキーストアの名前に置き換えます。 - drools.serialization.private.keyStorePwd=<password> は、プライベートキーストアにアクセスするためのパスワードです。
- drools.serialization.private.keyAlias=<key> は秘密鍵のキーエイリアス (識別子) です。
- drools.serialization.private.keyPwd=<password> は秘密鍵のパスワードです。
- ファイルを保存して終了します。
- サーバーインスタンスを再起動します。警告システムプロパティーが正しく設定されていない場合、ルールパッケージをビルドしようとすると、次のエラーが表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.3. クライアントでシリアル化を有効にする リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- サーバーのシリアル化がすでに有効になっている必要があります。
手順18.2 タスク
- 秘密鍵ストアから公開鍵証明書を作成します。(keytool -genkey -alias droolsKey -keyalg RSA -keystore を実行して、キーツールにアクセスできます。):
keytool -export -alias droolsKey -file droolsKey.crt -keystore
keytool -export -alias droolsKey -file droolsKey.crt -keystoreCopy to Clipboard Copied! Toggle word wrap Toggle overflow MyDroolsPrivateKeyStore.keystore Enter keystore password: Certificate stored in file <droolsKey.crtU>
MyDroolsPrivateKeyStore.keystore Enter keystore password: Certificate stored in file <droolsKey.crtU>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 公開鍵証明書を公開鍵ストアにインポートします。(これは、クライアントアプリケーションによって使用される場所です):
keytool -import -alias droolsKey -file droolsKey.crt -keystore
keytool -import -alias droolsKey -file droolsKey.crt -keystoreCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サーバー設定ファイルを開きます: vi grep drools jboss-as/server/default/deploy/properties-service.xml
- keystoredir と MyPublicDroolsKeyStore.keystore をキーストアディレクトリー、以前に作成した公開キーストアの名前と置き換えます。
# Drools Client Properties for Security Serialization drools.serialization.public.keyStoreURL=file://$keystoredir/MyPublicDroolsKeyStore.keystore drools.serialization.public.keyStorePwd=drools
# Drools Client Properties for Security Serialization drools.serialization.public.keyStoreURL=file://$keystoredir/MyPublicDroolsKeyStore.keystore drools.serialization.public.keyStorePwd=droolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
- JBoss Enterprise SOA Platform サーバーを再起動します。
- Java クライアントアプリケーションの場合は、コードでシステムプロパティーを次のように設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、run.shシェルスクリプト (vi SOA_ROOT/jboss-as/bin/run.sh) スクリプトを開き、 JAVA_OPTS セクション:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の値を環境に固有の値に置き換えてから、サーバーインスタンスを再起動します。
18.4. シリアル化署名を無効にする リンクのコピーリンクがクリップボードにコピーされました!
- 設定ファイルを開きます: vi SOA_ROOT/jboss-as/server/PROFILE/deploy/properties-service.xml。
- drools.serialization.sign プロパティーの値を削除します。
- ファイルを保存して終了します。このタスクを実行する別の方法は、
run.shシェルスクリプト (vi SOA_ROOT/jboss-as/bin/run.sh) を開いて、次のように編集することです。JAVA_OPTS="-Ddrools.serialization.sign=false $JAVA_OPTS"
JAVA_OPTS="-Ddrools.serialization.sign=false $JAVA_OPTS"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サーバーインスタンスを再起動します。
- Java クライアントアプリケーションのサインオフをオフにするには、 drools.serialization.signプロパティーを変更するか、次のスニペットを各アプリケーションのコードに追加します。
System.setProperty( KeyStoreHelper.PROP_SIGN, "false" );
System.setProperty( KeyStoreHelper.PROP_SIGN, "false" );Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.5. サービスごとにセキュリティーを設定する リンクのコピーリンクがクリップボードにコピーされました!
- グローバル設定ファイルをテキストエディターで開きます: vi SOA_ROOT/jboss-as/server/PROFILE/deployers/esb.deployer/jboss-esb.xml。
- 設定するサービスまで下にスクロールします。
- セキュリティー要素を追加します。この設定は、その方法を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
18.6. サービスごとのセキュリティープロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description | 必須 ? |
|---|---|---|
| moduleName |
これは
SOA_ROOT/jboss-as/server/PROFILE/conf/login-config.xml ファイルに存在するモジュールです。
| いいえ |
| runAs |
これが runAs ロールです。
| いいえ |
| rolesAllowed |
これは、サービスを実行する権限が付与されたロールのコンマ区切りリストです。これは、発信者が実際に指定されたロールの 1 つに属していることを確認するために、発信者が認証された後に実行されるチェックとして使用されます。ロールは、基礎となるセキュリティーメカニズムによる認証が成功した後に割り当てられます。
| いいえ |
| callbackHandler |
これは
jbossesb-properties.xml ファイルで定義されたものをオーバーライドする CallbackHandler です。
| いいえ |
| property |
これらはオプションのプロパティーで、一度定義すると
CallbackHandler 実装で使用できるようになります。
| いいえ |
18.7. グローバルセキュリティー設定を上書きする リンクのコピーリンクがクリップボードにコピーされました!
手順18.3 タスク
- グローバル設定ファイルをテキストエディターで開きます: vi SOA_ROOT/jboss-as/server/PROFILE/deployers/esb.deployer/jbossesb-properties.xml
- 問題の設定を設定します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
18.8. セキュリティープロパティーのオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description | 必須 ? |
|---|---|---|
| org.jboss.soa.esb.services.security.contextTimeout |
このプロパティーにより、サービスは
jbossesb-properties.xml ファイルで指定されたグローバルセキュリティーコンテキストタイムアウト (ミリ秒) をオーバーライドできます。
| いいえ |
| org.jboss.soa.esb.services.security.contextPropagatorImplementationClass |
このプロパティーにより、サービスは
jbossesb-properties.xml ファイルで指定されたグローバルセキュリティーコンテキストプロパゲータークラスの実装をオーバーライドできます。
| いいえ |
18.9. セキュリティーコンテキスト リンクのコピーリンクがクリップボードにコピーされました!
18.10. 認証リクエスト リンクのコピーリンクがクリップボードにコピーされました!
18.11. SecurityConfig リンクのコピーリンクがクリップボードにコピーされました!
SecurityConfig クラスは、jboss-esb.xml ファイルで指定されたセキュリティー設定へのアクセスを許可します。このクラスは、コールバックハンドラーで使用できるようになります。
18.12. 認証クラスをメッセージオブジェクトに追加する リンクのコピーリンクがクリップボードにコピーされました!
手順18.4 タスク
- 次のコードを実行します。
byte[] encrypted = PublicCryptoUtil.INSTANCE.encrypt((Serializable) authRequest); message.getContext.setContext(SecurityService.AUTH_REQUEST, encrypted);
byte[] encrypted = PublicCryptoUtil.INSTANCE.encrypt((Serializable) authRequest); message.getContext.setContext(SecurityService.AUTH_REQUEST, encrypted);Copy to Clipboard Copied! Toggle word wrap Toggle overflow
結果
認証コンテキストは暗号化され、メッセージコンテキスト内に設定されます。(リクエストを認証できるように、後で Enterprise Service Bus によって復号化されます。)
18.13. security_basic クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
SOA_ROOT/jboss-as/samples/quickstarts/security_basic クイックスタートは、SecurityInvoker を使用する前にメッセージのセキュリティーを準備する方法を示しています。クイックスタートは、jbossesb-properties.xml グローバル設定ファイルをクライアントサービスで使用するように設定する方法も示します。
18.14. セキュリティーコンテキストの時間制限をグローバルに設定する リンクのコピーリンクがクリップボードにコピーされました!
手順18.5 タスク
- グローバル設定ファイルをテキストエディターで開きます: vi SOA_ROOT/jboss-as/server/PROFILE/deployers/esb.deployer/jbossesb-properties.xml
- security.contextTimeout を含むセクションまで下にスクロールします。タイムアウト値を設定します (ミリ秒単位)。
- ファイルを保存して終了します。
18.15. サービスごとにセキュリティーコンテキストの時間制限を設定する リンクのコピーリンクがクリップボードにコピーされました!
手順18.6 タスク
- サービスの設定ファイル vi jboss-esb.xml をテキストエディターで開きます。
- Security Context を含むセクションまで下にスクロールします。タイムアウト値を設定します (ミリ秒単位)。
- ファイルを保存して終了します。
18.16. セキュリティーサービス リンクのコピーリンクがクリップボードにコピーされました!
SecurityService インターフェイスは、Enterprise Service Bus の中央のセキュリティーコンポーネントです。
18.17. セキュリティーの伝播 リンクのコピーリンクがクリップボードにコピーされました!
18.18. SecurityContextPropagator リンクのコピーリンクがクリップボードにコピーされました!
18.19. SecurityContextPropagator の実装 リンクのコピーリンクがクリップボードにコピーされました!
| Class | Description |
|---|---|
|
パッケージ: org.jboss.internal.soa.esb.services.security
Class: JBossASContextPropagator
|
このプロパゲーターは、セキュリティー認証情報を ESB に送信します。独自の実装を記述する必要がある場合は、
org.jboss.internal.soa.esb.services.security.SecurityContextPropagator を実装するクラスを記述し、jbossesb-properties.xml または jboss-esb.xml でその実装を指定するだけです。
|
18.20. カスタムログインモジュールの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順18.7 タスク
- テキストエディターでログイン設定ファイルを開きます: vi SOA_ROOT/jboss-as/server/PROFILE/conf/login-config.xml
- カスタムログインモジュールの詳細を追加します。
- ファイルを保存して終了します。
- ログインモジュールが異なれば必要な情報も異なるため、使用する CallbackHandler 属性を指定する必要があります。そのサービスの特定のセキュリティー設定を開きます。
- CallbackHandler が
Esbインターフェイスを実装するクラスの 完全修飾 クラス名を指定するようにしてください。このコードは、その方法を示しています。CallbackHandlerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 発信者を認証するために必要な原則と認証情報の両方を
AuthenticationRequestクラスに追加します。
結果
JaasSecurityService は、カスタムセキュリティー実装に置き換えられます。
18.21. 証明書ログインモジュール リンクのコピーリンクがクリップボードにコピーされました!
18.22. 証明書ログインモジュールのプロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description |
|---|---|
|
moduleName
|
これは、使用する JAAS ログインモジュールを識別します。このモジュールは JBossAS login-config.xml で指定されます。
|
|
rolesAllow
|
これは、このサービスの実行が許可されているロールのコンマ区切りリストです。
|
|
alias
|
これは、ローカルキーストアを検索するために使用されるエイリアスであり、呼び出し元の証明書を検証するために使用されます。
|
18.23. 証明書ログインモジュールの設定ファイルのプロパティー リンクのコピーリンクがクリップボードにコピーされました!
| プロパティー | Description |
|---|---|
|
keyStoreURL
|
これは、証明書の検証に使用されるキーストアへのパスです。これは、ローカルファイルシステムまたはクラスパス上のファイルにすることができます。
|
|
keyStorePassword
|
これは、上記のキーストアのパスワードです。
|
|
rolesPropertiesFile
|
これは任意です。これは、ロールのマッピングを含むファイルへのパスです。詳細については、Getting Started Guide の Role Mapping セクションを参照してください。
|
18.24. コールバックハンドラー リンクのコピーリンクがクリップボードにコピーされました!
18.25. ロールマッピング リンクのコピーリンクがクリップボードにコピーされました!
18.26. ロールマッピングを有効にする リンクのコピーリンクがクリップボードにコピーされました!
手順18.8 タスク
- テキストエディターでログイン設定ファイルを開きます: vi SOA_ROOT/jboss-as/server/PROFILE/conf/login-config.xml
- をセットする rolesPropertiesFile財産。(このプロパティーは、ローカルファイルシステムまたはクラスパスのいずれかにあるファイルを指すことができます)。
- ユーザーをロールにマップします。このコード例は、その方法を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
18.27. security_cert クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
18.28. セキュリティーサービスインターフェイスのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
手順18.9 タスク
SecurityServiceインターフェイスを実装します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - グローバル設定ファイルをテキストエディターで開きます: vi SOA_ROOT/jboss-as/server/PROFILE/deployers/esb.deployer/jbossesb-properties.xml
- カスタマイズされた
SecurityServiceを使用するように ファイルを設定します。 - ファイルを保存して終了します。
18.29. リモート呼び出しクラス リンクのコピーリンクがクリップボードにコピーされました!
18.30. ポート 8083 での非リモートメソッド呼び出しクラスの保護 リンクのコピーリンクがクリップボードにコピーされました!
ポート 8083 経由で Enterprise Java Bean クラスをダウンロードできます。ただし、システムのリモートメソッド呼び出し設定を設定して、クライアントアプリケーションが必要なデプロイ済みリソースをダウンロードできるようにすることもできます。
手順18.10 タスク
jboss-service.xml ファイルの設定の編集
テキストエディターでファイルを開きます: vi SOA_ROOT/server/PROFILE/conf/jboss-service.xmlファイルで設定を設定する
以下に例を示します。<attribute name="DownloadServerClasses">false</attribute>
<attribute name="DownloadServerClasses">false</attribute>Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントアプリケーションがエンタープライズ Java Bean クラスのみをダウンロードできるようにするには、この値を false に設定します。重要デフォルトでは、この値は SOA プラットフォームの運用プロファイルで false に設定されています。SOA スタンドアロンバージョンのデフォルトプロファイルを含め、他のすべての場合、値は true に設定されます。これは安全な設定ではないため、開発環境でのみ使用する必要があることに注意してください。
第19章 サービスレジストリーの保護 リンクのコピーリンクがクリップボードにコピーされました!
19.1. サービスレジストリー認証 リンクのコピーリンクがクリップボードにコピーされました!
はじめに
ここでは、認証プロセスがどのように機能するかについての理論的な理解を示します。
Authenticator インターフェイスのメソッドによって表されます。
GetAuthToken リクエストが行われます。このフェーズの目標は、 user id と認証情報を有効な publisher id にかえることです。パブリッシャー ID (UDDI 用語では 許可された名前 と呼ばれます) は、UDDI 内で所有権を割り当てる値です。新しいエンティティーが作成されるたびに、発行者の承認された名前による所有権でタグ付けする必要があります。
GetAuthToken 要求が完了すると、認証トークン が呼び出し元に発行されます。
GetAuthToken 要求に対する応答として発行されたトークンを提供する必要があります。これは、識別フェーズにつながります。
UddiEntityPublisher オブジェクトに変換します。このオブジェクトには、UDDI エンティティーの所有権を処理するために必要なすべてのプロパティーが含まれています。したがって、トークン (または publisher id) は、発行元を識別するために使用されます。
UddiEntityPublisher のサブクラスである Publisher エンティティーを提供します。このサブクラスは、パブリッシャーのプロパティーを jUDDI レジストリー内で永続化します。
19.2. authToken リンクのコピーリンクがクリップボードにコピーされました!
19.3. authToken とサービスレジストリー リンクのコピーリンクがクリップボードにコピーされました!
authToken が必要です。
19.4. authToken を取得する リンクのコピーリンクがクリップボードにコピーされました!
手順19.1 タスク
GetAuthToken()リクエストを行います。GetAuthTokenオブジェクトが返されます。 userid と credential (パスワード) をこのオブジェクトで設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow SOA_ROOT/jboss-as/server/PROFILE/deploy/juddi-service.sar/juddi.war/WEB-INFでjuddi.properties設定ファイルを見つけます。テキストエディターで開きます。- を設定します juddi.authenticatorプロパティーを使用して、
GetAuthTokenリクエストによって渡された認証情報をサービスレジストリーがチェックする方法を指定します。(デフォルトでは、jUDDIAuthenticator実装を使用します。) - ファイルを保存して終了します。
19.5. Service Registry で利用可能なセキュリティー認証の実装 リンクのコピーリンクがクリップボードにコピーされました!
- jUDDI 認証
- 警告この認証方法を本番環境で使用しないでください。提供されたすべての認証情報を受け入れ、クライアントがレジストリーにアクセスするときに認証する必要性を効果的に取り除きます。Service Registry によって提供されるデフォルトの認証メカニズムは
jUDDIAuthenticatorです。jUDDIAuthenticatorの認証フェーズは、user ID がPublisherテーブルのレコードに対して一致を送信したかどうかを確認します。資格証明のチェックは行われません。認証プロセス中に Publisher レコードが存在しないことが判明した場合は、オンザフライで追加されます。識別フェーズでは、publisher ID Publisher レコードを取得して返すために使用されます。パブリッシャーは、必要なすべてのプロパティーをUddiEntityPublisherから継承します。juddi.authenticator = org.apache.juddi.auth.JUDDIAuthentication
juddi.authenticator = org.apache.juddi.auth.JUDDIAuthenticationCopy to Clipboard Copied! Toggle word wrap Toggle overflow - XMLDocAuthentication
- 認証フェーズでは、ユーザー ID とパスワードが XML ファイル内の値と一致することを確認します。識別フェーズでは、user IDを使用して新しい
UddiEntityPublisherを設定します。 - CryptedXMLDocAuthentication
CryptedXMLDocAuthenticationの実装はXMLDocAuthenticationの実装に似ていますが、パスワードは暗号化されています。juddi.authenticator = org.apache.juddi.auth.CryptedXMLDocAuthentication juddi.usersfile = juddi-users-encrypted.xml juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
juddi.authenticator = org.apache.juddi.auth.CryptedXMLDocAuthentication juddi.usersfile = juddi-users-encrypted.xml juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptorCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、ユーザー認証情報ファイルはjuddi-users-encrypted.xmlであり、ファイルの内容は次のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow DefaultCryptorの実装では、BEWithMD5AndDESとBase64を使用してパスワードを暗号化します。注記AuthenticatorTestのコードを使用して、この Authenticator 実装の使用方法について詳しく知ることができます。org.apache.juddi.cryptor.Cryptorインターフェイスを実装し、juddi.cryptor プロパティーで実装クラスを参照することで、独自の暗号化アルゴリズムをプラグインできます。認証フェーズでは、XML ファイル内の user ID とパスワード一致値をチェックします。識別フェーズでは、user ID を使用して新しいUddiEntityPublisherを設定します。- LDAP 認証
LdapSimpleAuthenticatorを使用して、LDAP の簡易認証機能を介してユーザーを認証します。このクラスを使用すると、principle と jUDDI publisher ID が同じ場合に、LDAP 原則 に基づいてユーザーを認証します。- JBoss 認証
- 最後の代替手段は、サードパーティーの認証情報ストアと連携することです。JBoss Application Server の認証コンポーネントにリンクできます。
docs/examples/authディレクトリーにJBossAuthenticatorクラスが提供されています。このクラスは、JBoss 上の jUDDI デプロイメントがサーバーセキュリティードメインを使用してユーザーを認証できるようにします。
19.6. XMLDocAuthentication の設定 リンクのコピーリンクがクリップボードにコピーされました!
手順19.2 タスク
juddi-users.xmlというテキストファイルを作成し、jbossesb-registry.sarに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
- ファイルをクラスパスに追加します。
- テキストエディターで
juddi.propertiesファイルを開きます (SOA_ROOT/jboss-as/server/PROFILE/deploy/juddi-service.sar/juddi.war/WEB-INF)。 - ファイルを次のように変更します。
juddi.authenticator = org.apache.juddi.auth.XMLDocAuthentication juddi.usersfile = juddi-users.xml
juddi.authenticator = org.apache.juddi.auth.XMLDocAuthentication juddi.usersfile = juddi-users.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
19.7. Lightweight Directory Access Protocol (LDAP) リンクのコピーリンクがクリップボードにコピーされました!
19.8. LDAP 認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
手順19.3 タスク
SOA_ROOT/jboss-as/server/PROFILE/deploy/juddi-service.sar/juddi.war/WEB-INFでjuddi.propertiesファイルを見つけます。テキストエディターで開きます。- 次の構成設定を追加してください。
juddi.authenticator=org.apache.juddi.auth.LdapSimpleAuthenticator juddi.authenticator.url=ldap://localhost:389
juddi.authenticator=org.apache.juddi.auth.LdapSimpleAuthenticator juddi.authenticator.url=ldap://localhost:389Copy to Clipboard Copied! Toggle word wrap Toggle overflow juddi.authenticator.url プロパティーは、LDAP サーバーが存在する場所をLdapSimpleAuthenticatorクラスに通知します。 - ファイルを保存して終了します。
19.9. JBoss 認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
手順19.4 タスク
SOA_ROOT/jboss-as/server/PROFILE/deploy/juddi-service.sar/juddi.war/WEB-INFでjuddi.propertiesファイルを見つけます。テキストエディターで開きます。- ファイルに以下の行を追加します。
uddi.auth=org.apache.juddi.auth.JBossAuthenticator juddi.securityDomain=java:/jaas/other
uddi.auth=org.apache.juddi.auth.JBossAuthenticator juddi.securityDomain=java:/jaas/otherCopy to Clipboard Copied! Toggle word wrap Toggle overflow juddi.authenticator プロパティーは、JbossAuthenticatorクラスを jUDDI レジストリーの Authenticator フレームワークに接続します。juddi.security.domainは、JBossAuthenticatorに Application Server のセキュリティードメインを見つけることができる場所を伝えます。このドメインを使用して認証を実行します。JBoss はSOA_ROOT/jboss-as/server/PROFILE/conf/login-config.xmlファイル内のアプリケーションポリシー要素ごとに 1 つのセキュリティードメインを作成することに注意してください。これらのドメインは、次の名前でサーバー JNDI ツリーにバインドされます。java:/jaas/<application-policy-name>(ルックアップが存在しないアプリケーションポリシーを参照する場合、otherという名前のポリシーがデフォルトで使用されます。) - ファイルを保存して終了します。
付録A 更新履歴 リンクのコピーリンクがクリップボードにコピーされました!
| 改訂履歴 | |||
|---|---|---|---|
| 改訂 5.3.1-78.400 | 2013-10-31 | ||
| |||
| 改訂 5.3.1-78 | Mon Feb 18 2013 | ||
| |||