JBPM

jBPMとは、J BOSSによって提供されている業務の実行管理を行うソフトウェア. JBoss jBPM、Java Business Process Management.

jBPMの概要
jBPMは、業務実行を管理するソフトウェアを動作させる際に、基盤となる環境を提供するソフトウェアである. 基本的には、jBPMでは の機能が提供される. jBPMは、オープンソースの製品なので、フリーで使用することができる. また、jBPMは、Javaという汎用性の高い言語で設計されているので、動作する環境をあまり限定せず利用しやすい.
 * 業務プロセスから業務フローを定義する
 * 定義に従って担当者やシステムに対して業務処理割当や実行者からの結果を受け取りタスクの実行を制御する

jBPMでは、
 * プロセス自体
 * プロセスの流れを制御するアプリケーション

を分離して設計することができるので、
 * ビジネスに精通した立場の人→プロセスを設計
 * システムに精通した立場の人→アプリケーションを設計

というように実状に基づく設計が可能になる.

また、プロセスとプロセスの流れを制御するアプリケーションが独立していることで、一方を変更したとしても、他方を変更する必要がない.

jBPMの詳細
jBPMは、ワークフローエンジンとしてのプロセス制御機能やプロセスを実行する際に使用するソフトウェアで、JBossがSOAプラットフォームとして提供するJEMS(JBoss Enterprise Middleware Suite)を構成する製品の一つである.

jBPMには、コミュニティ版とエンタープライズ版が存在する.
 * コミュニティ版
 * 有志によって開発されており、JBoss.orgより自由にダウンロードすることができる.


 * エンタープライズ版
 * Red Hat社が、企業レベルでの利用可能にするためコミュニティ版の各製品から重要で安定したものを選択・再構成し、JBoss Enterprise Middlewareとして提供している.

jBPMは、主に以下のような機能を提供する.
 * グラフィカルプロセスデザイナ
 * 業務プロセス(ワークフロー)管理
 * 業務プロセス実行のデータ管理
 * ビジネスカレンダに対応したタイマー処理
 * 業務プロセス分析のためのロギング機能

jBPMグラフィカルプロセスデザイナは、プログラミングスキルの無い人でも直感的に業務プロセスを定義できるようにするツールで、図形を使ってプロセスをモデリングする. グラフィカルに定義されたプロセスは、jPDL(jBPM Process Definition Language)と呼ばれるXMLファイルとして定義される. また、XMLを知っている人がソースコードを直接作成してプロセスを定義する事も可能である.

このツールによって、ビジネスとシステムの両方の観点からビジネスプロセスを設計することができる.

jBPMでは、 の二つの言語がサポートされている. JPDLは、jBPM独自の仕様であり、人間が関与するプロセスを表現するための言語である. 定義内にプログラム(Javaコード)を含めることができる. BPELは、Webサービスを利用してプロセスを自動化させるための言語である.
 * JPDL（jBPM Process Definition Language）
 * BPEL

jBPM 4では、複数のプロセス言語や実行モードに対応した新しいプロセス仮想マシン(PVM)を投入している.

jBPMの利用
jBPMを使用することで、プロセスの内で使用するソフトウェアを分割し、プロセスの流れをコントロールするソフトウェアと分離することができる. このようにプロセスを設計することで、プロセスの部分的な変更やプロセスの一部分の再利用が容易になる（SOA）.

Red Hat社では、JBoss ESBとJBoss Rulesとの連携を推奨している. JBossESBとは、ESB（Enterprise Service Bus）の機能を提供するソフトウェアである. ESBとは、アプリケーションを個々に結び付けるのではなく、バスを介して結びつけようとする手法である. JBoss Rulesは、ビジネス・ルールの定義やその管理などを行うソフトウェアである.

JBoss Group LLC
JBossを提供しているのは、JBoss Group LLCという企業である. JBoss Group LLCは、2001年にJBossの開発者であるMarc Fleury氏が興し、ジョージア州アトランタに本社を置く. JBoss Group LLCでは、社員技術者が本業としてJBoss開発をリードしており、安定して製品がリリースされている. 2006年にRed Hat社によって買収され、コミュニティ版はJBoss Group LLCが、エンタープライズ版Red Hat社が提供することになった.

JBossそのものはソースコードも含めてユーザが自由に扱えるフリーソフトウェアであるが、ユーザが望めばJBoss Group LLCから有償のサービスを受けることができる. 事業内容は、JBossに関連したサポートやコンサルティング、トレーニング、ドキュメントの販売等となっている.
 * コンサルティング・・・JBoss上で動作するシステム開発に対するサービスや、JBossを基にした独自サーバの開発に対するサービスなど
 * ドキュメント販売・・・JBossのマニュアルの多くを、オンラインからPDFドキュメントとして有料で提供

JBoss Group LLCの顧客には、大企業も数多く含まれており、マクドナルド、ヒューレット・パッカード（HP）、アメリカ政府機関、金融機関などが挙げられる.

関連記事

 * BPM
 * ワークフロー
 * ワークフローエンジン
 * BPEL
 * SOA

参考HP

 * Red Hat
 * JBoss