第1章 はじめに
この ガイド は、開発者および管理者向けに書かれています。企業環境で jBPM と JPDL を使用する方法を学ぶ際にお読みください。本書は、ソフトウェアの使用方法を説明するだけでなく、その仕組みについても非常に詳細に説明しています。
注記
この ガイド には、多くの用語が含まれています。主な用語の定義は、「 役に立つ定義 」 を参照してください。
JBoss Business Process Manager (jBPM) は、プロセス言語の柔軟で拡張可能な基盤です。jBPM Process Definition Language (JPDL) は、このフレームワークの上に構築された プロセス言語 の 1 つです。これは、ユーザーがビジネスプロセスをグラフィカルに表現できるように設計された直感的な言語です。この表現は、タスク、待機状態 (非同期通信の場合)、タイマー、および自動化された アクション を表すことによって行われます。これらの操作をまとめてバインドするために、言語には強力で拡張可能な 制御フローメカニズムが あります。
JPDL には依存関係がほとんどないため、Java ライブラリーと同じくらい簡単にインストールできます。これを行うには、JPDL を クラスター化された J2EE アプリケーションサーバー にデプロイします。これは、極端なスループットが重要な要件である環境で特に役立ちます。
注記
JPDL は、任意のデータベースで使用できるように設定できます。また、任意のアプリケーションサーバーにデプロイすることもできます。
1.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、jBPM の動作方法の概要を説明します。
中核となるワークフローおよびビジネスプロセス管理機能は、シンプルな Java ライブラリーとしてパッケージ化されています。このライブラリーには、JPDL データベースプロセスを管理および実行するサービスが含まれています。
図1.1 jPDL コンポーネントの概要
1.2. jPDL スイート リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このスイートには、すべての jBPM コンポーネントと次のサブディレクトリーが含まれています。
- config
- database
- deploy
- designer
- examples
- lib
- src
JBoss Application Server は、次のコンポーネントで構成されています。
- jBPM Web コンソール
- これは Web アーカイブとしてパッケージ化されています。プロセス参加者 と jBPM 管理者の両方がこのコンソールを使用できます。
- jBPM テーブル
- これらは、デフォルトの Hypersonic データベースに含まれています。(このデータベースには、すでにプロセスが含まれています。)
- サンプルプロセス
- 1 つのサンプルプロセスが、すでに jBPM データベースにデプロイされています。
- アイデンティティーコンポーネント
- アイデンティティーコンポーネントライブラリーは、コンソール Web アプリケーション の一部です。データベース内にある
JBPM_ID_
接頭辞を持つテーブルを所有しています。
1.3. jPDL グラフィカルプロセスデザイナー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
jPDL には、グラフィカルプロセスデザイナー も含まれています。これは、ビジネスプロセスの設計に使用します。(これは Eclipse プラグインであり、JBoss Developer Studio 製品に含まれています。)
ビジネスプロセスのモデリングから実際の実装へのスムーズな移行を容易にし、ビジネスアナリストと技術開発者の両方に役立ちます。
1.4. jBPM コンソール Web アプリケーション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
コンソール Web アプリケーション には、3 つの目的があります。1 つ目は、中心的なユーザーインターフェイスとしての機能です。ここでは、プロセスの実行によって生成されたランタイムタスクを操作できます。2 つ目は、ランタイムインスタンスを検査および操作できる管理コンソールおよびモニタリングコンソールとしての機能です。このソフトウェアの 3 つ目の機能は、ビジネスアクティビティーモニターとしての機能です。この機能は、プロセスの実行に関する統計を表示します。この情報を使用すれば、ボトルネックを発見して排除できるため、これはパフォーマンスの最適化を求めるマネージャーに役立ちます。
1.5. jBPM コアライブラリー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Business Process Manager には 2 つのコアコンポーネントがあります。これらは、プロセス定義を管理する "プレーン Java" (J2SE) ライブラリーと、プロセスインスタンスを実行するランタイム環境です。
jBPM 自体は Java ライブラリーです。したがって、Web アプリケーションや Swing アプリケーション、
Enterprise Java Bean
、Web サービスなど、あらゆる Java 環境で使用できます。
jBPM ライブラリーを ステートレスセッション
Enterprise Java Bean
としてパッケージ化して公開することもできます。クラスターデプロイメントを作成する必要がある場合、または非常に高いスループットを実現するためにスケーラビリティーを提供する必要がある場合は、これを行ってください。(ステートレスセッション Enterprise Java Bean
は J2EE 1.3
仕様に準拠しているため、任意のアプリケーションサーバーにデプロイできます。)
jbpm-jpdl.jar
ファイルの一部は、Hibernate や Dom4J などのサードパーティーライブラリーに依存していることに注意してください。
Hibernate は jBPM に 永続性 機能を提供します。また、従来の O/R マッピング を提供することとは別に、Hibernate は競合するデータベースで使用される構造化照会言語の方言間の違いを解決します。この機能により、jBPM は高い移植性を確保しています。
Business Process Manager のアプリケーションプログラミングインターフェイスは、Web アプリケーション、Enterprise Java Bean、Web サービスコンポーネント、メッセージ駆動型 Bean など、プロジェクト内の任意のカスタム Java コードからアクセスできます。
1.6. アイデンティティーコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
jBPM は、ユーザーデータ (およびその他の組織データ) を含む会社のディレクトリーと統合できます。(組織情報コンポーネントが利用できないプロジェクトの場合は、アイデンティティーコンポーネント を使用します。このコンポーネントには、従来のサーブレット、Enterprise Java Bean、およびポートレットで使用されるモデルよりも "豊富" なモデルがあります。)
注記
このトピックの詳細は、「 アイデンティティーコンポーネント 」 を参照してください。
1.7. jBPM ジョブエグゼキューター リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JBoss jBPM ジョブエグゼキューター は、標準の Java 環境でジョブをモニタリングおよび実行する目的で設計されたコンポーネントです。ジョブ は、タイマーと非同期メッセージに使用されます。(エンタープライズ環境では、Java Message Service と Enterprise Java Bean
TimerService
をこの目的に使用する場合があります。ジョブエグゼキューターは "標準" の環境で使用するのが最適です。)
Job Executor コンポーネントは、コア
jbpm-jpdl
ライブラリーにパッケージ化されています。次の 2 つのシナリオのいずれかでのみデプロイできます。
JbpmThreadsServlet
がジョブエグゼキューターを起動するように設定されている場合。- 別個の Java 仮想マシンを起動し、その中からジョブエグゼキュータースレッドを実行できるようにした場合。
1.8. まとめ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この章では、jBPM とその構成コンポーネントの概要を説明しました。