TOPプロジェクト管理> 第1回:JavaエンジニアのためのBPMツールとは? (1/3)

JBoss jBPMを試そう!

JBoss jBPMを試そう!

第1回:JavaエンジニアのためのBPMツールとは?

著者:レッドハット 三木 雄平

公開日:2008/1/24(木)

JavaエンジニアのためのBPMツール「JBoss jBPM」

昨今、多くのベンダーからBPM(Business Process Management)製品がリリースされており、導入を考えておられる方や実際に検証・開発で利用されている開発者の方も多くいらっしゃることでしょう。BPMツールは業務プロセスの「分析」「設計」「実行」「モニタリング」「改善・再構築」といったマネジメントサイクルに適応した業務フロー全体を最適化するためのものとして位置づけられるため、多機能で複雑かつ高価という側面があります。

しかし、いざこれらのツールを利用してみると必要な機能が備わっていなかったり、開発には独自仕様言語や手法の習得が必要など、導入に苦労したことはないでしょうか。さらにビジネスプロセスはユーザごとに異なるため、定形化プロセスをどうしてもカスタマイズ(つまり開発作業)する必要性が発生します。そのような理由から、いっそのこと自分達で作ってしまった方が早いのではないかと思われたことはないでしょうか?

そこで本記事では、これらの不満を解決する「JBoss jBPM」についてその特徴と機能を紹介していきます。

図1:JBoss jBPMのアーキテクチャ
図1:JBoss jBPMのアーキテクチャ
(画像をクリックすると別ウィンドウに拡大図を表示します)

JBoss jBPMとは

誤解を恐れずに述べるならば、JBoss jBPM(以下、jBPM)はBPM製品として必要かつ最低限でありながらも、十分な機能を備えた「Pure Javaワークフローライブラリ」です。

jBPMはJavaライブラリとして提供されており、Java SE環境をはじめ、JBoss Enterprise Application Platformはもちろんのこと、BEA WebLogic ServerやIBM WebShpereのようなJava EEアプリケーションサーバでも動作させることが可能です。さらにJavaエンジニアであれば抵抗なく利用できるAPIが提供されています。したがってスムーズに開発に入ることができるでしょう。

jBPMのCoreライブラリは、事前に定義された業務プロセスを読み込み、実行および管理を行うためのエンジンとなります。他にも、「業務プロセスの実行とコンテキスト管理(永続化)」「業務プロセスのバージョニング」「タスク管理とタスクの割り当て」「イベントハンドリングによる非同期連携」「ビジネスカレンダに対応したスケジュール処理」「業務プロセス分析のための情報取得」「GUIデザイナーによる業務プロセス作成」「ツールによる業務プロセスの検証」「例外のハンドリング」「認証、認可とスイムレーン」など数多くの機能を備えています。

jBPMのアーキテクチャは前述した「jBPM Coreライブラリ」、業務プロセスのレポジトリおよびランタイム情報の永続化する際に利用され、OracleやMySQL、PostgreSQLなど多くのRDBMSを利用可能な「jBPM DB」、業務プロセスを容易に定義するための「プロセスデザイナ」の3つに大きく分かれます(図1)。

ビジネスパーソンがプロセスデザイナで業務プロセスを定義し、そのプロセス定義を基に開発者はjBPMで用意されているAPIを呼び出して、プロセス定義をインスタンス化させ、プロセスを進めたりタスクを割り当てたり、DBに永続化したりすることができます。

基本的にプロセスは様々なノードの集合体です。このノードとは個々の処理であり、ActionHandlerクラスを継承したJavaクラスを定義できます。このJavaクラスで実際のビジネス処理の記述や、EJBもしくはWebサービスなどの呼び出しも行うことが出来ます。またプロセス定義上の開始終了時や各ノードへの入退場の際にイベントを定義し、このイベント上でノードと同様にActionHandlerクラスを継承したクラスを呼び出すことも可能です。

次に、GUIで業務プロセスを定義し、簡単に検証するための方法を機能紹介を交えながらみていきましょう。 次のページ


1   2  3  次のページ


レッドハット株式会社 三木 雄平
著者プロフィール
レッドハット株式会社  三木 雄平
JBossグループ ソリューション・アーキテクト
株式会社SRAを経て、2002年に日本BEAシステムズ入社。カスタマーサポートチームにて、アプリケーションサーバおよびJava VM(JRockit)のサポートを担当。その後、プリセールスチームにてSIP Servlet関連の製品に携わる。2007年よりレッドハット JBossグループにてプリセールスを担当。
音楽(聴く&演奏)大好き。最近はJazzyなベースとリズムに魅了されてます。


INDEX
第1回:JavaエンジニアのためのBPMツールとは?
JavaエンジニアのためのBPMツール「JBoss jBPM」
  GUIで業務プロセスを定義し、簡単に検証したい
  ソースコードをみてみよう