チュートリアル : 初めてのビジネス プロセス設計

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

手順 6 : ビジネス プロセスの呼び出し

プロセス コントロールは、Java/RMI を使用して同じドメイン内の他のビジネス プロセスに要求を送信したり、そのビジネス プロセスから応答を受信したりするために使用されます。このシナリオは、親ビジネス プロセスからサブプロセスを呼び出すという、プロセス コントロールの一般的な使用例を示しています。

チュートリアルのこのパートでは、前のパートで作成したビジネス プロセスの設計を変更して、前に使用した税計算 Web サービスの代わりに、ビジネス プロセスで提供される税計算サービスを使用するようにします。これを行うには、まず税計算ビジネス プロセスからプロセス コントロールを作成します。その後で、コントロール ノードを変更して、ノードが Web サービス コントロールを介して税計算 Web サービスと通信するのではなく、新しいプロセス コントロールを介して税計算ビジネス プロセスと通信するようにします。

この手順でのタスクは次のとおりです。

 


税計算プロセス用のプロセス コントロールの作成

  1. [パッケージ・エクスプローラー] ビューで、RequestQuote.java を開きます。
  2. [データ パレット] ビューが表示されていない場合は、[ウィンドウ|ビューの表示|データ パレット] を選択します。
  3. プロジェクトですでに使用可能なコントロールのインスタンスが、[データ パレット] ビューの [コントロール] フォルダ内に表示されます。

  4. [コントロール] フォルダを選択し、メッセージ ログ をクリックして、ビジネス プロセスが対話できるリソースを表すコントロールのドロップダウン リストを表示します。
  5. [Integration コントロール|プロセス] を選択します。
  6. [コントロールの挿入 - プロセス] ダイアログ ボックスが表示されます。

  7. [フィールド名] フィールドに、作成するプロセス コントロールのインスタンス名として taxCalcProcess を入力し、[次へ] をクリックします。
  8. [コントロールの作成] ダイアログ ボックスの [名前] フィールドに TaxCalculationProcess と入力し、[次へ] をクリックします。
  9. [コントロールの挿入 - プロセス] ダイアログ ボックスで [参照] をクリックし、/Tutorial_Process_Application_Web/src/requestquote.services/TaxCalcProcess.java を選択します。
  10. この Java ファイルは、RFQ の消費税を計算する単純なビジネス プロセスです。

    TaxCalcProcess.java (requestTaxRate) の開始メソッドが [開始メソッド] フィールドに表示されます。

  11. [終了] をクリックします。
  12. プロセス コントロール (TaxCalcControl.java) が作成され、[パッケージ・エクスプローラー] ビューに表示されます。コントロールのインスタンス (taxCalcProcess) が [データ パレット] に追加されます。[データ パレット] ビュー内の [コントロール] 領域は、以下の図のように表示されます。

    図 7-1 [データ パレット] 内のコントロール


    [データ パレット] 内のコントロール

 


プロセス コントロールと対話するためのコントロール送信ノードの変更

  1. [データ パレット] で、[コントロール] フォルダ下の [taxCalcProcess] の横にある [+] をクリックして、コントロールのメソッドのリストを展開します。
  2. [void requestTaxRate (QuoteRequestDocument quoteRequest)] メソッドを [データ パレット] から [デザイン] ビューにドラッグし、RequestQuote.java プロセスの [requestTaxRate] ノード上にドロップします。
  3. 以下のメッセージが表示されます。

    このコントロール ノードは、すでにコントロール メソッドに関連付けられています。このコントロール メソッドを置換しますか ?

  4. [OK] をクリックします。
  5. [requestTaxRate] ノードは、関連付けられているコントロールのタイプを反映するように変更されます。ノードは以下のように変更されます。

    図 7-2 コントロールの関連付け後におけるノードの変化


    コントロールの関連付け後におけるノードの変化

  6. [requestTaxRate] ノードをダブルクリックし、そのノード ビルダを開きます。
  7. [一般的な設定] タブの [コントロール] フィールドで [taxCalcProcess] が選択され、[メソッド] フィールドで以下のメソッドが選択されていることを確認します。
  8. void requestTaxRate (QuoteRequestDocument quoteRequest)
  9. [データの送信] タブを選択します。
  10. デフォルトで [変数の割り当て] オプションが選択され、[コントロールが予期する値] フィールドには QuoteRequestDocument quoteRequest と表示されて、税計算プロセスで必要なメッセージのフォーマットと型が示されます。

    注意 : 税計算プロセスでは、XML 型のメッセージ QuoteRequestDocument が必要です。これは、クライアントから RequestQuote.java プロセスに送られる XML メッセージが割り当てられている requestXML 変数と同じ型になります。「手順 4 : Web サービスの呼び出し」で税計算 Web サービスにデータを送信するシナリオとは異なり、このノードではトランスフォーメーションが不要です。変数の直接割り当てを作成できます。
  11. [割り当てる変数を選択します] フィールドで [requestXML(QuoteRequest)] を選択します。
  12. [閉じる] をクリックします。
  13. この手順で、ビジネス プロセスを変更して、税計算 Web サービスの代わりに税計算ビジネス プロセスを呼び出すようにする処理が完了します。

 


プロセス コントロールと対話するためのコントロール受信ノードの変更

  1. [データ パレット] で、[コントロール] フォルダ下の [taxCalcProcess] の横にある [+] をクリックして、コントロールのメソッドのリストを展開します。
  2. [void returnTaxRate(float salesTaxRate)] メソッドを [データ パレット] から [デザイン] ビューにドラッグし、RequestQuote.java プロセスの [returnTaxRate] ノード上にドロップします。
  3. 以下のメッセージが表示されます。

    このコントロール ノードは、すでにコントロール メソッドに関連付けられています。このコントロール メソッドを置換しますか ?

  4. [OK] をクリックします。
  5. [returnTaxRate] ノードが、関連付けられているコントロールのタイプを反映するように変更されます。

  6. [returnTaxRate] ノードをダブルクリックします。
  7. [一般的な設定] タブの [コントロール] フィールドで [taxCalcProcess] が選択され、[メソッド] フィールドで以下のメソッドが選択されていることを確認します。
  8. void returnTaxRate(float salesTaxRate)
  9. [データの受信] タブを選択します。
  10. デフォルトで [変数の割り当て] オプションが選択され、[コントロールが返す値] フィールドには float salesTaxRate と表示されて、税計算プロセスから返されるパラメータの型と名前が示されます。

  11. [割り当てる変数を選択します] フィールドで、[taxRate (float)] を選択します。
  12. [閉じる] をクリックします。
  13. この手順で、コールバック ハンドラを変更し、メッセージを税計算 Web サービスからではなく、税計算ビジネス プロセスから受け取るようにする処理が完了します。

  14. WorkSpace Studio のメニューから、[ファイルArrow symbolすべて保管] を選択します。

 


見積り要求プロセスのテスト

この時点で前のパートでビジネス プロセスをテストしたのと同じ方法で、別のビジネス プロセスへの非同期呼び出しをもつビジネス プロセスを実行およびテストすることができます。「手順 5 : ビジネス プロセスの実行」の手順 1 ~ 7 を実行します。

[テスト フォーム] ページで操作を開始すると、[メッセージ ログ] の内容が更新されて、税計算ビジネス プロセスへの呼び出しと税計算ビジネス プロセスからの応答の概要が表示されます。

図 7-3 [メッセージ ログ]

[メッセージ ログ]

ビジネス プロセスのメソッドに対応する [メッセージ ログ] のエントリは次のとおりです。


  ページの先頭       前  次