7.3.2. IM-BloomMakerを利用してプロセス定義メトリクスの一覧を作成する¶
このチュートリアルでは、IM-BPM REST API とIM-LogicDesignerとIM-BloomMakerを利用して、プロセス定義メトリクスの一覧を表示するページを作成します。
IM-LogicDesignerを利用してプロセス定義メトリクスデータの取得期間情報を取得します。
取得した期間情報元にIM-BPM REST APIのプロセス定義メトリクス取得のリクエストを送信して、プロセス定義メトリクスデータを取得します。
取得したデータをIM-BloomMakerのテーブルコンテナのエレメントで表示することにより、プロセス定義メトリクスデータを一覧で表します。
7.3.2.1. 本サンプルの確認方法¶
- 「本サンプルの構成資材」 の資材をそれぞれ組み込み/インポートしてください。
- 全ての資材のインポートが完了したのち、「サイトマップ」→「BloomMaker」→「ルーティング定義一覧」より「ルーティング定義一覧」画面へ遷移します。
- IM-BloomMakerのルーティング「【チュートリアル】bloom_maker_addon_process_monitoring_metrics」の「URL」に定義されたパスにアクセスすることで、IM-BloomMakerを使用して作成された「プロセスモニター」の画面が表示されます。
- 「プロセスモニター」画面では、IM-BPM REST APIを使用して取得された情報を閲覧できます。
- この画面は「IM-BPM管理者」、または「IM-BPMプロセス運用管理者」権限をもつユーザが参照できます。
7.3.2.2. 本サンプルの構成資材¶
IM-BloomMaker定義情報 IM-LogicDesigner定義情報
コラム
IM-BloomMaker定義情報のインポートについて
インポート手順は「IM-BloomMaker for Accel Platform ユーザ操作ガイド」-「定義ファイルをインポートする」を参照してください。
コラム
コラム
IM-Authz(認可) ポリシー - XML形式定義情報のインポートについて
インポート手順は「IM-Authz(認可)インポート・エクスポート仕様書」-「ポリシー - XML形式」を
パブリックストレージへのファイルの配置は「システム管理者操作ガイド」-「ファイル操作」を参照してください。
また、ジョブネット「認可(ポリシー)インポート」の実行時に実行パラメータfileを追加し、値に上記の認可ファイルのパブリックストレージ上のパスを指定してください。
または、パブリックストレージへの配置の際にファイル名をauthz-policy.xmlへリネームしてパブリックストレージのルート直下に配置し、ジョブを実行してください。
7.3.2.3. 本サンプルの使用方法¶
- サンプル資材をインポートします。
- IM-Authz(認可) ポリシー - XML形式定義情報をインポートする前にIM-BloomMaker定義情報とIM-LogicDesigner定義情報をインポートしてください。
{ベースURL}/bpm/tutorial/process/monitoring/metrics へアクセスし、サンプル画面を表示します。
管理対象のプロセス定義の全期間および過去30日の実行プロセス数、開始プロセス数、完了プロセス数、平均処理時間が一覧で表示されます。
7.3.2.4. IM-LogicDesigner定義情報(im_logicdesigner-im_logicdesigner-data-bloommaker_addon_process_monitoring_metrics.zip)の詳細¶
7.3.2.4.1. ロジックフロー(【チュートリアル】bloommaker_addon_process_monitoring_metrics-get_date_info)¶
画面に表示される一覧のうち、プロセス定義メトリクス取得に必要な過去30日の開始日時と終了日時を情報を、IM-LogicDesignerを使用して取得する方法を説明します。
プロセス定義メトリクス取得に必要な過去30日の範囲(開始日時と終了日時)を、IM-BPM REST APIのプロセス定義メトリクス取得のリクエストパラメータとして渡すことのできる形式で取得します。
このロジックフローの入出力設定は以下のように設定されています。
入力として過去日数を受け取ります。
出力はIM-BPM REST APIのプロセス定義メトリクス取得のリクエストパラメータである startTime と endTime へ渡せる状態に整形した日付データです。
入力
キー名 型 説明 lastDays <integer> 過去日数 出力
キー名 型 説明 startDateTime <string> ISO8601拡張形式で表現されたユーザタイムゾーンの検索開始日時 endDateTime <string> ISO8601拡張形式で表現されたユーザタイムゾーンの検索終了日時 図 : 「入出力設定」コラム
IM-BloomMakerのグラフエレメントについてIM-BloomMakerのグラフエレメントについての詳細は、「intra-mart Developer Site」-「IM-BloomMaker グラフエレメントの使い方(基本編)」を参照してください。
JavaScript定義の入力として、入力の過去日数とアカウントコンテキストのタイムゾーンを繋ぎます。
- JavaScript定義を使用して、検索期間を算出、ISO8601拡張形式で表現された開始日時と終了日時に日付文字列を生成します。
- 検索終了日時には現在日時を設定します。入力で過去日数を受け取っているため、現在日時から過去日数を減算して検索の開始日時を計算します。一例として、本サンプルでは以下のような処理で実現しています。
/** * run. * * @param input {Object} - task input data. * @param input.summaryEntity.timezone {string} - アカウントコンテキストから取得したユーザのタイムゾーン * @param input.summaryEntity.lastDays {string} - 過去日数 * @return {Object} task result. */ function run(input) { // 現在日時を取得する let nowDateTime = new DateTime(input.timezone); // 終了日時を算出する let endDateTime = new DateTime(input.timezone); // 開始日時を算出する let wkStartDateTime = new DateTime(nowDateTime.year, nowDateTime.monthOfYear, nowDateTime.dayOfMonth, 0, 0, 0, input.timezone); let startDateTime = wkStartDateTime.minusDays(input.lastDays).data; // 終了日時の文字列からGMTとの時差を取得する let endOffSetTime = endDateTime.toString().substr(endDateTime.toString().indexOf('GMT') + 3, 5); // 開始日時の文字列からGMTとの時差を取得する let startOffSetTime = startDateTime.toString().substr(startDateTime.toString().indexOf('GMT') + 3, 5); // ISO8601拡張形式に文字列で表現された終了日時を作成する let strEndDate = DateTimeFormatter.format('yyyy-MM-dd',endDateTime); let strEndTime = DateTimeFormatter.format('HH:mm:ss',endDateTime); let endDateTimeIso8601 = strEndDate + "T" + strEndTime + ".999" + endOffSetTime; // ISO8601拡張形式に文字列で表現された開始日時を作成する let strStartDate = DateTimeFormatter.format('yyyy-MM-dd',startDateTime); let strStartTime = DateTimeFormatter.format('HH:mm:ss',startDateTime); let startDateTimeIso8601 = strStartDate + "T" + strStartTime + ".000" + startOffSetTime; return { startDateTime: startDateTimeIso8601, endDateTime: endDateTimeIso8601 }; }
- JavaScript定義の結果を出力に繋ぎます。
- これで、入力として過去日数を受け取り、IM-BPM REST APIのプロセス定義メトリクス取得のリクエストパラメータとして使用する日付情報を取得するロジックフローが完成しました。
7.3.2.4.2. ルーティング定義¶
- ルーティング定義の作成。
- 作成したロジックフローをREST APIとして呼び出せるようにルーティング定義を作成します。
- 本サンプルではそれぞれのロジックフローに対し、以下のルーティングを設定しています。
- 【チュートリアル】bloommaker_addon_process_definition_graph-get_graph_data_process_instances_tasks: api/bpm/tutorial/process-summary-of-completed-activities-group-by-month
- 【チュートリアル】bloommaker_addon_process_definition_graph-get_graph_data_process_instances: api/bpm/tutorial/process-summary-of-completed-instances-group-by-month
- 作成した後に任意の認可を設定します。
- 本サンプルでは、「IM-BPM管理者」、「IM-BPMプロセス運用管理者」に対して「実行」権限を付与しています。
以上でIM-BloomMakerからロジックフローを呼び出す準備が完了しました。
コラム
ルーティングの認可設定の詳細は「IM-LogicDesigner ユーザ操作ガイド」-「フロールーティングの認可設定」を参照してください。
7.3.2.5. IM-BloomMaker定義情報(im_bloommaker-data-bloommaker_addon_process_definition_graph.zip)の詳細¶
7.3.2.5.1. コンテンツ定義¶
IM-LogicDesignerで作成したREST APIを利用して、プロセス定義メトリクスの一覧を表示する画面を作成します。
画面を作成する上でのポイントは以下の点です
- アクションでIM-LogicDesignerで作成したAPIを使用して|im_bpm_rest_api|のプロセス定義メトリクス取得のリクエストパラメータで使用する日付情報を取得する。
- アクションでIM-BPM REST APIのプロセス定義メトリクス取得APIを使用して一覧表示用のデータを取得する。
- 取得してきたデータを一覧表示用に加工してテーブルコンテナのエレメントへマッピングする。
- ページを開いたタイミングで、データを取得し描画する。
- アクションでIM-LogicDesignerで作成したAPIを使用してグラフ表示用のデータを取得する。
- アクションエディタにて、アクションアイテム URL「」にリクエストを送信する を使用してデータを取得します。
コラム
アクションの設定に関する詳細は「IM-BloomMaker for Accel Platform ユーザ操作ガイド」 - 「アクションを設定する」を参照してください。
- アクションでIM-BPM REST APIのプロセス定義メトリクス取得APIを使用して一覧表示用のデータを取得する。
- アクションエディタにて、アクションアイテム URL「」にリクエストを送信する を使用してデータを取得します。
- 取得してきたデータを一覧表示用に加工します。
- 取得してきたデータのままだと、平均処理時間の単位がミリ秒のため時間単位に加工します。アクションアイテム URL「」にリクエストを送信する の下に カスタムスクリプトを実行する を配置します。
- 加工したデータをテーブルコンテナのエレメントへマッピングする。
- 「繰り返し(imds)」に分類されるエレメントの一覧から、「テーブルコンテナ」を設置して、加工したデータをマッピングします。
コラム
IM-BloomMakerのテーブルエレメントの使い方については、下記の記事も併せて参照してください。- IM-BloomMaker「繰り返しエレメントでの変数の使い方」の詳細については「intra-mart Developer Site」-「IM-BloomMaker 繰り返しエレメントでの変数の使い方」を参照してください。
- IM-BloomMaker「カスタムスクリプト内で $im.resolve を使った一覧画面の作成」の詳細については「intra-mart Developer Site」-「IM-BloomMaker のカスタムスクリプト内で $im.resolve を使った一覧画面の作成」を参照してください。
- ページを開いたタイミングで、データを取得し描画する。
- 作成したアクションを アクション「」を実行する を利用してひとまとめにしたアクションを作成します。
- 「コンテナ」を選択した状態で、プロパティの「ページ読み込み時」の項目で作成したアクションを指定します。
7.3.2.5.2. ルーティング定義¶
- コンテンツ定義で作成した画面にアクセスをするために、ルーティング定義を作成します。
- ルーティング定義を作成する際のURLは、コンテンツ定義の入力値に渡すプロセス定義を含めた動的URLとする必要があります。
コラム
ルーティングの登録に関する詳細は「IM-BloomMaker for Accel Platform ユーザ操作ガイド」 - 「ルーティングを新規登録する」を参照してください。
- ルーティング定義に認可を設定する。
- 作成したルーティングにアクセスするためには、適切な認可の設定が必要です。本サンプルでは、「IM-BPM管理者」、「IM-BPMプロセス運用管理者」に対して「参照」権限を付与しています。
コラム
ルーティングの認可設定の詳細は「IM-BloomMaker for Accel Platform チュートリアルガイド」-「ルーティングの認可を設定する」を参照してください。


