BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

BPM プラグイン プログラミング ガイド

 前 次 目次 索引 PDFで表示  

プラグインのデプロイメント

プラグインはステートレス セッション EJB です。他の EJB と同じようにデプロイされます。この章では、プラグインをデプロイする方法について説明します。この章の内容は以下のとおりです。

注意: プラグイン サンプルがデプロイされていますので、ご利用ください。プラグイン サンプル JAR、WAR、デプロイメント記述子ファイルは、インストール時に適切なディレクトリにコピーされます。

 


プラグイン デプロイメント記述子ファイルの定義

プラグインをデプロイするには、次の節で説明するように、EJB とオンライン ヘルプのデプロイメント プロパティを定義するプラグイン デプロイメント記述子ファイルを定義する必要があります。

プラグイン EJB デプロイメント記述子ファイルの定義

次の表に、プラグイン EJB のデプロイメントを定義するために必要なデプロイメント記述子ファイルを示します。

表9-1 プラグイン EJB デプロイメント記述子ファイル

定義するファイル

指定内容

ejb-jar.xml

基本 EJB 構造、内部依存関係、およびアプリケーション アセンブリ情報

weblogic-ejb-jar.xml

WebLogic Server キャッシング、クラスタ化、およびパフォーマンスの情報、および WebLogic Server リソース マッピング(セキュリティ、JDBC プール、JMS 接続ファクトリなど、デプロイされる EJB リソースを含む)

weblogic-cmp-rdbms-jar.xml

WebLogic Server コンテナ管理による永続性サービス


 

EJB デプロイメント記述子ファイルの詳細については、次の URL にある『WebLogic エンタープライズ Java Beans プログラマーズガイド』の「WebLogic Server への EJB のデプロイ」を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs70/ejb/deploy.html

プラグイン サンプルから抜粋した次のコード リストは、ejb-jar.xml および weblogic-ejb-jar.xml デプロイメント記述子ファイルを定義する方法を示しています。

注意: プラグインは、コンテナ管理によるトランザクション境界設定をサポートしている必要があります。したがって、プラグイン通知リスナ メソッドの trans-attr 要素は、RequiredSupports、またはMandatory のいずれかの値である必要があります。

コード リスト 9-1 プラグイン サンプル ejb-jar.xml EJB デプロイメント記述子

<?xml version="1.0"?>

<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd">

<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>SamplePlugin</ejb-name>
<home>com.bea.wlpi.server.plugin.PluginHome</home>
<remote>com.bea.wlpi.server.plugin.Plugin</remote>
<ejb-class>com.bea.wlpi.tour.po.plugin.SamplePluginBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-ref>
<ejb-ref-name>ejb/PluginManagerCfg</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.bea.wlpi.server.plugin.PluginManagerCfgHome</home>
<remote>com.bea.wlpi.server.plugin.PluginManagerCfg</remote>
<ejb-link>PluginManagerCfg</ejb-link>
</ejb-ref>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>SamplePlugin</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>

コード リスト 9-2 プラグイン サンプル weblogic-ejb-jar.xml EJB デプロイメント記述子

<?xml version="1.0"?>

<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd">

<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>SamplePlugin</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
<initial-beans-in-free-pool>0</initial-beans-in-free-pool>
</pool>
<stateless-clustering>
<stateless-bean-is-clusterable>True</stateless-bean-is-clusterable>
<stateless-bean-methods-are-idempotent>True</stateless-bean-methods-are-idempotent>
</stateless-clustering>
</stateless-session-descriptor>
<reference-descriptor>
<ejb-reference-description>
<ejb-ref-name>ejb/PluginManagerCfg</ejb-ref-name>
<jndi-name>com.bea.wlpi.PluginManagerCfg</jndi-name>
</ejb-reference-description>
</reference-descriptor>
<jndi-name>com.bea.wlpi.tour.po.plugin.SamplePlugin</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>

プラグイン オンライン ヘルプ デプロイメント記述子ファイルの定義

次の表に、プラグイン オンライン ヘルプのデプロイメントを定義するために必要なデプロイメント記述子ファイルを示します。

表9-2 プラグイン オンライン ヘルプ デプロイメント記述子ファイル

定義するファイル

指定内容

web.xml

Web アプリケーション コンフィグレーション情報

weblogic.xml

web.xml ファイル内の指名されたリソースと WebLogic Server の外部にあるリソースに関するリソース マッピング情報、および JSP と HTTP のセッション属性


 

オンライン ヘルプ(Web アプリケーション)デプロイメント記述子ファイルの詳細については、次の URL にある「Web アプリケーションのアセンブルとコンフィグレーション」の「Web アプリケーションのデプロイメント記述子の記述」を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs70/webapp/webappdeployment.html

プラグイン サンプルから抜粋した次のコード リストは、web.xml および weblogic.xml デプロイメント記述子ファイルを定義する方法を示しています。

コード リスト 9-3 プラグイン サンプル オンライン ヘルプ web.xml デプロイメント記述子

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>Sample Plugin Online Help</display-name>
<description>
This Web Application serves up HTML Help for the
WebLogic Process Integrator Sample Plugin.
</description>
<welcome-file-list>
<welcome-file>
com/bea/wlpi/tour/po/plugin/htmlhelp/index.htm
</welcome-file>
</welcome-file-list>
</web-app>

コード リスト 9-4 プラグイン サンプル オンライン ヘルプ weblogic.xml デプロイメント記述子

<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
<weblogic-web-app>
<description>
This Web Application serves up HTML Help for the
WebLogic Process Integrator Sample Plugin.
</description>
</weblogic-web-app>

 


プラグインのパッケージ化

WebLogic Server に対してデプロイされる JAR ファイルにプラグインをパッケージ化する手順は、次のとおりです。

  1. ビルド ディレクトリを作成し、javac を使用して、このディレクトリにソース ファイルをコンパイルします。

    プラグイン サンプルの場合、ソース ファイルは SAMPLES_HOME/integration/samples/bpm_api/plugin/src/com/bea/wlpi/tour/po/plugin ディレクトリにあり、SAMPLES_HOME/integration/samples/bpm_api/plugin ディレクトリにコンパイルされます。

  2. 前の節で作成したデプロイメント記述子(ejb-jar.xmlweblogic-ejb-jar.xml)を、ビルド ディレクトリの META-INF サブディレクトリにコピーします。

    たとえば、デプロイメント記述子ファイルを SAMPLES_HOME/integration/samples/bpm_api/plugin/META-INF ディレクトリにコピーします。

  3. コンパイルされたソース ファイルとデプロイメント記述子の入ったビルド ディレクトリの JAR ファイルを作成します。

    プラグイン サンプルの場合、結果の JAR ファイルは、SAMPLES_HOME/integration/samples/lib/sampleplugin-ejb.jar として格納されます。

  4. JAR ファイルで weblogic.ejbc を実行し、WebLogic Server コンテナ クラスを生成します。

    プラグイン サンプルの場合、このユーティリティの出力は、SAMPLES_HOME/integration/samples/bpm_api/plugin/ejbcgen ディレクトリに格納されます。

  5. 必要であれば、プラグイン オンライン ヘルプとデプロイメント記述子ファイルの入った WAR ファイルを作成します。

    プラグイン サンプルの場合、プラグイン オンライン ヘルプ ファイルは、SAMPLES_HOME/integration/samples/bpm_api/plugin/htmlhelp ディレクトリに格納されます。結果の WAR ファイルは、SAMPLES_HOME/integration/samples/lib/sampleplugin.war として格納されます。

プラグイン サンプルから抜粋した次のコード リストは、プラグインをパッケージ化するためのビルド スクリプト build.cmd を定義する方法を示しています。このファイルは、SAMPLES_HOME/integration/samples/bpm_api/plugin ディレクトリにあります。重要なコード行は、太字で示します。

注意: build.cmd スクリプトを実行する前に、setEnv.cmd スクリプトを更新、実行して、環境を設定しておく必要があります。このスクリプトは、SAMPLES_HOME/integration/samples/bpm_api/plugin ディレクトリにあります。

コード リスト 9-5 プラグイン サンプル ビルド スクリプト

@rem Copyright (c) 2001 BEA Systems, Inc. All rights reserved.
@rem build.cmd −デプロイ可能な jar ファイル sampleplugin をコンパイルおよび作成する
@echo off


@rem クラスをコンパイルする
setlocal
set JAVAC_ARGS=-d . -g -deprecation
echo Compiling Sample Plugin classes
"%JAVA_HOME%¥bin¥javac" %JAVAC_ARGS% source¥*.java
endlocal

@rem jar を作成する
echo Building Sample Plugin EJB jar for bean classes
erase /f _sampleplugin-ejb.jar 2> nul 1> nul
@copy interfaces.jar _sampleplugin-ejb.jar 2> nul 1> nul
@copy source¥Sample.gif com¥bea¥wlpi¥tour¥po¥plugin¥Sample.gif 2> nul 1> nul
@copy source¥SamplePlugin.properties com¥bea¥wlpi¥tour¥po¥plugin¥SamplePlugin.properties 2> nul 1> nul
@rem 標準およびベンダ固有の XML デプロイメント記述子を追加する
"%JAVA_HOME%¥bin¥jar" -uf _sampleplugin-ejb.jar META-INF¥ejb-jar.xml META-INF¥weblogic-ejb-jar.xml
rem Add the bean implementation classes, and helper classes.
"%JAVA_HOME%¥bin¥jar" -uf _sampleplugin-ejb.jar com
dir /b _sampleplugin-ejb.jar

echo Compiling EJB container classes

erase /f sampleplugin-ejb.jar 2> nul 1> nul
"%JAVA_HOME%¥bin¥java" -Dweblogic.ejb20.ejbc.debug=1 weblogic.ejbc -compiler "%JAVA_HOME%¥bin¥javac" _sampleplugin-ejb.jar sampleplugin-ejb.jar
dir /b sampleplugin-ejb.jar
if not exist sampleplugin-ejb.jar echo *** ERROR: ejbc failed to create the sampleplugin-ejb.jar file.


echo Building Sample Plugin WAR file for JavaHelp/HTML Help
"%JAVA_HOME%¥bin¥jar" -cf sampleplugin.war WEB-INF
"%JAVA_HOME%¥bin¥jar" -uf sampleplugin.war htmlhelp
dir /b sampleplugin.war
if not exist sampleplugin.war echo *** ERROR: failed to create the sampleplugin.war file.

del _sampleplugin-ejb.jar
echo Done.

 


コンフィグレーション ファイルの更新

プラグインをデプロイするには、コンフィグレーション ファイル config.xml を更新し、関連付けられたデプロイメント記述子ファイルを WebLogic Integration アプリケーションの一部として指定する必要があります。

プラグイン EJB 記述子ファイルを指定するには、<EJBComponent> 要素を使用します。DeploymentOrder 属性を使用して、EJB JAR ファイルがデプロイされる順序を制御できます。一般に、プラグイン A がプラグイン B に依存している場合、プラグイン B を先にデプロイする必要があります。最終的には、BPM プラグイン フレームワークがプラグインのロード順序を制御します。たとえば、プラグイン フレームワークがプラグイン A をロードしようとしたときに、プラグイン A がプラグイン B に依存しており、それがまだロードされていない場合、プラグイン フレームワークはプラグイン B をロードします。

プラグイン オンライン ヘルプ ファイルを指定するには、<WebAppComponent> 要素を使用します。com.bea.wlpi.common.plugin.HelpSetInfo オブジェクトの pluginName パラメータの値に対して Name 属性を設定する必要があります。これは、プラグイン オンライン ヘルプを定義するときに設定されます。プラグイン オンライン ヘルプの定義方法の詳細については、プラグイン オンライン ヘルプの定義を参照してください。

サンプル ドメイン config.xml から抜粋した次のコード リストは、プラグイン サンプルをデプロイするために必要な情報を示しています。このファイルは、SAMPLES_HOME/config/samples ディレクトリにあります。重要なコード行は、太字で示します。

コード リスト 9-6 config.xml ファイルにあるプラグイン サンプル EJB のデプロイメント

     .
.
.
<Application Deployed="true" Name="WLI" Path="E:¥bea¥weblogic600¥samples¥integration¥samples¥lib">
<EJBComponent DeploymentOrder="0" Name="repository-ejb.jar"
Targets="myserver" URI="repository-ejb.jar"/>
<WebAppComponent Name="XTPlugin" Targets="myserver" URI="wlxtpi.war"/>
<WebAppComponent Name="wlai" ServletReloadCheckSecs="1"
Targets="myserver" URI="wlai.war"/>
<EJBComponent DeploymentOrder="2" Name="wlpi-master-ejb.jar"
Targets="myserver" URI="wlpi-master-ejb.jar"/>
<EJBComponent DeploymentOrder="1" Name="wlpi-ejb.jar"
Targets="myserver" URI="wlpi-ejb.jar"/>
<EJBComponent DeploymentOrder="4" Name="wlc-wlpi-plugin.jar"
Targets="myserver" URI="wlc-wlpi-plugin.jar"/>
<EJBComponent DeploymentOrder="8" Name="wlai-admin-ejb"
Targets="myserver" URI="wlai-admin-ejb.jar"/>
<EJBComponent DeploymentOrder="5" Name="pobean.jar"
Targets="myserver" URI="pobean.jar"/>
<WebAppComponent Name="b2bconsole" ServletReloadCheckSecs="1"
Targets="myserver" URI="b2bconsole.war"/>
<EJBComponent DeploymentOrder="3" Name="wlpi-mdb-ejb.jar"
Targets="myserver" URI="wlpi-mdb-ejb.jar"/>
<EJBComponent DeploymentOrder="7" Name="wlai-ejb-server"
Targets="myserver" URI="wlai-ejb-server.jar"/>
<EJBComponent DeploymentOrder="6" Name="wlxtpi.jar"
Targets="myserver" URI="wlxtpi.jar"/>
<EJBComponent DeploymentOrder="9" Name="wlaiplugin-ejb.jar"
Targets="myserver" URI="wlaiplugin-ejb.jar"/>
<WebAppComponent Name="WLAIPlugin" Targets="myserver" URI="wlai-plugin.war"/>
<EJBComponent DeploymentOrder="10" Name="sampleplugin-ejb.jar"
Targets="myserver" URI="sampleplugin-ejb.jar"/>
<WebAppComponent Name="com.bea.wlpi.SamplePlugin"
Targets="myserver" URI="sampleplugin.war"/>
</Application>
.
.
.

前述の例では、Plug-in Manager の入った wlpi-master-ejb.jar ファイルは、プラグイン サンプル ファイル sampleplugin-ejb.jar より前にデプロイされています。プラグイン サンプルは、依存関係を定義する Plug-in Manager を参照するので、Plug-in Manager ファイルより後にデプロイする必要があります。

config.xml ファイルの更新方法の詳細については、次の URL にある「WebLogic Server コンフィグレーション リファレンス」を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs70/config_xml/index.html

 

ページの先頭 前 次