Thursday, July 25, 2013

Activiti BPM Platformことはじめ3(Activiti Modelerの使い方)

こんにちは。おおたにです。

最近手足口病が流行っていますが、うちの娘も例にもれず手足口病に罹患しました。去年罹患した際はほとんど発疹が出なかったのですが、今年はひどく、お腹/背中を除くほぼ全体に発疹が出ました(手足口以外にも発疹が出るのが今年の特徴らしいです)。大人も感染・発症する可能性があるらしいので、みなさんも気を付けてください。

さて、今回はActiviti Modelerについて紹介しようと思います。Activiti Modelerはブラウザベースのプロセス定義ツールで、Activiti 5.11でActivitiに統合されました。以前はSignavioが提供するActiviti Modelerが利用可能でしたが、現在はKIS BPMのオープンソース版が統合されています。
なお、Activitiのインストール方法、Activiti Explorerの使い方については「Activiti BPM Platformことはじめ(インストール方法とか)」「Activiti BPM Platformことはじめ2(Activiti Explorerの使い方とか)」あたりを参考にしてみてください。

(2014/06/20追記) 「Activiti BPM Platformことはじめ4(レポートを追加してみよう)」 を公開しました。


まずはじめに


予め話しておくと、個人的には実際のプロジェクトでActiviti Modelerを使ったことはありません。プロセス定義ツールとしては、Activiti ModelerのほかにActiviti Eclipse BPMN 2.0 Designer(Eclipseのプラグイン)が使えますが、いつも後者を利用しています。理由としては、以下のとおりです。
  • 大体のプロジェクトではJavaでの実装と絡むことが多いので、Eclipseであれば1ツール(1IDEか)で開発が行える
  • 両ツールのcapabilityを比較したことが無い(ただの怠慢です)。が、Designerの方が以前から開発・メンテナンスされていることから考えると、現時点ではこちらの方が有用だろうと考えている(ただの推測ですすいません…)
  • 実際にエンドユーザに利用してもらうものと捉えると有用に思えるが、BPMN2.0でプロセス定義->即利用、という流れが実際の現場では考えにくい(ワークフロー定義の形については定義しうるが、それに付随するビジネスロジックのキック等を考えるとそこまで含めての実装は現場レベルでは難しい)
ただ、てっとり早くプロセス定義を行ってActivitiを試してみたい、というような用途であれば、わざわざEclipseの開発環境を整える必要もないため、Activiti Modelerを利用する意義があるのではないかと思います。


早速使ってみよう


では、早速使ってみましょう。Activiti Explorer上で新しいプロセスを定義し、デプロイして実際に使ってみるところまでを見ていきます。

1. Activiti Explorerにユーザkermitでアクセスし、プロセス画面に移動して「Model workspace」をクリックします。編集可能なモデルが表示されるので、ここで「New model」をクリックします。

2. モデル名を入力し、編集方法として「Activiti Modeler」を選択して、「Create」をクリックします。(「Table-driven definition」を選択すると、Activiti Kickstartというツールを利用した簡易プロセス定義を行えます。5.12でActiviti Explorerに統合されました)。



3. Activiti Modelerが起動するので、画面右側の展開アイコンをクリックし、プロセス名、プロセスIDを入力します(プロセスIDについてはスペースを含めないようにしてください。デプロイに失敗します)。


4. 続いて、画面左側のツールボックスから必要な部品をD&Dして接続します。今回は簡単な1ステップ承認ワークフローを作ってみましょう。Start event、User task、End eventを以下の図のように接続し、User taskのプロパティを以下のように設定します(やはりIdにはスペースが入らないようにしてください)。Assignmentsは、Value欄の右端の「...」をクリックし、ダイアログ上で設定します。今回はmanagementグループがアサイン候補となるように設定しています。

5. 設定が終わったら、画面左上の保存アイコンをクリックします。確認ダイアログが表示されますが、そのまま保存を行います。


6. 保存に成功すると、Model workspaceに先ほど作成したモデルが追加されます。このモデルをデプロイするには、画面右上のModel actionから「Deploy」を選択します。


7. デプロイに成功すると、以下のように管理画面のDeploymentsに遷移し、作成したモデルがデプロイされていることが確認できます(デプロイに失敗すると、その旨が赤枠のポップアップで表示されます)。

8. 続いて、実際にこのプロセス定義を使って動作を確認してみましょう。以下の画面からプロセス定義名(ここでは「test procecss1」)をクリックします。


9. プロセス定義一覧に遷移するので、このプロセス定義を選択して「Start process」をクリックします。正しく開始できると、その旨がポップアップ表示されます(エラーの場合は赤枠のポップアップが表示されます)


10. タスク画面のQueued→Managementにタスクが1件追加されていることを確認します。これをClaimし、Complete taskすると正常にプロセスが完了すると思います。完了したら管理画面のAdministration→Completed process instancesを確認してみてください。


以上がActiviti Modelerを使ったプロセス定義・テストのとても基本的な流れです。
興味のある方は是非このActiviti Modelerを試してみてくださいね!

No comments: