iDempiere(アイデンピエレ)のワークフロー管理

 オープンソースのERP iDempiere(アイデンピエレ)には、とても強力なワークフローエンジンを搭載しています。トランザクションデータだけでなく、マスタデータを含むiDempiere内のほとんどのデータに対してワークフローを構築する事ができます。ここでは、iDempiereのワークフローの機能について調査及び研究し、その成果をまとめています。

iDempiereのワークフローの概要

 iDempiereのワークフローは、画面の操作順序を示す「一般ワークフロー(General Workflow)」と伝票ステータス更新(Document Action)の際に呼び出される「ドキュメントプロセスワークフロー(Document Process Workflow)」、そしてデータの保存処理時にあらかじめ設定してある条件に合致した場合に呼び出される「ドキュメントバリューワークフロー(Document Value Workflow)」の3種類があります。

  「一般ワークフロー」では、iDempiereの画面の操作順序をフローとしてビジュアルに表示する事ができます。複数の画面をまたがって行う業務処理において、「一般ワークフロー」を構築しておくことで、ユーザーが画面の操作順序を間違えないようにサポートする事ができます。

一般ワークフローイメージ
一般ワークフローイメージ

  「ドキュメントプロセスワークフロー」は「伝票ステータス更新(Document Action)」処理の際に呼び出され、いわゆる承認ワークフローとして使用する事ができます。しかし、ドキュメントプロセスワークフローの活用方法は承認ワークフローだけではありません。ドキュメントプロセスワークフローは、伝票ステータス更新の際に、プロセス(バッチ処理)を実行したり、伝票のあるフィールド(項目)に値を自動で設定したり、メールを送信するなど、色々な処理を一連のワークフローとして行う事ができます。ドキュメントプロセスワークフローの仕様をすべて理解するのは大変ですが、理解できれば複雑なワークフローもノンプログラミングで構築できるようになります。

ドキュメントプロセスワークフローイメージ
ドキュメントプロセスワークフローイメージ

  「ドキュメントバリューワークフロー」はデータがあらかじめ設定してある条件に合致した時に呼び出されるワークフローです。「ドキュメントプロセスワークフロー」が伝票ステータス更新の際に呼び出されるのに対して、ドキュメントバリューワークフローはデータの保存処理時に呼び出されます。呼出のタイミングの違い以外は、同じワークフローエンジンで処理されますので、ドキュメントプロセスワークフローとほぼ同じ事ができます。

 「ドキュメントプロセスワークフロー」は、基本的に「伝票(Document)」で使用する事を想定したワークフローですが、「ドキュメントバリューワークフロー」は伝票(トランザクションデータ)はもちろんのこと、マスタデータなどでも使用する事ができるワークフローです。「ドキュメントバリューワークフロー」はその名前に”ドキュメント”と入っていますが、その利用範囲はトランザクションデータにとどまりません。マスタデータの承認ワークフローとして利用したり、データの状態を監視し、アラート(警告)メールを送信したりするなどアイディア次第でその利用範囲は広がります。

iDempiereのワークフローの特長

ワークフローのデータと業務データの一元管理

 ワークフロー専用のシステムではできない、業務データとワークフローのデータを一元管理できる事がiDempiereのワークフローの大きな魅力であり、特長の1つです。

 

ワークフローの中に業務プロセスを組み込む事ができる

 iDempiereのワークフローはいわゆる承認ワークフローにとどまらず、途中でプロセス(バッチ処理)を実行したり、あるカラム(項目)に値を代入するなどの業務プロセスを組み込む事ができます。

iDempiere内のほとんどのデータにワークフローを構築する事ができる

 iDempiereのワークフローエンジンはモデルクラスがあればワークフローを構築する事ができるので、ほとんどのデータに対してワークフローを構築する事ができます。

 

アイディアと工夫次第で広がる利用範囲

 ドキュメントバリューワークフローは、データの更新処理完了後(モデルクラスのafterSave()メソッドの終了後)に、更新されたデータがあらかじめ設定している条件に合致するかどうか確認し、条件に合致すればワークフローが呼び出されます。例えば異常なデータが登録された場合にメールで通知するなどアラート機能としても使用する事ができます。

 アイディアと工夫次第でiDempiereのワークフローは幅広く活用する事ができます。

ワークフロー管理メニュー

ワークフロー管理は主に以下のメニューから構成されています。

Icon mOpen.png  ワークフロー管理(Workflow)

Icon mWindow.png ワークフロープロセス(Workflow Process)

Icon mWindow.png 未処理WFアクティビティ(Workflow Activities)

Icon mWindow.png 全てのWFアクティビティ(Workflow Activities(all))

Icon mOpen.png ワークフロー設定

Icon mWindow.png ワークフロー設定(Workflow) ※非公開コンテンツ

Icon mWindow.png ワークフロー責任者(Workflow Responsible) ※非公開コンテンツ

Icon mWindow.png ワークフローエディタ(Workflow Editor)

Icon mProcess.png システムクライアントでカスタマイズしたWF設定を現在のクライアントに反映(Workflow to Client)

※このメニューはiDempiereに設定されているベースメニューをわかりやすいように再構成しています。

ワークフロー管理に関係するJPiereジェイピエール)のカスタマイズ一覧