BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > BPM トピック > BPM クライアント アプリケーション プログラミング > Business Process Management API による開発 |
BPM クライアント アプリケーション プログラミング
|
Business Process Management API による開発
この章では、Business Process Management (BPM) API を使用したアプリケーション開発の概要について説明します。この章の内容は以下のとおりです。
はじめに
Business Process Management (BPM) をサポートするために、WebLogic Integration には以下のコンポーネントが搭載されています。
注意: Worklist クライアント アプリケーションは、このリリースの WebLogic Integration からは非推奨になります。Worklist クライアント アプリケーションに代わる各機能については、『WebLogic Integration リリース ノート』を参照してください。
上記のコンポーネントにより、ビジネス プロセスの設計、実行およびモニタを行い、WebLogic Integration に関連するデータを管理するための基本 BPM フレームワークが構成されます。
これらの設計クライアントおよび実行時管理クライアントを使用することに加えて、ビジネス プロセスの管理や既にあるユーザ インタフェース機能セットの拡張を行うためのカスタム クライアントも BPM Application Programming Interface (API) を使用して作成できます。
このマニュアルでは、BPM API を使用してコンフィグレーション、設計、実行時管理およびモニタ用のカスタム クライアントを作成する方法を説明します。API の詳細については、『BEA WebLogic Integration Javadoc』を参照してください。
注意: ビジネス プロセス モデルの概要や Studio クライアント インタフェースを使用したビジネス プロセスの管理、設計、およびモニタの詳細については、『WebLogic Integration Studio ユーザーズ ガイド』を参照してください。
Worklist クライアント インタフェースを使用したビジネス プロセスの実行の詳細については、『WebLogic Integration Worklist ユーザーズ ガイド』を参照してください。
WebLogic Integration プロセス エンジン
BPM 処理モデルを次の図に示します。
図1-1 BPM 処理モデル
注意: BPM 処理モデルの詳細については、『WebLogic Integration Studio ユーザーズ ガイド』を参照してください。 BPM 処理モデルは、WebLogic Integration プロセス エンジンによって異なります(プロセス エンジンは、実行時インスタンス用のコントローラとして機能し、実行の管理やその進行状況のモニタを行う)。 上の図の左側には、ビジネス プロセスの開始(またはインスタンス化)や、既にあるビジネス プロセスとの交信に使用できるメソッドが記載されています(XML イベントへの応答であるメソッドや、時間ベースのイベントとして機能するメソッド、あるいは手動呼び出し、別のビジネス プロセスからの呼び出し、またはプラグイン インタフェースを介したメソッドなど)。 図の右側には、ビジネス プロセスに統合できるエンティティ、すなわち JMS (Java Message Service: Java メッセージ サービス) アプリケーション、EJB コンポーネント、Java クラス、またはその他のアプリケーションが記載されています。 図の下部に記載されているデータベース ストアには、テンプレート、テンプレート定義、および実行時インスタンスが格納されます。Studio またはカスタム設計クライアントを使用することで、テンプレートやテンプレート定義の作成、および実行時インスタンスのモニタが可能です。 WebLogic Server インフラストラクチャ WebLogic Integration プロセス エンジンは BEA WebLogic Server 上で実行され、次の表に記載の J2EE (Java 2 Enterprise Edition: Java 2 エンタープライズ エディション) プラットフォーム サービスを利用します。WebLogic Server サービスの詳細については、次の URL から BEA WebLogic Server ドキュメント内の『BEA WebLogic Server の紹介』を参照してください。 http://edocs.beasys.co.jp/e-docs/wls/docs70/intro/index.html
プロセス エンジンのコンポーネント アーキテクチャ WebLogic Integration プロセス エンジンは以下のコンポーネントから構成されています。
クライアントと JMS の会話を含むプロセス エンジンのアーキテクチャを次の図に示します。
図1-2 プロセス エンジンのコンポーネント アーキテクチャ
プロセス エンジンのコンポーネントについて以下でさらに詳しく説明します。
セッション EJB
BPM セッション EJB は、クライアントに対して、要求に応じてアプリケーション サービスを提供します。また BPM セッション EJB により、プロセス エンジンにプライマリ インタフェースが提供されます。
BPM セッション EJB の機能を次の表にまとめます。これらのセッション EJB は、BPM API 経由でクライアント アプリケーションにアクセスできます(別途記載のない限り)。この表には、各 EJB がステートフルまたはステートレスのどちらであるかも示されています。
ステートフル セッション EJB は、セッション中であれば、クライアントがリソースを解放するまで使用可能です。 一方、ステートレス セッション EJB は、共有される EJB です。つまり、ある EJB に複数のクライアントがアクセスできます。したがって、プロセス エンジンによる EJB への複数のメソッド呼び出しを行うために、同じ EJB が使用される保証はありません。ステートレス セッション EJB はクラスタ化を容易にします。後続のメソッド呼び出しを任意の数のサーバ上の EJB の別のインスタンスによって処理できるからです。 BPM API 経由で使用できるセッション EJB の詳細については、BPM APIを参照してください。 エンティティ EJB エンティティ EJB は、データ オブジェクトを表わし、状態情報を提供します。 BPM エンティティ EJB には BPM API からは直接アクセスできませんが、状態情報を取得するためのクラスが com.bea.wlpi.common パッケージによって提供されます。com.bea.wlpi.common パッケージの詳細については、クライアント/サーバ共通パッケージを参照してください。 BPM エンティティ EJB を次の表に示します。
メッセージ駆動型 Bean BPM メッセージ駆動型 Bean を次の表に示します。
BPM API
Business Process Management (BPM) API は、セッション EJBの表にまとめられている 9 つの EJB と以下の 7 つのパッケージから構成されています。
IDGenerator、Notifier および WorkflowProcessor EJB は BPM API に含まれていません。
API コンポーネントについて、以下に詳しく説明します。詳細については、『BEA WebLogic Integration Javadoc』を参照してください。API セッション EJB とのインタフェースに関しては、プロセス エンジンへの接続を参照してください。
Admin セッション EJB
com.bea.wlpi.server.admin.Admin セッション EJB は、Studio クライアントやカスタム設計クライアントなどの設計クライアント用のプライマリ インタフェースとして機能するステートフル EJB です。
Admin EJB に含まれている public メソッドを使用すると、以下の操作が可能です。
Audit セッション EJB
com.bea.wlpi.server.audit.Audit セッション EJB は、WebLogic JMS トピック(wlpiAudit)をカプセル化するステートレス EJB であり、プロセス エンジンは監査およびエラー メッセージをクライアントに代わってこの EJB に送信します。Audit EJB は、エラー メッセージの送信先である wlpiError トピックへのアクセスもカプセル化します。ユーザは、『WebLogic Integration Studio ユーザーズ ガイド』の説明に従い、ワークフロー テンプレート定義の設計時にタスク アクションを使用して監査エントリを定義します。
各監査メッセージは、Audit DTD に定義されているフォーマットに準拠した XML ドキュメントから構成されています。Audit DTD フォーマットの詳細については、監査 DTDまたは『 BEA WebLogic Integration Javadoc』を参照してください。
監査情報メッセージ(Info)およびエラー メッセージ(Error)は、サブシステム名 WLPI を使用して WebLogic Server ログ ファイルに送信されます。
JMS トピック wlipAudit および wlpiError への JMS コネクタを設定する詳細については、JMS コネクタの確立を参照してください。
EJBCatalog セッション EJB
com.bea.wlpi.server.catalog.EJBCatalog セッション EJB は、特定のサーバにデプロイされた EJB を分類するステートフル EJB です。EJBCatalog セッション EJB は JNDI ツリーをスキャンし、EJB メタデータを収集してカタログに格納します。EJBCatalog は、ビジネス オペレーションを定義するために設計クライアントによって使用されます。
EJBCatalog EJB に含まれている public メソッドを使用すると、以下の操作が可能です。
Permission セッション EJB
com.bea.wlpi.server.permission.Permission セッション EJB は、ロール アクションとユーザ アクションの両方に関連するセキュリティ パーミッションの取得および設定を可能にするステートレス EJB です。
PluginManager セッション EJB
com.bea.wlpi.server.plugin.PluginManager セッション EJB は、ワークフロー実行中にプラグインの実行時管理を行うステートレス EJB です。
プラグインのプログラミングと PluginManager EJB の詳細については、『WebLogic Integration BPM プラグイン プログラミング ガイド』を参照してください。
PluginManagerCfg セッション EJB
com.bea.wlpi.server.plugin.PluginManagerCfg セッション EJB は、ユーザ定義プラグインの実装の管理を可能にするステートレス EJB です。
プラグインのプログラミングと PluginManagerCfg EJB の詳細については、『WebLogic Integration BPM プラグイン プログラミング ガイド』を参照してください。
ServerProperties セッション EJB
com.bea.wlpi.server.serverproperties.ServerProperties セッション EJB は、BPM を規定するプロパティに関する情報をクライアントが取得できるようにするステートレス EJB です。
ServerProperties EJB に含まれている public メソッドを使用すると、以下の情報を取得できます。
WLPIPrincipal セッション EJB
com.bea.wlpi.server.principal.WLPIPrincipal セッション EJB は、クライアントが WebLogic Server セキュリティ レルムと会話を行い、BPM オーガニゼーション、ロール、ユーザ、その他のセキュリティ プロパティにアクセスできようにするステートレス EJB です。BPM ロールは WebLogic Server セキュリティ グループにマッピングされ、BPM ユーザは WebLogic Server ユーザにマッピングされます。
WLPIPrincipal EJB に含まれている public メソッドを使用すると、システムへの確実なアクセスに必要なオーガニゼーション、ロールおよびユーザに関する情報のコンフィグレーション、管理、および取得が可能です。
注意: WebLogic Server セキュリティ レルムに格納されている WebLogic Server 固有の情報以外のロールおよびユーザに関する情報は、BPM データベース内に保持されます。
Worklist セッション EJB
com.bea.wlpi.server.worklist.Worklist セッション EJB は、Worklist クライアントやカスタム実行時管理クライアントなどの実行時管理クライアント用のプライマリ インタフェースとして機能するステートフル EJB です。Worklist EJB により、実行中のインスタンスとの会話が可能になります。
Worklist EJB に含まれている public メソッドを使用すると、以下の操作が可能です。
XMLRepository セッション EJB
com.bea.eci.repository.ejb.XMLRepository セッション EJB は、XML リポジトリ データベースへのアクセスを提供するステートレス EJB です。
XMLRepository EJB に含まれている public メソッドを使用すると、以下の操作が可能です。
クライアント共通パッケージ
com.bea.wlpi.client.common パッケージにより、BPM クライアントで使用される共通のクライアントサイド クラスが提供されます。このパッケージには以下の用途のクラスが含まれています。
クライアント ユーティリティ パッケージ
com.bea.wlpi.client.util パッケージには、JMS トピックのパブリッシュ/サブスクライブ機能をテストする 2 つの JMS ユーティリティ、JMSTest および JMSTestAddr が含まれています。
クライアント/サーバ共通パッケージ
com.bea.wlpi.common パッケージには、BPM クライアントと WebLogic Integration プロセス エンジンの両方で使用されるクラスが含まれています。このパッケージのコンポーネントは以下のとおりです。
パッケージ メンバーをシリアライズすると、クライアントとサーバ間の情報交換が容易になります。
プラグイン共通パッケージ
com.bea.wlpi.common.plugin パッケージには、ユーザ定義プラグインの管理に使用される共通クラスが含まれています。
詳細については、『WebLogic Integration BPM プラグイン プログラミング ガイド』を参照してください。
セキュリティ共通パッケージ
com.bea.wlpi.common.security パッケージには、セキュリティ パーミッションの定義に使用される共通クラスが含まれています。このパッケージのコンポーネントは以下のとおりです。
ユーティリティ パッケージ
com.bea.wlpi.util パッケージには、メッセージ駆動型 Bean を生成するユーティリティなどの一般的な BPM ユーティリティが含まれています。
XML リポジトリ ヘルパー パッケージ
com.bea.eci.repository.helper パッケージには、XML リポジトリへのアクセスに使用される共通クラスが含まれています。このパッケージのコンポーネントは以下のとおりです。
BPM アプリケーション開発タスク
BPM API を使用すると、以下に説明するアプリケーション開発タスクを行うことができます。
コンフィグレーション
Studio クライアントまたはカスタム コンフィグレーション クライアントを介して BPM API にアクセスすると、以下のエンティティをコンフィグレーションできます。
このマニュアルの Part IIコンフィグレーション,では、これらの各タイプのエンティティを BPM API を使用してコンフィグレーションする方法を説明します。API の詳細については、『BEA WebLogic Integration Javadoc』を参照してください。
設計
Studio クライアントまたはカスタム設計クライアントを介して BPM API にアクセスすると、以下の設計タスクを実行できます。
このマニュアルの Part III設計,では、これらの各タイプの設計関連タスクを BPM API で実行する方法を説明します。API の詳細については、『BEA WebLogic Integration Javadoc』を参照してください。
実行時の管理
Worklist クライアントまたはカスタム実行時管理クライアントを介して BPM API にアクセスすると、以下の実行時管理タスクを実行できます。
このマニュアルの Part IV実行時の管理,では、これらの各タイプの実行時管理タスクを BPM API で実行する方法を説明します。API の詳細については、『BEA WebLogic Integration Javadoc』を参照してください。
モニタ
Studio クライアントまたはカスタム モニタ クライアントを介して BPM API にアクセスすると、以下のモニタ タスクを実行できます。
このマニュアルの Part Vモニタ,では、これらの各タイプのモニタ タスクを BPM API で実行する方法を説明します。API の詳細については、『BEA WebLogic Integration Javadoc』を参照してください。
プラグイン開発
BPM API を使用すると、カスタム プラグインを設計および統合できます。
詳細については、『WebLogic Integration BPM プラグイン プログラミング ガイド』を参照してください。
BPM API のサンプル
このマニュアル全体を通して使用されているサンプルは、SAMPLES_HOME/integration/samples/bpm_api ディレクトリのソフトウェアと共に提供される BPM クライアント サンプルから抜粋されたものです。ソフトウェアには以下のサンプルが含まれています。
これらのクライアント サンプルについて、以下に詳しく説明します。
コマンドライン管理サンプル
WebLogic Integration には、カスタム コマンドライン クライアントでサポートされる可能性のある基本管理タスクを示すサンプルが含まれています。主なタスクは以下のとおりです。
コマンドライン管理サンプルは、SAMPLES_HOME/integration/samples/bpm_api/commandline ディレクトリにある Java ファイル CLAdmin.java から構成されています。このサンプルをコンパイルおよび実行する方法については、このディレクトリに含まれている Readme.txt ファイルを参照してください。
Part IAPI 開発の基本,および Part IIコンフィグレーション,に記載のサンプルの一部は、コマンドライン管理サンプルから抜粋されたものです。
コマンドライン Studio サンプル
WebLogic Integration には、カスタム コマンドライン Studio クライアントでサポートされる可能性のある以下の基本設計タスクを示すサンプルが含まれています。
コマンドライン Studio サンプルは、SAMPLES_HOME/integration/samples/bpm_api/commandline ディレクトリにある Java ファイル CLStudio.java から構成されています。このサンプルをコンパイルおよび実行する方法については、このディレクトリに含まれている Readme.txt ファイルを参照してください。
Part III設計,に記載のサンプルの一部は、コマンドライン Studio サンプルから抜粋されたものです。
コマンドライン Worklist サンプル
WebLogic Integration には、カスタム コマンドライン Worklist クライアントでサポートされる可能性のある基本 Worklist 管理タスクを示すサンプルが含まれています。主なタスクは以下のとおりです。
コマンドライン Worklist サンプルは、SAMPLES_HOME/integration/samples/bpm_api/commandline ディレクトリにある Java ファイル CLWorklist.java から構成されています。このサンプルをコンパイルおよび実行する方法については、このディレクトリに含まれている Readme.txt ファイルを参照してください。
Part IV実行時の管理,に記載のサンプルの一部は、コマンドライン Worklist サンプルから抜粋されたものです。
コマンドライン SAX パーサ サンプル
WebLogic Integration には、BPM サーバから受信したクライアント要求を SAX パーサで解析する方法を示すサンプルが含まれています。具体的には、このサンプルにより以下の操作方法が示されます。
コマンドライン SAX パーサ サンプルは、SAMPLES_HOME/integration/samples/bpm_api/commandline ディレクトリにある Java ファイル CLSaxParser.java から構成されています。このサンプルをコンパイルおよび実行する方法については、このディレクトリに含まれている Readme.txt ファイルを参照してください。
Part IV実行時の管理,に記載のサンプルの一部は、コマンドライン Worklist サンプルから抜粋されたものです。
JSP Worklist サンプル
WebLogic Integration には、カスタム JSP (Java Server Page: Java サーバ ページ) ベースの Worklist クライアントでサポートされる可能性のある基本実行時管理タスクを示すサンプルが含まれています。このサンプルのメイン コンポーネントは worklist.jsp ファイルであり、このファイルによって JSP Worklist へのプライマリ インタフェースが提供されます。
JSP クライアントによって実行されるタスクと、詳細が記載されているサンプル ファイルを次の表に示します。
プライマリ JSP インタフェース worklist.jsp を次の図で示します。 図1-3 JSP Worklist へのプライマリ インタフェース
JSP Worklist を Web アプリケーションとしてデプロイする手順については、次の URL から BEA WebLogic Server ドキュメンテーション内の『Web アプリケーションのアセンブルとコンフィグレーション』の「Web アプリケーションのデプロイメント」を参照してください。 http://edocs.beasys.co.jp/e-docs/wls/docs70/webapp/deployment.html デプロイが完了した後、JSP Worklist を実行する手順は、次のとおりです。
http://WebLogicURL:WebLogicPort/example_name
Part IV実行時の管理,に記載のサンプルの一部は、JSP Worklist サンプルから抜粋されたものです。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |