一、安裝和配置
ActiveBPEL
引擎
本文檔描述了如何安裝 ActiveBPEL 引擎
(一)、依賴關(guān)系
ActiveBPEL 引擎要求安裝和正確的配置 servlet 容器。 ActiveBPEL 引擎的安裝腳本是用作環(huán) 境變量,也就是 Tomcat 的最上層目錄。 ActiveBPEL 引擎應(yīng)該運(yùn)行在任何標(biāo)準(zhǔn)的 servlet 容器下。
1 、下載 TOMCAT 5.x (http://jakarta.apache.org/tomcat).
安裝 TOMCAT, 并設(shè)置環(huán)境變量 CATALINA_HOME 。(經(jīng)過測試的版本為 Tomcat 5.0.25. )
2 、下載軟件: ( http://www.activebpel.org/download )
其中有兩張格式 a.tar.gz 或者 a.zip. 兩張格式包含的文件是相同的。文件的名字為 activebpel-version-type.tar.gz 或 activebpel-version-type.zip 。版本號是: 1.0.1
類型為 "src" (source), "bin" (binaries), or "all" (source and binaries) 。解壓縮下載的文件包,會創(chuàng)建一個名字為 activebpel-1.0.1 的目錄。可以重新命名,或者一動到任何地方。以下的文檔中,簡稱這個目錄為 "activebpel" 。
?
(二)、安裝 ActiveBPEL 引擎
1 、運(yùn)行腳本 install.bat 。它將拷貝 lib 下的內(nèi)容到 $CATALINA_HOME/shared/lib 目錄下,并且創(chuàng)建 $CATALINA_HOME/bpr 目錄,也就是存放流程的配置文件 .bpr 的目錄。
執(zhí)行命令行如下:
Windows:
??? C:\> cd \activebpel
??? C:\activebpel> install.bat
2 、更改引擎的配置參數(shù)
在 aeEngineConfig.xml 文件里可以配置一些服務(wù)的參數(shù),這個文件在 $CATALINA_HOME/bpr 。配置的改變是通過 BpelAdmin 配置頁改變的,可以訪問 http://localhost:8080/BpelAdmin/config.jsp 頁,并保存配置。
3 、啟動 ActiveBPEL 引擎
啟動 TOMCAT,.
Windows:
C:> %CATALINA_HOME%\bin\startup.bat
4 、停止引擎
關(guān)閉 TOMCAT
Windows:
??? C:\> %CATALINA_HOME%\bin\shutdown.bat
5 、引擎的狀態(tài)信息
當(dāng) tomcat 啟動后,有兩個 WEB 頁可以顯示服務(wù)器的信息
Axis WEB 服務(wù)列表 http://localhost:8080/active-bpel/services
????
ActiveBPEL 引擎管理 http://localhost:8080/BpelAdmin/
?
在此頁面可以修改引擎的配置參數(shù),可查看幫助頁。
?
二、 ActiveBPEL(TM) 引擎的持續(xù)安裝
?
(一)、要使得 ActiveBPEL 引擎作為一個可持續(xù)運(yùn)行的引擎來,需要做以下步驟:
??? 1 、安裝數(shù)據(jù)庫 Sqlserver 2000 和相關(guān)的正確的 JDBC 驅(qū)動,并且保證有權(quán)限創(chuàng)建數(shù)據(jù)庫的表。 Jdbc 的驅(qū)動程序一定要到 sourceforge 網(wǎng)站去下載。下載后解壓縮文件包,把其中的 jtds-1.0.3.jar 文件拷貝到 CATALINA_HOME/common/lib 下。
2 、啟動安裝好的數(shù)據(jù)庫,執(zhí)行 \activebpel\dist\sql\activebpel\ddl 目錄下的 ActiveBPEL-SQLServer.sql 語句,在數(shù)據(jù)庫中創(chuàng)建名為 ActiveBPEL 的數(shù)據(jù)庫,同時創(chuàng)建基本表。
3 、設(shè)置 Tomcat 的數(shù)據(jù)源。打開 %CATILINA_HOME%\conf 目錄下的 omcat-users.xml 文件,增加一個“ admin ”的角色, <role rolename="admin"/> ,然后增加一個角色為 admin 的新用戶。
? 增加數(shù)據(jù)源的操作如下:
??????? ( 1 )、重啟 Tomcat, 并訪問它的管理頁 http://localhost:8080/admin/
?
( 2 )、輸入用戶名和密碼
??????? ( 3 )、按照以下順序點(diǎn)擊左側(cè)的 Frame
???????? Server\Service\Host\Context (/active-bpel)\Resources\Data Sources
??????? ( 4 )、從 the list of Data Source Actions 中選擇 "Create New Data Source"
?????????
??????? ( 5 )、按如下數(shù)值配置 Data Source 信息。(注:在此之前要確保相關(guān)的 JDBC 驅(qū)動已經(jīng)拷貝到 tomcat\common\lib 下。
???????? ?????
??????? JNDI = jdbc/ActiveBPELDB
??????? Data Source URL = jdbc:jtds:sqlserver://localhost:1433/ActiveBPEL
??????? JDBC Driver Class = net.sourceforge.jtds.jdbc.Driver
??????? User Name = [db user name]
??????? Password = [db password]
???????
?????? ( 6 )、按保存按鈕,并提交(上方有一個 Commit 按鈕)。
?? 4 、修改 aeEngineconfig.xml 文件
?? 將 activebpel/dist/conf 下的 aeEngineConfig-Persistent.xml 文件拷貝到 %CATILINA_HOME%\bpr 目錄下,并且重命名為 aeEngineconfig.xml ,原來的 aeEngineconfig.xml 文件則被覆蓋掉。然后打開這個文件, ? 更改其中的一行關(guān)于數(shù)據(jù)庫的信息 <entry name="DatabaseType" value="mysql" /> ,把 value 值改為 sqlserver 。
? ?5 、 ActiveBPEL 數(shù)據(jù)庫的配置文件
為了使 ActiveBPEL 引擎 轉(zhuǎn)換到應(yīng)用內(nèi)存管理的模式,把 /activebpel/dist/conf 下的 ? aeEngineConfig-InMemory.xml 文件拷貝到 %CATILINA_HOME%\bpr 目錄下。
< 注: > 任何已經(jīng)設(shè)置的 ActiveBPEL 引擎的配置參數(shù)現(xiàn)在被重新設(shè)置成缺省值。
?
? 重啟 tomcat ,啟動數(shù)據(jù)庫,打開 http://localhost:8080/BpelAdmin/ 頁,在 Home 頁可以看到一個“ Start Engine ”的按鈕,啟動引擎,當(dāng)表中的 status 為 running, 則表示啟動成功。此時,即為以一個可持續(xù)的方式啟動了 ActiveBPEL 引擎。
?? ??????????????? ???
三、配置
BPEL
流程示例
(
以
custom_invoke
流程為例
)
為了配置一個 BPEL 流程,必須創(chuàng)建和安裝一個包含 BPEL 流程文件的配置文檔。
1 、這里要用到 jar ,所以需要一個 Java SDK,? 任何版本都應(yīng)該可以,其中經(jīng)過測試的版本是 1.4.1 SDK 。安裝 Java SDK, 并且配置環(huán)境變量 JAVA_HOME 。
2 、需要 ant 來運(yùn)行 build.xml 文件。 Ant 測試過的版本為 Ant Version 1.5.1 。安裝 ant 后,設(shè)置環(huán)境變量 ANT_HOME ,并且要在環(huán)境變量 path 里增加% ANT_HOME % \bin; % JAVA_HOME % \bin 。以下的步驟假設(shè)已經(jīng)安裝了 ant ( CATALINA_HOME 一定要定義)
,并做好相應(yīng)的配置。
3 、如果你的 ActiveBPEL 引擎安裝程序不能在 "localhost:8080" 在運(yùn)行,需要改變下列文件中的相關(guān)字符串: build.xml
?????? bpel_process/wsdl/loanapprover.wsdl
?????? bpel_process/wsdl/loanassessor.wsdl
4 、配置示例中的流程
在命令行中執(zhí)行以下命令:
<installdir>/activebpel-version/samples/custom_invoke/ant deploy
該命令調(diào)用了兩個目標(biāo)程序: deploy-bpel and deploy-cih.
deploy-bpel 創(chuàng)建和安裝了一個包含 BPEL 流程信息的 .bpr 文件。 deploy-cih 創(chuàng)建和安裝了一個包含 custom invoke handlers 的 .jar 文件。
每次一個新的 jar 拷貝到 $CATALINA_HOME/shared/lib 下,重啟 TOMCAT 后可以看到它。不需要每次執(zhí)行“ ant deploy ”命令時都重啟 TOMCAT, 僅僅當(dāng)每次 deploy-cih 拷貝 jar 文件到 $CATALINA_HOME/shared/lib/ 下需要重啟 TOMCAT. 這不同于重新配置一個 BPR, he ActiveBPEL 引擎會發(fā)現(xiàn)并重新裝載它。
5 、在客戶端運(yùn)行 BPEL 流程
運(yùn)行 ant client 命令調(diào)用 BPEL 流程,可以看到運(yùn)行結(jié)果。
或者訪問: http://localhost:8080/bpel_example_client_page/index.jsp 也可以看到運(yùn)行結(jié)果。
四、配置自己的流程
BPEL 的流程需要創(chuàng)建一個配置文檔 (.jar 和 .bpr 文件 ), 并且把他們拷貝到 servelet 容器中 . 為了創(chuàng)建這些文件 , 需要組織一個特殊結(jié)構(gòu)的目錄 , 并創(chuàng)建一兩個相應(yīng)的配置文件 , 然后才能通過這些目錄來創(chuàng)建文檔 .
創(chuàng)建一個目錄 , 我們假設(shè)這個例子叫 mybpel, 然后按照下邊的列表創(chuàng)建它的子目錄 :
??? * bpel
??? * META-INF
??? * wsdl
??? * partners (optional)
??? 其中 wsdl 目錄中包含了所有定義過的 WSDL 文件 , 在 META-INFM 目錄中包含了 wsdlCatalog.xml 文件 , partner definition 目錄定義了 .pdef 文件 . 以 .pdd 為后綴的文件是流程的配置描述 ..
作為一個例子 , 在各個的目錄中放入對應(yīng)的文件 , 假設(shè)有兩個 WSDL 的服務(wù) ,BPEL 的流程名字為 ? my_process.bpl, 各目錄結(jié)構(gòu)如下所示 :
??? mybpel
??????? META-INF
??????????? wsdlCatalog.xml
??????? bpel
??????????? my_process.bpl
??????? my_process.pdd
??????? wsdl
??????????? service1.wsdl
??????????? service2.wsdl
? 除非有 .pdef 文件 , 否則不需要 partners 目錄 .
? 應(yīng)用這個目錄結(jié)構(gòu) , 創(chuàng)建文檔并拷貝的到 servelet 容器中 . 下面的命令顯示了如何配置 BPEL 流程到 TOMCAT( 如果沒有 partners 目錄 , 則把 partners 從 jar 的命令行中去掉 ):
Windows:
??? C:\> cd mybpel
??? C:\mybpel> jar cf mybpel.bpr *.pdd META-INF bpel partners wsdl
??? C:\> cp mybpel.bpr $CATALINA_HOME/bpr
在配置文檔中有多個 .bpel 或 .pdd 文件是允許的 . 另外 ,WSDL 文件可以放在任意位置 , 即使是另一臺機(jī)器 , 只要把他們打包 , 在 .pdd 文件中說明 , 讓 BPEL 引擎知道它們在哪就可以 .