ビジネス プロセス構築ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

ビジネス プロセスの開始

この節は、ビジネス プロセスの開始点になる、ビジネス プロセスの最初のノード (開始ノード) を設計する方法について説明します。

ビジネス プロセスは、ビジネス プロセスがサブスクライブされるメッセージ ブローカのチャネルからメッセージを受信した結果またはクライアントから要求を受信した結果、複数のイベントから 1 つを選択して開始できます (ビジネス プロセスは、チャネルをサブスクライブしてイベントを受信できます。たとえば、ファイル イベント ジェネレータ、JMS イベント ジェネレータ、タイマー イベント ジェネレータなどがあります)。この節では、次のトピックについて説明します。

 


開始ノードの設計

開始ノードは、ビジネス プロセスの開始点です。ビジネス プロセスを開始するメソッドにより、プロセスの開始イベントには、Client RequestClient Request with Return または Subscription ノードの任意の組み合わせが入ります。開始ノードの真下にある開始イベント プレースホルダをダブルクリックし、プロセスの開始イベントを設計します。

新たなビジネス プロセスを作成するには、「ビジネス プロセス アプリケーションの作成」で説明するタスクを完了します。新たなビジネス プロセスを作成すると、以下の図 3-1 に示すように、空の開始ノード、開始イベントプレースホルダおよび Finish ノードが最初に入ります。

図 3-1 開始ノード

開始ノード

ビジネス プロセスの最初の操作は、開始ノードにより指定されます。つまり、開始イベントを定義することにより、ビジネス プロセスの実行時の開始方法を指定します。前述の図に示すように、開始ノードに添付された空のノードおよび灰色のチェック ボックスの 開始ノード は、このビジネス プロセスの開始メソッドが定義されていないことを示します。

プロセス ノードを追加してビジネス プロセスを構築する際、開始ノードに戻ってプロセスのステートレスのステータスをチェックできます。プロセスがステートフルになると、開始ノードのプロパティ エディタのステートレス プロパティは false を表示します。ステートレスおよびステートフルのビジネス プロセスの詳細については、「ステートレス/ステートフル ビジネス プロセスの構築」を参照してください。

開始ノードでは、ビジネス プロセス全体の問題も示されます。たとえば、コントロール宣言にエラーがある場合または誤った変数の型が使用されている場合です。このような問題はいずれも、開始ノードの次に表示される 開始ノード により示されます。このアイコンの上にカーソルを置くと、BEA Workshop for WebLogic Platform により問題に関するメッセージが表示されます。

ビジネス プロセス用の開始メソッドを定義するには

開始するイベント ノード ビルダを呼び出し、開始ノードのプロパティを設計できます。ノード ビルダでは、タスク駆動型のインタフェースにより、ビジネス プロセスのノードで必要なロジックを指定できます。

  1. デザイン ビュー開始ノードで、開始イベント プレースホルダをダブルクリックし、開始ノード ビルダを表示します。
  2. ノード ビルダが、図 3-2 のように表示されます。

    図 3-2 ノード ビルダ


    ノード ビルダ

  3. ノード ビルダで、ビジネス プロセスを開始するメソッドを選択します。
    • クライアント要求で呼び出す
    • クライアントからメッセージを受信してビジネス プロセスを開始する場合は、このオプションを選択します。

    • 戻り値のあるクライアント要求で同期的に呼び出す
    • クライアントから同期の要求を受信してビジネス プロセスを開始する場合は、このオプションを選択します。戻り値のあるクライアント要求グループ内の受信ノードおよび送信ノードの間に追加された任意のノードは、同期処理のスコープ内で実行されます。

    • メッセージ ブローカ チャネルをサブスクライブし、イベント (タイマー、電子メール、ファイル、アダプタなど) から開始する
    • メッセージ ブローカ チャネルから非同期のメッセージを受信してビジネス プロセスを開始する場合は、このオプションを選択します。このノードでメッセージ ブローカ チャネルへの静的なサブスクリプションを作成します。また、このオプションでは、メッセージ ブローカ チャネルへのイベントのパブリッシュを容易にするファイル、JMS、電子メール、タイマーイベント ジェネレータによるイベントを通じてビジネス プロセスを開始できます。

      注意 : WebLogic Integration では、開始ノードで定義されるメッセージ ブローカ チャネルのサブスクリプションは静的であり、メッセージ ブローカ サブスクリプション コントロールを使用して定義されるサブスクリプションは動的です。 http://edocs.bea.com/wli/docs92/wli.javadoc/index.html の静的および動的サブスクリプションに関する注意を参照してください。
    • メッセージ ブローカ チャネルを同期的にサブスクライブし、イベントから開始する
    • メッセージ ブローカ チャネルから同期のメッセージを受信してビジネス プロセスを開始する場合は、このオプションを選択します。このノードでメッセージ ブローカ チャネルへの静的なサブスクリプションを作成します。また、このオプションでは、メッセージ ブローカ チャネルへのイベントのパブリッシュを容易にするファイル、JMS、電子メール、タイマーイベント ジェネレータによるイベントを通じてビジネス プロセスを開始できます。

    • 複数のクライアント要求またはサブスクリプションのうちの 1 つで呼び出す (イベント選択)
    • 多数の可能なイベントから 1 つを受信してビジネス プロセスを開始する場合は、このオプションを選択します。ビジネス プロセスの開始時にイベント選択ノードを使用する場合は、Client RequestClient Request with Return、または Message Broker Subscription ノードが入るようにコンフィグレーションできます。

  4. ノード ビルダを閉じるには、[閉じる] をクリックします。
  5. 開始ノードのドロップ ターゲットは、ビジネス プロセスが開始されるメソッドを示すアイコンと共に、移入されます。

ビジネス プロセスに対して、開始ノードを指定する詳細については、以下を参照してください:

 


クライアント要求開始 (非同期)

クライアントからメッセージを受信してビジネス プロセスを開始することを指定した場合、つまりクライアント要求を通じた呼び出しオプションを使用する場合は、開始ノードが図 3-3 のように表示されます。

図 3-3 Client Request 開始ノード

Client Request 開始ノード

Client Request ノードの設計を完了するには
  1. [Client Request] ノードをダブルクリックし、Client Request ノード用にノード ビルダを呼び出します。
  2. Client Request ノード用にイベントの指定を完了するには、「Client Request ノードの設計」を参照してください。

関連トピック

メッセージのクライアントへの送信

例外の処理

クライアント操作およびコントロール コミュニケーション メソッド

 


戻り値のあるクライアント要求開始 (同期)

クライアントからメッセージを受信してビジネス プロセスを開始することを指定し、同期のレスポンスをクライアントに返信することを指定した場合、つまり [戻り値のあるクライアント要求で同期的に呼び出す] オプションを使用する場合、開始ノードは図 3-4 のように表示されます。

図 3-4 Client Request with Return 開始ノード

Client Request with Return 開始ノード

Client Request with Return グループ ノードについて、以下のプロパティを注意してください。

任意のノードをビジネス プロセスに追加した後は、そのノード ビルダを呼び出してノードに適したタスクを完了し、そのプロパティおよび動作を設計できます。また、戻り値のあるクライアント要求ノードの要求部分および戻り値部分の間に、ノードを必要に応じて追加することもできます。この操作により、クライアントからメッセージを受信した後および戻り値がクライアントに返信される前に、データの処理またはタスクの実行を行うことが可能になります。戻り値のあるクライアント要求ノードに必要に応じてノードを追加する方法の詳細については、「Client Request with Return ノード グループへのノードの追加」を参照してください

以下の節では、Client Request with Return ノードの設計を完了する方法を説明します。

Client Request with Return ノード グループの設計を完了するには

Client Request with Return ノードの設計を完了するには、以下の節を完了する必要があります。

ノード グループの要求部分用の一般的な設定の指定
  1. ビジネス プロセスの Client Request with Return ノード グループにある 戻り値のあるクライアント要求開始ノード アイコン (上部アイコン) をダブルクリックします。
  2. ノード ビルダが呼び出されます。これには、[一般的な設定] および [データの受信] の 2 つのタブがあります。

  3. [一般的な設定] タブで、[メソッド名] フィールドに名前を入力し、この Client Request with Return ノードのメソッド名を指定します。
  4. メソッドに割り当てた名前は、ビジネス プロセスを Web サービスとして利用可能にする際に、Web Services Description Language (WSDL) を介してエクスポーズされるメソッド名です。プロジェクトのメソッドをクライアントにエクスポーズする方法については、「アプリケーションのコンポーネント」を参照してください。

  5. [一般的な設定] タブで、[追加] をクリックします。データ型を示すパネルが表示されます。
  6. Client Request with Return ノードがクライアントから受信するデータ型および式を選択します (メソッド パラメータ用のデータ型)。また、メソッド パラメータ名を指定することもできます。
  7. データ型および形式を選択します。利用可能なオプションは以下のとおりです。
    • 単純型
    • Java の基本データ型およびクラスのデータ型を示します。

    • XML 型
    • ビジネス プロセス プロジェクトで利用できる XML スキーマ、型なしの XMLObject、および XMLObjectList データ型を示します。プロジェクトにスキーマをインポートする方法については、「XML スキーマのインポート」を参照してください。

    • 非 XML 型
    • ビジネス プロセス プロジェクトで利用できるメッセージ フォーマット言語 (Message Format Language : MFL) ファイルおよび型なしの RawData データ型を示します。WebLogic Integration では、XML に基づき、メッセージ フォーマット言語 (MFL) と呼ばれるメタデータ言語を使用し、非 XML データの構造を記述します。プロジェクトで利用できる各 MFL ファイルは、非 XML 型に表示されます。各 MFL ファイルの XML スキーマの表示は、BEA Workshop for WebLogic Platform により構築され、XML 型のリストでも利用できます。

      データ型の詳細については、「データ型の操作」を参照してください。

  8. データ型を選択した後、[OK] をクリックします。指定したパラメータが、ノード ビルダの [一般的な設定] タブに表示されます。
  9. 注意 : 前述の手順で型付きの XML または型付きの非 XML データ型を選択した場合は、[検証] ボックスを選択し、ノードによりメッセージを受信する前に、指定したスキーマに対して着信するメッセージを検証できます。スキーマの詳細については、「スキーマの検証」および「スキーマ ファイルの作成とインポート」を参照してください。
  10. [一般的な設定] タブで、使用するパラメータをすべて追加するまで [追加] をクリックし続け、データ型およびデータ形式を選択します。
  11. ノード ビルダ ペインからパラメータを削除するには、このリストのパラメータを選択し、[削除] をクリックします。
ノード グループの要求部分用データ設定の受信の指定
  1. [データの受信] タブをクリックします。
  2. このタブでは、1 つまたは複数の変数を定義し、ビジネス プロセスがクライアントから受信するデータを保持できます。[データの受信] タブには、モードが 2 つあります。

    • 変数の割り当て - このモードは、クライアントから受信したデータを同じデータ型の変数に割り当てる場合に使用します。デフォルトでは、[変数の割り当て] パネルで、[データの受信] タブが開きます。
    • トランスフォーメーション - このモードは、変数に割り当てられたデータとメソッド パラメータが予期するデータ間のトランスフォーメーションを作成する場合に使用します。
  3. メソッド パラメータのデータ型および使用する変数のデータ型が一致する場合は、対応するメソッドに変数を直接マッピングできます。
    1. [変数の割り当て] オプションを選択していない場合は、選択してください。
    2. [クライアントが送信する値] フィールドには、[一般的な設定] タブで指定したパラメータが移入されます。

    3. プロジェクトで作成した変数をメソッド パラメータに割り当てる場合は、[割り当てる変数を選択します] のドロップダウン リストの矢印をクリックし、それをメニューから選択します。選択する変数が、ノード ビルダ ペインに追加されます。
    4. 新しい変数を作成し、メソッド パラメータに割り当てる場合は、ドロップダウン リストの矢印をクリックし、[変数の新規作成...] を選択して、「ノード ビルダに新しい変数を作成するには」節の指示に従ってください。
    5. メソッド パラメータのデータ型と変数のデータ型が一致する場合には、[OK] をクリックします。新しい変数が作成され、[データの受信] タブに表示されます。
  4. 変数およびメソッド パラメータのデータ型が異なる場合は、BEA Workshop for WebLogic Platform に附属する XQuery Mapper ツールを使用し、異種のデータ型の間をマッピングできます。このツールを使って作成するデータ トランスフォーメーションは、データ トランスフォーメーション ファイルに保存されます。データ トランスフォーメーションが入っているデータ トランスフォーメーション ファイルは、コントロールとして構築されます。コントロールは、トランスフォーメーション メソッドをエクスポーズし、それをビジネス プロセスにより呼び出して異種のデータ型をマッピングします。
    1. トランスフォーメーション マップを作成するには、ノード ビルダの [トランスフォーメーション] オプションを選択します。
    2. ノード ビルダのトランスフォーメーション ウィンドウにより、[クライアントが送信する値] ペインでメソッドにより予想できるデータ型が表示されます。

    3. [トランスフォーメーション] オプション ウィンドウの [手順 1] で、[変数の選択] をクリックし、使用する 1 つまたは複数の変数を選択します。
    4. 注意 : ノード ビルダ ペインからパラメータを削除するには、このリストのパラメータを選択し、[削除] をクリックします。この操作により、ビジネス プロセスからではなく、ノード ビルダから変数が削除されます。変数は、まだビジネス プロセスに入っており、[データ パレット] の [変数] ペインに表示されます。

      ビジネス プロセスを設計する際、トランスフォーメーションを使用し、異種のデータ型の間のマップを作成します。トランスフォーメーション コントロールのインスタンス (データ トランスフォーメーション ファイルにより定義される) がプロジェクトにある場合は、そのインスタンスはマップの作成に使用されます。

    5. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できない場合は、[トランスフォーメーションの作成] をクリックし、XQuery Mapper ツール ウィンドウを呼び出し、新たなインスタンスを作成できます。この操作により、自動的に変更をビルダに適用し、新しいウィンドウでトランスフォーメーション エディタを開きます。
    6. XQuery Mapper ツールで、ソース スキーマおよびターゲット スキーマ表現を [ソース] および [対象] ペインに表示します。メソッド パラメータのデータ型および 1 つまたは複数の変数のデータ型の間のマップを作成し、それにデータを割り当てることができます。XQuery Mapper ツールを使用してマップを作成およびテストする方法については、データ トランスフォーメーション ガイドを参照してください。

      注意 : ノード ビルダに戻るには、[パッケージ・エクスプローラー] ペインで Process.java ファイルをダブルクリックします。
    7. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できる場合は、ノード ビルダの [詳細...] をクリックします。[詳細オプション] ウィンドウが開きます。このウィンドウで、[コントロール] および [メソッド] を選択します。メソッド引数および戻り値型が [トランスフォーメーション] ペインで選択したものに一致する場合は、[OK] をクリックします。
    8. ノード ビルダを閉じるには、[閉じる] をクリックします。
ノード コンフィグレーションの編集について

ノード ビルダを開いて既存の設定を変更することにより、任意のノードでコンフィグレーションを編集できます。コンフィグレーションされたトランスフォーメーションの入ったノード ビルダに変数を追加または削除する場合は、トランスフォーメーションを編集または再作成する必要があります。この操作を行うには、変数を追加または削除し、[トランスフォーメーションの編集] または [トランスフォーメーションの作成] をクリックします。

注意 : ノード ビルダの [トランスフォーメーション] ペインで変数を選択し、その後 [削除] をクリックすると、ビジネス プロセスからではなく、ノード ビルダから選択した変数が削除されます。変数は、まだビジネス プロセスに入っており、[データ パレット] の [変数] ペインに表示されます。
ノード グループの戻り値部分用の一般的な設定の指定
  1. ビジネス プロセスの Client Request with Return ノードにある 戻り値のあるクライアント要求開始ノード アイコン (下部アイコン) をダブルクリックします。
  2. ノード ビルダの要求部分が表示されます。これには、[一般的な設定] および [データの送信] の 2 つのタブがあります。

  3. [一般的な設定] タブで、[メソッド名] フィールドに名前を入力し、この Client Receive with Return ノードのメソッド名を指定します。
  4. メソッドに割り当てた名前は、ビジネス プロセスを Web サービスとして利用可能にする際に、Web Services Description Language (WSDL) を介してエクスポーズされるメソッド名です。プロジェクトのメソッドをクライアントにエクスポーズする方法については、「アプリケーションのコンポーネント」を参照してください。

  5. [一般的な設定] タブで、[選択] をクリックし、Client Request with Return ノードによりクライアントへ送信するデータの型および形式を選択します (戻り値のデータ型)。
  6. データ型および形式を選択します。利用可能なオプションは以下のとおりです。
    • 単純型
    • Java の基本データ型およびクラスのデータ型を示します。
    • XML 型
    • ビジネス プロセス プロジェクトで利用できる XML スキーマ、型なしの XMLObject および XMLObjectList データ型を示します。

    • 非 XML 型
    • ビジネス プロセス プロジェクトで利用できるメッセージ フォーマット言語 (Message Format Language : MFL) ファイルおよび型なしの RawData データ型を示します。WebLogic Integration では、XML に基づき、メッセージ フォーマット言語 (MFL) と呼ばれるメタデータ言語を使用し、非 XML データの構造を記述します。プロジェクトで利用できる各 MFL ファイルは、非 XML 型に表示されます。各 MFL ファイルの XML スキーマの表示は、BEA Workshop for WebLogic Platform により構築され、XML 型のリストでも利用できます。

      データ型の詳細については、「データ型の操作」を参照してください。

  7. データ型を選択した後、[OK] をクリックします。[型名] フィールドは、前述の手順で追加したパラメータ型で移入されます。
ノード グループの戻り値部分用データ設定の送信の指定
  1. [データの送信] タブをクリックします。
  2. このタブでは、1 つまたは複数の変数を定義し、ビジネス プロセスによりクライアントに送信するデータを保持できます。

  3. 戻り値のデータ型および使用する変数のデータ型が一致する場合は、対応する戻り値に変数を直接マッピングできます。
    1. [変数の割り当て] オプションを選択していない場合は、選択してください。デフォルトでは、[データの送信] タブにより [変数の割り当て] パネルが開きます。
    2. [クライアントが予期する値] フィールドは、[一般的な設定] タブに指定した戻り値で移入されます。

    3. プロジェクトで作成した変数を戻り値に割り当てる場合は、それをドロップダウン メニューから選択します。
    4. 新しい変数を作成し、メソッド パラメータに割り当てる場合は、[変数の新規作成...] を選択し、「ノード ビルダに新しい変数を作成するには」の節の指示に従ってください。
    5. 戻り値のデータ型および変数が一致する場合は、[閉じる] をクリックしてノード ビルダを閉じます。
  4. 変数および戻り値のデータ型が異なる場合は、BEA Workshop for WebLogic Platform に入っている XQuery Mapper ツールを使用し、異種のデータ型の間をマッピングできます。このツールを使って作成するデータ トランスフォーメーションは、データ トランスフォーメーション ファイルに保存されます。データ トランスフォーメーションが入っているデータ トランスフォーメーション ファイルは、コントロールとして構築されます。コントロールは、トランスフォーメーション メソッドをエクスポーズし、それをビジネス プロセスにより呼び出して異種のデータ型をマッピングします。
    1. トランスフォーメーション マップを作成するには、[トランスフォーメーション] オプションを選択します。
    2. ノード ビルダのトランスフォーメーション ウィンドウで、[クライアントが予期する値] ペインに表示されるメソッドにより予想されるデータ型が表示されます。

    3. [トランスフォーメーション] オプション ウィンドウの [手順 1] で、[変数の選択] をクリックし、使用する 1 つまたは複数の変数を選択します。
    4. 注意 : ノード ビルダ ペインから変数を削除するには、このリストの変数を選択し、[削除] をクリックします。この操作により、ビジネス プロセスからではなく、ノード ビルダから変数が削除されます。変数は、まだビジネス プロセスに入っており、[データ パレット] の [変数] ペインに表示されます。

      ビジネス プロセスを設計する際、トランスフォーメーションを使用し、異種のデータ型の間のマップを作成します。トランスフォーメーション コントロールのインスタンスがプロジェクトにある場合は、そのインスタンスはマップの作成に使用されます。

    5. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できない場合は、[トランスフォーメーションの作成] をクリックし、XQuery Mapper ツール ウィンドウを呼び出し、新たなインスタンスを作成できます。この操作により、自動的に変更をビルダに適用し、新しいウィンドウでトランスフォーメーション エディタを開きます。
    6. XQuery Mapper ツールで、ソース スキーマおよびターゲット スキーマ表現を [ソース] および [対象] ペインに表示します。メソッド パラメータのデータ型および 1 つまたは複数の変数のデータ型の間のマップを作成し、それにデータを割り当てることができます。XQuery Mapper ツールを使用してマップを作成およびテストする方法については、データ トランスフォーメーション ガイドを参照してください。

      注意 : ノード ビルダに戻るには、[パッケージ・エクスプローラー] ペインで Process.java ファイルをダブルクリックします。
    7. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できる場合は、[詳細...] をクリックします。[詳細オプション] ウィンドウが開きます。このウィンドウで、[コントロール] および [メソッド] を選択します。メソッド引数および戻り値型が [トランスフォーメーション] ペインで選択したものに一致する場合は、[OK] をクリックします。
    8. XQuery Mapper ツール ウィンドウを閉じるには、[閉じる] をクリックします。
    9. 注意 : ノード ビルダの [トランスフォーメーション] ペインで設計するコンフィグレーションの変更の詳細については、「ノード コンフィグレーションの編集について」を参照してください。
  5. ノード ビルダを閉じるには、[閉じる] をクリックします。
  6. デザイン ビューで、戻り値のあるクライアント要求開始ノード アイコンは、このノードの作成およびコンフィグレーションが完了したことを示します。

  7. 作業内容を保存するには、[ファイルArrow symbol保管] を選択します。

Client Request with Return ノード グループへのノードの追加

Client Request with Return ノードは、Client Request ノードおよび Client Receive ノードのコンビネーションとして同期の対話内で機能します。そのため、Client Request ノードの要求部分および戻り値の部分の間にノードを追加できますが、wait または block ノードはいずれも追加できません。Client Request with Return ノードにノードを追加するには、パレットで追加するノードを選択し、それを Client Request with Return ノードにドラッグおよびドロップします。

追加できるノードを以下に示します。

Client Request with Return ノードにおけるメソッドの命名

Client Request with Return ノードでメソッドに割り当てた名前は、ビジネス プロセスを Web サービスとして利用可能にする際に、Web サービス記述言語 (WSDL) を通じてエクスポーズされるメソッド名に対応します。この名前は、有効な Java クラス名であることが必要です。

関連トピック

メッセージのクライアントへの送信

XQuery 文

例外の処理

クライアント操作およびコントロール コミュニケーション メソッド

 


サブスクリプションの開始 (非同期)

メッセージ ブローカ チャネルをサブスクライブし、イベントを通じて開始する (タイマー、電子メール、ファイル、アダプタなど) オプションを通じてビジネス プロセスを開始することを指定した場合 (「 ビジネス プロセス用の開始メソッドを定義するには」) には、開始ノードが図 3-5 のように表示されます。

図 3-5 Subscription 開始ノード

Subscription 開始ノード

メッセージ ブローカ チャネルへの静的なサブスクリプションは、Subscription ノードで定義されます。ビジネス プロセスは、メッセージ ブローカ チャネルからメッセージを受信して開始されます。

注意 : WebLogic Integration では、開始ノードで定義されるメッセージ ブローカ チャネルのサブスクリプションは静的であり、メッセージ ブローカ サブスクリプション コントロールを使用して定義されるサブスクリプションは動的です。http://edocs.bea.com/wli/docs92/wli.javadoc/index.html の「静的および動的サブスクリプションに関する注意」を参照してください。

実行時のメッセージ フローを以下に概説します。

  1. MB (メッセージ ブローカ) パブリッシュ コントロール、ファイル イベント ジェネレータ、タイマー イベント ジェネレータ、または JMS イベント ジェネレータを使用して、サービスが、メッセージをメッセージ ブローカ チャネルにパブリッシュします。メッセージ ブローカ チャネルにイベントをパブリッシュする方法については、以下を参照してください。
  2. ビジネス プロセス インスタンスでは、Subscription ノードを通じてメッセージ ブローカ チャネルをサブスクライブし、同チャネルからメッセージを受信します。アプリケーションのスケーラビリティを確保するため、着信メッセージは、デフォルトでは現行のビジネス プロセスのキューでバッファリングされます。バッファリングの詳細については、「クライアント メッセージのバッファリング」を参照してください。
注意 : 非同期のサブスクリプション開始では、サブスクライブされたビジネス プロセスが、パブリッシャのトランザクションとは異なるトランザクション内で実行されます。一般的に、ビジネス プロセスがメッセージ ブローカ チャネルからメッセージを受信する際にビジネス プロセスを開始するように設計する場合には、通常このデザイン パターンの使用をお勧めします。同期のサブスクリプション開始が推奨されるシナリオの詳細については、「同期または非同期の Subscription 開始ノードの選択について」を参照してください。
Subscription 開始ノードの設計を完了するには
  1. ビジネス プロセスの開始ノードに関連する [Subscription] ノードをダブルクリックし、Subscription ノード ビルダを呼び出します。
  2. ノード ビルダのタブには、以下が入っています。

    • 一般的な設定
    • フィルタの指定
    • データの受信
    • これらのタブで利用できるタスクを以下の手順で説明します。

  3. [一般的な設定] タブの以下のタスクを完了します。
    1. [メソッド名] フィールドで、サブスクリプション要求メソッド用の名前を入力します。
    2. サブスクリプション要求メソッドのデータ型およびデータ形式 (メソッド パラメータ用のデータ型) は、チャネル ファイルのコンフィグレーションに基いて自動的に指定されます。

    3. [チャネル名] フィールドに関連するメッセージ ブローカ チャネルのドロップダウン リストからチャネル名を選択します。
    4. 注意 : 選択に適したチャネルが利用できない場合は、アプリケーション用にメッセージ ブローカ チャネルを指定するファイルを作成する必要があります
  4. [フィルタの指定] タブをクリックします。
  5. フィルタの指定は、省略可能です。フィルタは、ビジネス プロセスがチャネルから受信するデータ型に適用でき、またはチャネルのコンフィグレーションで限定されるメタデータ型を指定した場合に適用できます。

    [フィルタの指定] タブのフィールドには、前のタブで指定したサブスクリプション メソッド パラメータ用のデータ型が入力されます。限定されたメタデータを受信できるチャネルを指定した場合は、Qualified Metadata 属性も示され、代わりにそのパラメータをフィルタすることもできます。

    フィルタを指定するには:

    1. フィルタする入力型またはスキーマ要素を選択します。
    2. XQuery の表現式が作成され、前述の手順での選択に基づいて、この XQuery の表現式が [フィルタ] フィールドに入力されます。
    3. 注意 : XMLObject パラメータでフィルタリングする場合は、XQuery 文を [フィルタ] フィールドに入力するか、またはソース コードを直接編集する必要があります。
    4. [フィルタの値] フィールドで、フィルタに一致する値を入力します。
  6. [データの受信] タブをクリックします。
  7. このタブでは、ビジネス プロセスがチャネルから受信するデータを保持するための 1 つまたは複数の変数を定義できます。

  8. メソッド パラメータのデータ型および使用する変数のデータ型が同一の場合は、対応するメソッドに変数を直接マッピングできます。
    1. 変数の割り当てオプションを選択していない場合は、選択してください。
    2. [クライアントが送信する値] フィールドには、[一般的な設定] タブで指定したパラメータ、すなわちチャネルのパラメータ型が入力されます。

    3. プロジェクトに作成した変数をメソッド パラメータに割り当てる場合は、それをドロップダウン メニューから選択します。
    4. 新しい変数を作成し、メソッド パラメータに割り当てる場合は、[変数の新規作成...] を選択し、「ノード ビルダに新しい変数を作成するには」の節の指示に従ってください。
    5. メソッド パラメータのデータ型および変数が一致する場合は、[閉じる] をクリックしてノード ビルダを閉じます。
  9. 変数およびメソッド パラメータのデータ型が異なる場合は、WebLogic Integration に入っている XQuery Mapper ツールを使用し、異種のデータ型の間をマッピングできます。このツールを使って作成するデータ トランスフォーメーションは、データ トランスフォーメーション ファイルに保存されます。データ トランスフォーメーションが入っているデータ トランスフォーメーション ファイルは、コントロールとして構築されます。コントロールは、トランスフォーメーション メソッドをエクスポーズし、それをビジネス プロセスにより呼び出して異種のデータ型をマッピングします。
    1. トランスフォーメーション マップを作成するには、[トランスフォーメーション] オプションを選択します。
    2. ノード ビルダのトランスフォーメーション画面が表示され、メソッドにより予想されるデータ型が [クライアントが送信する値] ペインに表示されます。

    3. [トランスフォーメーション] オプション ウィンドウの [手順 1] で、[変数の選択] をクリックし、使用する 1 つまたは複数の変数を選択します。
    4. 注意 : ノード ビルダ ペインから変数を削除するには、このリストの変数を選択し、[削除] をクリックします。この操作により、ビジネス プロセスからではなく、ノード ビルダから変数が削除されます。変数は、まだビジネス プロセスに入っており、[データ パレット] の [変数] ペインに表示されます。

      ビジネス プロセスを設計する際、トランスフォーメーションを使用し、異種のデータ型の間のマップを作成します。マップを作成するには、データ トランスフォーメーション ファイルにより定義されるトランスフォーメーション コントロールのインスタンスがプロジェクトに入っている必要があります。

    5. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できない場合は、[トランスフォーメーションの作成] をクリックし、トランスフォーメーション ツールを呼び出し、新たなインスタンスを作成できます。この操作により、自動的に変更をビルダに適用し、トランスフォーメーション ツールを新しいウィンドウで開きます。
    6. トランスフォーメーション ツールにより、ソース スキーマおよびターゲット スキーマが [ソース] および [対象] ペインに表示されます。メソッド パラメータのデータ型および 1 つまたは複数の変数のデータ型の間のマップを作成し、それにデータを割り当てることができます。

      注意 : ノード ビルダに戻るには、[パッケージ・エクスプローラー] ペインで Process.java ファイルをダブルクリックします。
    7. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できる場合は、[詳細...] をクリックします。[詳細オプション] ウィンドウが開きます。このウィンドウで、[コントロール] および [メソッド] を選択します。メソッド引数および戻り値型が [トランスフォーメーション] ペインで選択したものに一致する場合は、[OK] をクリックします。
    8. [閉じる] をクリックし、トランスフォーメーション ツールを閉じます。
    9. 注意 : ノード ビルダの [トランスフォーメーション] ペインで設計するコンフィグレーションの変更の詳細については、「ノード コンフィグレーションの編集について」を参照してください。
  10. ノード ビルダを閉じるには、[閉じる] をクリックします。

デザイン ビューでは、サブスクリプション開始ノード アイコンにより、このノードのコンフィグレーションおよび設計が完了したことが示されます。サブスクリプション ノードのバッファリングの詳細については、「クライアント メッセージのバッファリング」を参照してください。

  1. 作業内容を保存するには、[ファイルArrow symbol保管] を選択します。

関連トピック

サブスクリプションの開始 (同期)

メッセージのクライアントへの送信

例外の処理

クライアント操作およびコントロール コミュニケーション メソッド

 


サブスクリプションの開始 (同期)

メッセージ ブローカ チャネルを同期でサブスクライブし、イベントを通じて開始するオプションを通じてビジネス プロセスを開始することを指定した場合 (「ビジネス プロセス用の開始メソッドを定義するには」を参照) には、開始ノードが図 3-6 のように表示されます。

図 3-6 Subscription 開始 (同期) ノード

Subscription 開始 (同期) ノード

メッセージ ブローカ チャネルへの同期の静的なサブスクリプションは、同期サブスクリプション ノードで定義されます。ビジネス プロセスは、メッセージ ブローカ チャネルから同期のメッセージを受信して開始されます。

注意 : WebLogic Integration では、開始ノードで定義されるメッセージ ブローカ チャネルのサブスクリプションは静的であり、メッセージ ブローカ サブスクリプション コントロールを使用して定義されるサブスクリプションは動的です。

次のシーケンスでは、ビジネス プロセスの開始時に同期サブスクリプション ノードを設計するシナリオ用の実行時のメッセージ フローについて、概説します。

  1. MB (メッセージ ブローカ) パブリッシュ コントロール、ファイル イベント ジェネレータ、タイマー イベント ジェネレータ、または JMS イベント ジェネレータを使用して、サービスが、メッセージをメッセージ ブローカ チャネルにパブリッシュします。
  2. ビジネス プロセスのインスタンスでは、同期サブスクリプションノードを通じてメッセージ ブローカ チャネルをサブスクライブし、同チャネルからメッセージを受信します。
同期または非同期の Subscription 開始ノードの選択について

サブスクライブされるビジネス プロセスがパブリッシャのトランザクションとは異なるトランザクション内で実行されるため、通常は、非同期のサブスクリプション開始パターンの使用をお勧めします。反対に、同期のサブスクリプション開始では、サブスクライブされるビジネス プロセスがパブリッシャと同じトランザクション内で実行されます。このサブスクリプション型は疎結合を減らし、あるサブスクライバのトランザクションのロールバック結果を別段の場合には独立した他のサブスクライバに関連させることができます。同期のサブスクリプション開始パターンが推奨されるシナリオが 2 つあります。

同期 Subscription 開始ノードの設計を完了するには
  1. ビジネス プロセスの開始ノードに関連する [Subscription] ノードをダブルクリックし、Subscription ノード ビルダを呼び出します。
  2. 注意 : ビジネス プロセスで受信したメッセージを示すノードのみをコンフィグレーションできます。同期サブスクリプション開始ノードを示すペア アイコンの最初のアイコン用ノード ビルダのみを呼び出すことができます。

    ノード ビルダのタブには、以下が入っています。

    • 一般的な設定
    • フィルタの指定
    • データの受信
    • これらのタブで利用できるタスクを以下の手順で説明します。

  3. [一般的な設定] タブの以下のタスクを完了します。
    1. [チャネル名] フィールドに関連するメッセージ ブローカ チャネルのドロップダウン リストからチャネル名を選択します。
    2. 注意 : 選択に適したチャネルが利用できない場合は、アプリケーション用にメッセージ ブローカ チャネルを指定するファイルを作成する必要があります。
    3. [メソッド名] フィールドで、サブスクリプション要求メソッド用の名前を入力します。
    4. サブスクリプション要求メソッドのデータ型およびデータ形式 (メソッド パラメータ用のデータ型) は、チャネル ファイルのコンフィグレーションに基いて自動的に指定されます。

  4. [フィルタの指定] タブをクリックします。
  5. フィルタの指定は、省略可能です。フィルタは、ビジネス プロセスがチャネルから受信するデータ型に適用でき、またはチャネルのコンフィグレーションで限定されるメタデータ型を指定した場合に適用できます。

    [フィルタの指定] タブのフィールドには、前のタブで指定したサブスクリプション メソッド パラメータ用のデータ型が入力されます。限定されたメタデータを受信できるチャネルを指定した場合は、Qualified Metadata 属性も示され、代わりにそのパラメータをフィルタすることもできます。

    フィルタを指定するには:

    1. フィルタするデータ型を選択します。
    2. XQuery の表現式が作成され、前述の手順での選択に基づいて、この XQuery の表現式が [フィルタ] フィールドに入力されます。
    3. 注意 : XMLObject パラメータでフィルタリングする場合は、XQuery 文を [フィルタ] フィールドに入力するか、またはソース コードを直接編集する必要があります。
    4. [フィルタの値] フィールドで、フィルタに一致する値を入力します。
  6. [データの受信] タブをクリックします。
  7. このタブでは、ビジネス プロセスがチャネルから受信するデータを保持するための 1 つまたは複数の変数を定義できます。

  8. メソッド パラメータのデータ型および使用する変数のデータ型が同一の場合は、対応するメソッドに変数を直接マッピングできます。
    1. 変数の割り当てオプションを選択していない場合は、選択してください。
    2. [クライアントが送信する値] フィールドには、[一般的な設定] タブで指定したパラメータ、すなわちチャネルのパラメータ型が入力されます。

    3. プロジェクトに作成した変数をメソッド パラメータに割り当てる場合は、[変数の選択] をドロップダウン メニューからクリックまたは選択します。選択する変数が、ノード ビルダ ペインに追加されます。
    4. 新しい変数を作成し、メソッド パラメータに割り当てる場合は、[変数の新規作成...] を選択し、「ノード ビルダに新しい変数を作成するには」の節の指示に従ってください。
    5. メソッド パラメータのデータ型および変数が一致する場合は、[OK] をクリックしてノード ビルダを閉じます。
  9. 変数およびメソッド パラメータのデータ型が異なる場合は、WebLogic Integration に入っている XQuery Mapper ツールを使用し、異種のデータ型の間をマッピングできます。このツールを使って作成するデータ トランスフォーメーションは、データ トランスフォーメーション ファイルに保存されます。データ トランスフォーメーションが入っているデータ トランスフォーメーション ファイルは、コントロールとして構築されます。コントロールは、トランスフォーメーション メソッドをエクスポーズし、それをビジネス プロセスにより呼び出して異種のデータ型をマッピングします。
    1. トランスフォーメーション マップを作成するには、[トランスフォーメーション] オプションを選択します。
    2. ノード ビルダのトランスフォーメーション ペインにより、メソッドにより予想できるデータ型が [クライアントが送信する値] ペインに表示されます。

    3. [トランスフォーメーション] オプション ペインの [手順 1] で、[変数の選択] をクリックし、使用する 1 つまたは複数の変数を選択します。
    4. 注意 : ノード ビルダ ペインから変数を削除するには、このリストの変数を選択し、[削除] をクリックします。この操作により、ビジネス プロセスからではなく、ノード ビルダから変数が削除されます。変数は、まだビジネス プロセスに入っており、[データ パレット] の [変数] ペインに表示されます。

      ビジネス プロセスを設計する際、トランスフォーメーションを使用し、異種のデータ型の間のマップを作成します。トランスフォーメーション コントロールのインスタンスがプロジェクトにある場合は、そのインスタンスはマップの作成に使用されます。

    5. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できない場合は、[トランスフォーメーションの作成] をクリックし、XQuery Mapper ツールを呼び出し、新たなインスタンスを作成できます。この操作により、自動的に変更をビルダに適用し、トランスフォーメーション ツールを新しいウィンドウで開きます。
    6. トランスフォーメーション ツールにより、ソース スキーマおよびターゲット スキーマが [ソース] および [対象] ペインに表示されます。メソッド パラメータのデータ型および 1 つまたは複数の変数のデータ型の間のマップを作成し、それにデータを割り当てることができます。

      注意 : ノード ビルダに戻るには、[パッケージ・エクスプローラー] ペインで Process.java ファイルをダブルクリックします。
    7. トランスフォーメーション コントロールの適切なインスタンスがプロジェクトで利用できる場合は、[詳細...] をクリックします。[詳細オプション] ウィンドウが開きます。このウィンドウで、[コントロール] および [メソッド] を選択します。メソッド引数および戻り値型が [トランスフォーメーション] ペインで選択したものに一致する場合は、[OK] をクリックします。
    8. ノード ビルダを閉じるには、[閉じる] をクリックします。
    9. 注意 : ノード ビルダの [トランスフォーメーション] ペインで設計するコンフィグレーションの変更の詳細については、「ノード コンフィグレーションの編集について」を参照してください。

デザイン ビューで、サブスクリプション開始 (同期) ノード のチェック ボックス アイコンにより、このノードの作成およびコンフィグレーションを完了したことが表示されます。

  1. 作業内容を保存するには、[ファイルArrow symbol保管] を選択します。

関連トピック

サブスクリプションの開始 (非同期)

メッセージのクライアントへの送信

例外の処理

クライアント操作およびコントロール コミュニケーション メソッド

メッセージ ブローカ

イベント ジェネレータ

イベント選択の開始

ビジネス プロセスを複数のクライアント要求の 1 つまたは複数のサブスクリプションの 1 つを通じて呼び出す (イベント選択) ことを指定した場合 (「ビジネス プロセス用の開始メソッドを定義するには」を参照) には、開始ノードが図 3-7 のように表示されます。

図 3-7 Event Choice 開始ノード

Event Choice 開始ノード

デフォルトでは、Event Choice ノードが 2 つのブランチとともに作成されます。イベント選択開始ノード をクリックし、追加のブランチを作成します。新しいブランチが既存のブランチの左か右に追加されます。

Event Choice ノードのパスにノードを追加し、ビジネス プロセスの開始後に実行時でイベントの実行を指定できます。各ブランチの最初の開始イベント ターゲットは、これらの場所では特定のノードのみ許可されることを示します。ビジネス プロセスの開始ノードの Event Choice ノードを使用する場合、それには Client Request ノード、Client Request with Return ノードまたは Subscription ノードのみが含まれます。

注意 : ビジネス プロセスの開始ノード以外の場所に Event Choice ノードを作成した場合、Client Request ノードおよび Control Receive ノードが含まれます。Event Choice ノードの設計の詳細については、「複数イベントの受信」を参照してください。
Event Choice 開始ノードの設計を完了するには

Event Choice 開始ノードの各ブランチで実行されるイベントを指定するためには、ノードの各ブランチについて以下のタスクを完了します。

  1. [開始イベント] プレースホルダをダブルクリックし、ノード ビルダを呼び出して、図 3-8 を参照してください。
  2. 図 3-8 ノード ビルダ イベント


    ノード ビルダ イベント

  3. ノード ビルダから、このブランチが待機するイベントを選択します。
    • クライアント要求
    • 戻り値のあるクライアント要求
    • メッセージ ブローカ サブスクリプション
    • 同期的メッセージ ブローカ サブスクリプション
  4. [閉じる] をクリックします。
  5. [Event Choice] ブランチのドロップ ターゲットは、指定したイベントを反映するように変更されます。

  6. イベントの指定を完了するため、[Event Choice] ブランチの [イベント] ノードをダブルクリックし、関連するノード ビルダを呼び出します。
  7. 作業内容を保存するには、[ファイル Arrow symbol 保管] を選択します。

関連トピック

ビジネス プロセスのソース コード

例外の処理

メッセージ パスの追加

タイムアウト パスの追加

開始ノードの例外ハンドラ

開始ノードの例外パスを作成すると、ビジネス プロセスのグローバル例外ハンドラを作成できます。例外ハンドラのパス用のロジックを作成し、ビジネス プロセスにより例外が送出される場合の例外のフローを定義します。グローバル例外ハンドラは、ビジネス プロセスで処理されない例外に応答します。

開始ノードで例外ハンドラのパスを作成する方法については、「例外の処理」を参照してください。


  ページの先頭       前  次