Let's try it!
「第3回:15分でプロセスアプリケーションの開発」 ではjBPMでEclipseのプラグインを使い、プロセスの定義を行いました。簡単にできることをご理解いただけたと思います。今回は前回までと趣向を 少し変えて、Java SE環境でjBPMを利用していきます。よりシンプルな環境でjBPMを使うことで、その柔軟性を実感していただると思います。
前半はプロセス定義からjavaクラスをどのようにして呼び出すのかについて解説し、後半はハンズオン形式で進めていきます。ぜひ読者の皆様もトライしてみてください。
イベントとActionHandler
jBPMのプロセス定義から前回作成したjavaクラスを呼び出すには、プロセス定義に新たに「イベント」を定義する必要があります。その定義したイベントから「ActionHandlerインターフェースを実装したJavaクラス」を呼び出します。「イベント」はプロセス上の遷移や、ノード入場、退場など、文字通りイベントを発生させたい箇所に定義するものです(図1)。
このイベントにActionHandlerを実装したJavaクラスを配置すると、プロセス実行の際、イベントを通過したタイミングでJavaクラスが呼び出されることになります。
ActionHandlerを実装したJavaクラスでは、リスト1のようにexecute()メソッドを実装することになります。引数として渡されるExecutionContextクラスに値をバインドすることで、プロセスからクラス、クラスからクラスの値の引渡しを行うことが可能です。なお、このイベントにはJavaクラスの他に、スクリプトやタイマ、およびe-mailによる通知など、jBPMで利用できるさまざまな機能も設定で きます。
バックナンバー
この記事の筆者
JBossグループ ソリューション・アーキテクト
株式会社SRAを経て、2002年に日本BEAシステムズ入社。カスタマーサポートチームにて、アプリケーションサーバおよびJava VM(JRockit)のサポートを担当。その後、プリセールスチームにてSIP Servlet関連の製品に携わる。2007年よりレッドハット JBossグループにてプリセールスを担当。
音楽(聴く&演奏)大好き。最近はJazzyなベースとリズムに魅了されてます。
筆者の人気記事
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。
