ユーザインターフェースの開発
ここまでJava SE環境のjBPMの説明をしてきましたが、プロセス定義を利用するユーザインターフェースの開発についても簡単に触れておきましょう。開発にあたっては、jBPMコンソールをベースに進める方法、Seamとの統合による方法の2つがあります。
「第3回:15分でプロセスアプリケーションの開発」ではwebsaleアプリケーションのカスタマイズを行い、最後にプロセスデザイナからタスクに紐付いたフォームを自分で作成し、jBPMコンソール上で実行しました。
この時作成したフォームは、FaceletsベースのJSF(JavaServer Faces)のXHTMLファイルとしてグラフィカルプロセスデザイナが自動生成したものです(リスト4)。このフォームはjBPMコンソールのTaskビューのテンプレートにインクルードされます。
今回詳しい説明はしませんが、フォームは特に複雑なものではないことはおわかりいただけると思います。
第2回、第3回でwebsaleアプリケーションを実行したjBPMコンソールは、プロセス定義を制御し、タスクに関連付けられたフォームなどを実行するJSFのWebアプリケーションです。これらの記事はjBPMのユーザインターフェース開発時の一例として参考になるでしょう。
また本記事を参考に実際に試した読者の皆さんの環境には、「/server/server/deploy/jbpm-console.war」に、jBPMコンソールのアプリケーションが確認できると思います。興味のある方はwarファイルを展開して、/saディレクトリ以下のXHTMLファイルなどを見てみるとよいでしょう。
他のアプローチとしてはJBoss Seamとの統合があります。JBoss Seamは次世代Webアプリケーションを開発するためのフレームワークで、JSFやEJB3、AJAX、ビジネスプロセスなどを簡単かつ非常に強力に統合してくれます。
Seamと統合する場合はアノテーションやビルトインのコンポーネントを使い、プロセス定義を制御するWebアプリケーションを容易に作成することが可能です。
(画像をクリックすると別ウィンドウに拡大図を表示します)
最後に
JBoss jBPMの技術情報については、「JBoss jBPM Project」や「JBoss jBPM Documentation Library」、「JBoss jBPM Wiki」「JBoss jBPMリソース(日本JBossユーザグループ)」などのWebサイトが役立ちます。
また、Seamとの統合については「JBoss徹底活用ガイド(技術評論社)」なども参考になるでしょう。サンプルを交えながら解説されているので、興味がありましたらこちらもぜひご覧ください。