BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > BPM トピック > BPM プラグイン プログラミング ガイド > プラグインのデプロイメント |
BPM プラグイン プログラミング ガイド
|
プラグインのデプロイメント
プラグインはステートレス セッション EJB です。他の EJB と同じようにデプロイされます。この章では、プラグインをデプロイする方法について説明します。この章の内容は以下のとおりです。
注意: プラグイン サンプルがデプロイされていますので、ご利用ください。プラグイン サンプル JAR、WAR、デプロイメント記述子ファイルは、インストール時に適切なディレクトリにコピーされます。
プラグイン デプロイメント記述子ファイルの定義
プラグインをデプロイするには、次の節で説明するように、EJB とオンライン ヘルプのデプロイメント プロパティを定義するプラグイン デプロイメント記述子ファイルを定義する必要があります。
プラグイン EJB デプロイメント記述子ファイルの定義
次の表に、プラグイン EJB のデプロイメントを定義するために必要なデプロイメント記述子ファイルを示します。
EJB デプロイメント記述子ファイルの詳細については、次の URL にある『WebLogic エンタープライズ Java Beans プログラマーズガイド』の「WebLogic Server への EJB のデプロイ」を参照してください。 プラグイン サンプルから抜粋した次のコード リストは、ejb-jar.xml および weblogic-ejb-jar.xml デプロイメント記述子ファイルを定義する方法を示しています。 注意: プラグインは、コンテナ管理によるトランザクション境界設定をサポートしている必要があります。したがって、プラグイン通知リスナ メソッドの trans-attr 要素は、Required、Supports、またはMandatory のいずれかの値である必要があります。 コード リスト 9-1 プラグイン サンプル ejb-jar.xml EJB デプロイメント記述子 コード リスト 9-2 プラグイン サンプル weblogic-ejb-jar.xml EJB デプロイメント記述子 プラグイン オンライン ヘルプ デプロイメント記述子ファイルの定義 次の表に、プラグイン オンライン ヘルプのデプロイメントを定義するために必要なデプロイメント記述子ファイルを示します。
http://edocs.beasys.co.jp/e-docs/wls/docs70/ejb/deploy.html
<?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><?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>
オンライン ヘルプ(Web アプリケーション)デプロイメント記述子ファイルの詳細については、次の URL にある「Web アプリケーションのアセンブルとコンフィグレーション」の「Web アプリケーションのデプロイメント記述子の記述」を参照してください。 プラグイン サンプルから抜粋した次のコード リストは、web.xml および weblogic.xml デプロイメント記述子ファイルを定義する方法を示しています。 コード リスト 9-3 プラグイン サンプル オンライン ヘルプ web.xml デプロイメント記述子 コード リスト 9-4 プラグイン サンプル オンライン ヘルプ weblogic.xml デプロイメント記述子
http://edocs.beasys.co.jp/e-docs/wls/docs70/webapp/webappdeployment.html
<!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><!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 ファイルにプラグインをパッケージ化する手順は、次のとおりです。
プラグイン サンプルから抜粋した次のコード リストは、プラグインをパッケージ化するためのビルド スクリプト 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
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |