メインコンテンツまでスキップ

ワークフロー開発の基礎

intra-martのワークフロー開発では、開発スタイルや目的によって3つの開発パターンがあることを説明してきました。どの開発パターンを採用するにしても実際に開発を進める前に、IM-Workflowの概要を知っておくことをおすすめします。

IM-BISやAccel Studioを利用する場合でも内部的にIM-Workflowと同じ仕組みが使われています。また、画面上や関連ドキュメントでも同じ用語が使用されています。このため、IM-Workflowの概要を理解しておくと、どの開発パターンを選択しても開発をスムーズに正しく進めることができます。

ワークフローを構成する3つの定義

IM-Workflowでは、ルート定義コンテンツ定義フロー定義の3つを組み合わせてひとつのワークフローを構成します。

この構成により、同じルート定義を複数のワークフローで再利用したり、異なるコンテンツ定義を差し替えて別の業務に転用したりできます。

構築の流れ

IM-Workflowでワークフローを構築する際の標準的な手順は以下のとおりです。

参考

分岐がないシンプルなワークフローであれば、コンテンツ定義でのルール設定は不要です。

ルート定義

ルート定義は、ワークフローの承認経路を視覚的に設計する機能です。「誰」が「どの順番」で処理するかの基本構造をここで決定します。

ノードの配置

ルート定義では、ノードと呼ばれるパーツを配置して承認経路を組み立てます。

ノードの種類説明
開始ノードワークフローの起点
終了ノードワークフローの終点
承認ノード承認処理を行うポイント
分岐ノード条件により経路を分ける
同期ノード並列処理の合流点

ノードを縦や横に配置することで、直線的なルートだけでなく、分岐や並列処理を含む複雑なルートも表現できます。

参考

分岐ノードを配置しても、この時点では分岐条件は設定しません。分岐条件はコンテンツ定義で指定します。

処理対象者の設定

各ノードに対して、処理を担当するユーザや組織を設定します。

設定方法説明用途
固定指定特定のユーザや組織を直接指定決まった担当者がいる場合
動的指定条件に応じて処理者を自動決定申請内容や金額で承認者を変える場合

動的指定を利用すると、申請者の所属部門の上長を自動的に承認者に設定するなど、柔軟な処理者決定が可能です。

コラム

ルート定義の詳細な設定方法については、以下のドキュメントを参照してください。

コンテンツ定義

コンテンツ定義は、ワークフローで利用する画面処理メッセージルールを指定する機能です。フロー定義で利用できるリソースをここで絞り込むことで、設定作業を効率化できます。

画面の設定

ワークフローの各場面で表示する画面を設定します。

画面種別説明
申請画面申請者が入力・申請する画面
承認画面承認者が内容を確認・承認する画面
参照画面案件の内容を参照するための画面

画面の作成方法は以下の3パターンがあります。

作成方法説明
スクリプト開発JavaScriptで画面を作成
JavaEE開発Javaで画面を作成
URL指定IM-BloomMakerなど外部で作成した画面のURLを指定
参考

IM-FormaDesignerで作成した画面は、IM-FormaDesigner側からIM-Workflowへの連携設定を行います。

処理の設定

ワークフローの各タイミングで実行する処理を設定します。

処理タイミング説明
案件開始時申請が行われたときに実行
ノード到達時処理がノードに到達したときに実行
処理完了時承認などの処理が完了したときに実行
分岐処理分岐ノードで経路を判定するときに実行

処理の実装方法は以下のとおりです。

実装方法説明
スクリプト開発JavaScriptで処理を実装
Java開発Javaで処理を実装
IM-LogicDesignerローコードで処理を実装

メッセージの設定

ワークフローの処理状況に応じて通知するメッセージを設定します。

通知タイミング説明
処理依頼次の処理者に承認依頼を通知
処理完了申請者に処理完了を通知
引戻し引戻しが行われたことを通知
差戻し差戻しが行われたことを通知

通知先は、IMBox、IM-Notice(intra-mart内の通知機能)、メールから選択できます。メッセージの内容は、事前にメッセージ定義で作成したものを選択します。

ルールの設定

分岐ノードで使用する分岐条件を設定します。

参考

ルールを設定するには、以下の準備が必要です。

  1. 案件プロパティの定義(分岐条件で参照する項目)
  2. ルール定義の作成(案件プロパティに対する条件式)

ルール定義では、案件プロパティに対して「〇〇以上」「〇〇と一致」などの条件を指定できます。

コラム

コンテンツ定義の詳細な設定方法については、以下のドキュメントを参照してください。

フロー定義

フロー定義は、ルート定義とコンテンツ定義を紐づけてワークフローを完成させる機能です。

基本設定

設定項目説明
ルート定義の選択使用する承認経路を選択
コンテンツ定義の選択使用する画面・処理のセットを選択
処理と画面の紐づけ各ノードに画面や処理を割り当て

その他の設定

フロー定義では、ワークフローの基本情報として以下の設定も行えます。

設定項目説明
参照者設定案件を参照できるユーザの設定
添付ファイルファイル添付の可否や制限の設定
一括処理複数案件の一括承認の可否
例外処理エラー発生時の挙動設定
コラム

フロー定義の詳細な設定方法については、以下のドキュメントを参照してください。

IM-BIS/Accel Studioを利用した開発

IM-BISやAccel Studioを利用する場合、ここまで説明したルート定義・コンテンツ定義・フロー定義は自動的に作成されます。

IM-BISの場合

IM-BISでワークフローを作成すると、内部的に3つの定義が自動生成されます。IM-FormaDesignerと連携することで、画面とデータテーブルがセットで作成され、ノンプログラミングでワークフローを構築できます。

基本的にはIM-BISの画面から編集することをおすすめしますが、ユーザプログラムの追加など一部の設定はIM-Workflow側の管理画面から行う必要があります。

Accel Studioの場合

Accel Studioでワークフローを作成すると、ルート定義・コンテンツ定義・フロー定義が1:1:1のセットで自動生成されます。独自のUIでワークフロー設定やユーザプログラムの反映が可能なため、IM-BISよりも複雑なワークフローを実現しやすい利点があります。

注意

Accel Studioで作成されたワークフローの各定義は、IM-Workflow側の管理画面から変更しないでください。Accel Studio側との整合性が失われ、正常に動作しなくなる可能性があります。