jbpm5 で Hello World その1 インストール&Eclipseデモ

jBPM5、なかなかきてる感じです。とりあえず触ってみよう。

公式のチュートリアルと同じ内容やります。
http://docs.jboss.org/jbpm/v5.2/userguide/ch03.html

まずはインストール&Eclipse実行

ant install.demo
    • これはJBossAS/Guvnor/Eclipse全てのセットアップをしてくれます。Eclipse のダウンロードも含むのでかなり時間がかかってしまいますが、完全にクリーンな環境でデモを始めるならこれがいいでしょう。eclipseのセットアップを自分でやるのであれば ant install.demo.noeclipse で、eclipseのダウンロードをスキップできます。この場合、手動で jbpm-installer/lib/org.drools.updatesite-5.3.1.Final-assembly.zip を自分のeclipseに適用します。update siteはまだ無いみたい。
  • デモ実行
ant start.demo

まず、何をやるか、以下の動画をさらっと見ましょう。
http://people.redhat.com/kverlaen/jbpm-installer-eclipse-5.2.swf

  • jbpm-installer/sample/evaluation プロジェクトを eclipse に import
  • Evaluation.bpmn を開いてみましょう。自己査定して、次に処理が分岐して人事(HR)と上司(PM)が並行して査定する、というワークフローのようです。個々のノードのプロパティは"Properties"タブで見えます。ロジックは各ノードの"On Entry Actions"に書いてありますのう
  • デモは ProcessTest を実行すれば開始できます。普通に実行してもいいけど、まずはデバッガで実行してみよう。
logger.close();

の行にブレークポイントを張って、Debug as Java application

  • 止まったら、jBPM->'Human Task View', Drools->'Process Instances', 'Process Instance' のViewを画面に追加
    • ポイントはまず、デバッガ画面の'Variables'の変数'ksession'をクリックすること。これでProcess Instances Viewにksessionが持っているProcess Instanceがリストされる。そのうちの一つをクリックすることでProcess Instance Viewに当該プロセスがグラフィカルに表示される、というわけです

  • この時点でユーザ'krisv'に対して、ひとつのHuman Taskが作成されています。プロセスはタスクの実行待ちです
  • 'Human Task View'の 'UserId'に'krisv'を入力して、'Refresh'ボタンを押します
    • krisvのタスクが表示されます。ここでタスクを「Start」、「Complete」できます。ここでHuman Task Serviceとのインタラクションが起こります。これはEclipseを使った例ですが、実際のアプリケーションではタスク処理をどう行うかは様々なバリエーションがあるはずです
  • タスクをCompleteしたら、もう一回Process Instance Viewを見てみましょう。処理が分岐後のノードに移っているはずです
  • 今度は mary (HR) とjohn (PM) のタスク待ちです。同様に「Start」「Complete」します
  • これでプロセスが終了するので、Process Instances Viewには何も表示されなくなります