IM-BPM for Accel Platform IM-BPM チュートリアルガイド 第18版 2021-04-01

4.3.18.4. IM-LogicDesignerタスクを利用してメッセージを送信する際に指定するエグゼキューションを取得する

このチュートリアルでは、「IM-LogicDesignerタスク」を利用して「プロセス定義キー」と「メッセージ名」をロジックフローに渡し、それに合致するエグゼキューションを取得したあとに確認のためログを出力する方法を解説します。

コラム

このチュートリアルで作成するプロセス定義のサンプルを以下のリンクからダウンロードできます。

このサンプルは「プロセス定義アップロード」機能でプロジェクトにアップロードできます。
アップロード手順は「IM-BPM プロセスデザイナ 操作ガイド」-「プロセス定義のアップロード」を参照してください。

コラム

このチュートリアルで作成するロジックフロー定義のサンプルを以下のリンクからダウンロードできます。

インポート手順は ロジックフロー: 「IM-LogicDesigner ユーザ操作ガイド」-「インポート/エクスポート」を参照してください。

4.3.18.4.1. エレメントを配置する

../../../../_images/logicdesigner_task_0301.png
図:完成イメージ
  1. プールを2つ(エグゼキューションを取得するプロセスと、メッセージキャッチイベントを配置するプロセス)配置します。
  2. エグゼキューションを取得するプロセスには開始イベント、IM-LogicDesignerタスク、終了イベントを配置して、順にシーケンスフローで接続します。
  3. メッセージキャッチイベントを配置するプロセスには開始イベント、パラレルゲートウェイ、メッセージキャッチイベントを2つ、パラレルゲートウェイ 、終了イベントを配置して、順にシーケンスフローで接続します。

4.3.18.4.2. プロセスのプロパティを設定する

../../../../_images/logicdesigner_task_0302.png
図 : 「プロパティ」 - 「メッセージ&シグナル」
  1. プロセスのプロパティで「メッセージ&シグナル」タブを開きます。

  2. 「メッセージ」に以下の値を追加します。

    ID 名前
    message-sample1 message-sample1
    message-sample2 message-sample2

4.3.18.4.3. プール(エグゼキューションを取得するプロセス)のプロパティを設定する

../../../../_images/logicdesigner_task_0303.png
図 : 「プール」 - 「プロパティ」 - 「プロセス」
  1. プールのプロパティで「プロセス」タブを開きます。
  2. エグゼキューションを取得するプロセスの「プロセス定義キー」に im_logicdesigner_task_execution_sample-get_execution を入力します。
  3. エグゼキューションを取得するプロセスの「名前」に エグゼキューションを取得するプロセス を入力します。
  4. 「処理対象ユーザ」に aoyagi を入力します。

4.3.18.4.4. プール(メッセージキャッチのプロセス)のプロパティを設定する

../../../../_images/logicdesigner_task_0304.png
図 : 「プール」 - 「プロパティ」 - 「プロセス」
  1. プールのプロパティで「プロセス」タブを開きます。
  2. 「プロセス定義キー」に im_logicdesigner_task_execution_sample-message_catch_process を入力します。
  3. 「名前」に メッセージキャッチのプロセス を入力します。
  4. 「処理対象ユーザ」に aoyagi を入力します。

4.3.18.4.5. メッセージキャッチイベントのプロパティを設定する

../../../../_images/logicdesigner_task_0305.png
図 : 「メッセージキャッチイベント」 - 「プロパティ」 - 「メインコンフィグ」
  1. メッセージキャッチイベントのプロパティで「メインコンフィグ」タブを開きます。
  2. 「メッセージキャッチイベント1」の「参照メッセージ」に message-sample1 を設定します。
  3. 「メッセージキャッチイベント2」の「参照メッセージ」に message-sample2 を設定します。

4.3.18.4.6. IM-LogicDesignerタスクのプロパティを設定する

../../../../_images/logicdesigner_task_0306.png
図 : 「IM-LogicDesignerタスク」 - 「プロパティ」 - 「メインコンフィグ」
  1. IM-LogicDesignerタスクのプロパティで「メインコンフィグ」タブを開きます。

  2. 「フローID」に logicdesigner_task_execution_usage を入力します。

  3. 「利用するバージョン」で 最新バージョンを利用 を選択します。

  4. 「入力データ」に以下の値を追加します。
    名前
    processDefinitionKey im_logicdesigner_task_execution_sample-message_catch_process
    messageName message-sample1,message-sample2

4.3.18.4.7. ロジックフロー定義を作成する

  1. 「開始タスク」、「変数操作タスク」、「繰り返し開始タスク」、「エグゼキューション検索タスク」、「繰り返し開始タスク」、「ログ出力タスク」、「繰り返し終了タスク」、「繰り返し終了タスク」、「終了タスク」を配置し、順に接続します。
    ../../../../_images/logicdesigner_task_0307.png
    図:ロジックフロー
  2. 入出力設定ダイアログを開き、入力に以下の値を追加します。
    キー名
    processDefinitionKey <string>
    messageName <string>
    ../../../../_images/logicdesigner_task_0308.png
    図:「入出力設定」
  3. 変数設定ダイアログを開き、以下の値を追加します。
    キー名
    messageNames <string[]>
    ../../../../_images/logicdesigner_task_0309.png
    図:「変数設定」
  4. 定数設定ダイアログを開き、以下の値を設定します。
    定数ID 定数値
    colon :
    comma ,
    ../../../../_images/logicdesigner_task_0310.png
    図:「定数設定」
  5. 変数操作タスクのマッピング設定を開き以下をマッピングします。
    入力(始点) 出力(終点)
    入力<object> - messageName<string> split : value
    定数<object> - comma<string> split : sep
    split : out messageNames<string[]>
    ../../../../_images/logicdesigner_task_0311.png
    図:「変数操作タスク」 - 「マッピング設定」
  6. 繰り返し開始タスク1の繰り返し対象プロパティに、 $variable/messageNames を設定します。

  7. エグゼキューション検索タスクのマッピング設定を開き以下をマッピングします。
    入力(始点) 出力(終点)
    入力<object> - processDefinitionKey<string> im_bpmQueryExecutions1<object> - processDefinitionKey<string>
    im_startLoop1<object> - item<string> im_bpmQueryExecutions1<object> - messageEventSubscriptionName<string>
    ../../../../_images/logicdesigner_task_0312.png
    図:「エグゼキューション検索タスク」 - 「マッピング設定」
  8. 繰り返し開始タスク2の繰り返し対象プロパティに、 im_bpmQueryExecutions1/queryExecutionsResults を設定します。

  9. ログ出力タスクのマッピング設定を開き以下をマッピングします。
    入力(始点) 出力(終点)
    定数<object> - colon<string> concat : b
    im_startLoop2<object> - item<object> - activityId<string> concat : a
    concat : out concat : a
    im_startLoop2<object> - item<object> - id<string> concat : b
    concat : out im_logger<string>
    ../../../../_images/logicdesigner_task_0313.png
    図:「ログ出力タスク」 - 「マッピング設定」
  10. 新規保存ボタンをクリックし、以下を設定しロジックフローを保存します。

    • フロー定義ID : logicdesigner_task_execution_usage

    • フロー定義名 : 【チュートリアル】logicdesigner_task_execution_usage

    • フローカテゴリ :

      • ID : im_logicdesigner-data
      • 名称 : BPMチュートリアル

コラム

4.3.18.4.8. 実行と実行結果を確認する

このチュートリアルで作成したプロセス定義を実行環境にデプロイし実行します。また、実行した結果の確認を行います。
  1. 「プロセス開始一覧」画面にて、プロセス定義名 メッセージキャッチのプロセス を開始します。

  2. 「プロセス開始一覧」画面にて、プロセス定義名 エグゼキューションを取得するプロセス を開始します。

  3. ログに以下のようにエグゼキューションIDが2つ出力されていることを確認します。
    ../../../../_images/logicdesigner_task_0314.png
    図:ログ出力イメージ

コラム