ワークフロー最終更新日: 2021年3月1日
R8 | R9

はじめに

ワークフローを設定したモデルは、登録したデータについて「申請」「承認」「決裁」といったイベントを管理することができるようになります。Wagbyのワークフローの概念を図1に示します。

図1 Wagbyワークフローの全体イメージ
ルート
ワークフローは申請ではじまり決裁で終了します。この一連の経路をルートと呼びます。
ノード
ワークフローのルートにおける、それぞれの承認ポイントです。もっともシンプルな「申請->承認」というルートは「順次, 順次」の2ノード構成となります。
フローパターン
ワークフローの流れを指します。例えば「順次, 順次」の 2 ノードの場合、二人が承認すれば良い、という流れを意味します。 標準のフローパターン以外にも、自由に定義することができます。[詳細...]
フロー参加者
ワークフローの各ノードにおける承認者を指定します。承認者はユーザ、グループを指定することができます。スクリプトを使ってグループ階層や権限を使って表現することもできます。[詳細...]
代理者
承認者は、任意のタイミングで自分の代理者を設定することができます。[詳細...]
フローイベント
ワークフローのイベントは、定義したモデルとは別に管理されています。ワークフローの進行とともに、イベントが記録されていきます。[詳細...]

設定手順

ワークフローは次の手順で設定します。

図2 Wagbyワークフローの設定イメージ

Wagby のモデル定義で「(このモデルの)ワークフローを有効にする」に「○」をつけてビルドします。
これ以降、ワークフローの動作に関する設定は、すべてビルドされた Web アプリケーションで行います。

内容

(1) モデルにワークフロー定義を行う
Wagby 定義ファイルにワークフローを設定する方法を説明します。サンプルとして「年休申請」モデルを用意してみます。
(2) フローパターンの設定を行う
Wagby では標準的なフローパターンが用意されています。「順次」処理と「合議」処理を組み合わせた独自のフローを設計することもできます。
(3) フローの参加者を設定する
フロー定義に参加者を設定します。参加者は Wagby のログオンアカウント(juser)またはグループ(jgroup)を指定します。スクリプトを使ってフロー参加者を動的に変更することもできます。
(4) モデルにワークフロー定義を設定する
ワークフローを利用するモデルと、ワークフロー定義を結びつけます。
(5) ワークフローを開始する
Wagby の通常の操作に従ってモデルの新規作成を行います。すると画面の下部にワークフローの動作を示すナビゲーション情報が表示されます。
(6) 処理者に電子印影を用いる
ワークフローの処理者欄に電子印影を用いる方法を紹介します。
(7) メールを送信する [1] 設定
ワークフローイベント時にメールを送信することができます。ここではメール送信先を自動設定できるよう、モデルにいくつかの項目を加える方法を説明します。
(8) メールを送信する [2] 実行
「申請」「承認」「差し戻し」などのイベント発生時にメールを送信する例を確認します。
(9) メールを送信する [3] 自動通知
未決裁のフローについて、フローを止めている担当者へ督促メールを送ることができます。
(10) 代理承認
代理承認機能を使うと、ワークフローの承認者を実行時に変更することができます。
(11) 申請したワークフローの状態を確認する
「開始フロー状態」を検索することで、自分が申請したワークフローが現在、誰の承認待ちになっているかを知ることができます。
(12) 承認すべきワークフローを確認する
「保留フロー状態」を検索することで、自分が承認すべきワークフローを調べることができます。一括承認を行うこともできます。
(13) モデルのワークフロー状態で検索する
ワークフローの状態でモデルのデータを検索することができます。
(14) 条件によってフローを制御する
条件によって「次はどのフローを処理するか」を指定することができます。
(15) 条件によって申請フローを絞込む
ワークフロー開始時、条件に合致した申請フローを絞込むことができます。
(16) 任意のノードに決裁ボタンを用意する
条件に応じて決裁ボタンを表示します。ノードの途中でもフローを決裁させることができます。
(17) グループ階層とプリンシパルを利用したワークフローの制御
グループ階層とプリンシパルを利用したワークフローの制御について説明します。中規模以上の組織での運用を支援します。
(18) フローイベントスクリプトを用意する
ワークフローの動作(ノードとイベントの組み合わせ)に応じたスクリプトを実行することができます。
(19) スクリプトからワークフローを操作する
スクリプトから直接、ワークフローの申請処理を行う方法を説明します。
(20) [運用] ワークフローを手動で取り消す
ワークフローのイベント情報を削除し、フローを取り消す方法を説明します。
(21) [応用] ワークフロー決裁後に、フローイベントをリセットして再申請させる
オリジナルボタン押下でワークフローのイベント情報を自動削除し、再申請できるようにする方法を説明します。
(22) [応用] ワークフロー差し戻し後の再申請処理で、一度承認した人をスキップして承認待ちの方へ進める
ワークフロー差し戻し後の再申請処理で、一度承認した人をスキップして承認待ちの方へ進める方法を説明します。

特徴

Wagbyのワークフローの特徴は、業務データの登録・更新と、ワークフローの操作が一つのトランザクションとして管理していることです。

業務データの管理処理とは別に、外部のワークフローエンジンを組み合わせるアプローチでは、両者のデータ更新を一つのトランザクションとして管理することができません。そのため一方が成功して他方が失敗したというミスマッチの状態を完全になくすことは難しいといえます。Wagby のワークフローはモデルのトランザクション処理内で実行されるため、この問題がありません。

仕様・制約

参考情報