一、安装和配置 ActiveBPEL 引擎
本文档描述了如何安装 ActiveBPEL 引擎
(一)、依赖关系
ActiveBPEL 引擎要求安装和正确的配置 servlet 容器。 ActiveBPEL 引擎的安装脚本是用作环 境变量,也就是 Tomcat 的最上层目录。 ActiveBPEL 引擎应该运行在任何标准的 servlet 容器下。
1 、下载 TOMCAT 5.x (http://jakarta.apache.org/tomcat).
安装 TOMCAT, 并设置环境变量 CATALINA_HOME 。(经过测试的版本为 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) 。解压缩下载的文件包,会创建一个名字为 activebpel-1.0.1 的目录。可以重新命名,或者一动到任何地方。以下的文档中,简称这个目录为 "activebpel" 。
(二)、安装 ActiveBPEL 引擎
1 、运行脚本 install.bat 。它将拷贝 lib 下的内容到 $CATALINA_HOME/shared/lib 目录下,并且创建 $CATALINA_HOME/bpr 目录,也就是存放流程的配置文件 .bpr 的目录。
执行命令行如下:
Windows:
C:\> cd \activebpel
C:\activebpel> install.bat
2 、更改引擎的配置参数
在 aeEngineConfig.xml 文件里可以配置一些服务的参数,这个文件在 $CATALINA_HOME/bpr 。配置的改变是通过 BpelAdmin 配置页改变的,可以访问 http://localhost:8080/BpelAdmin/config.jsp 页,并保存配置。
3 、启动 ActiveBPEL 引擎
启动 TOMCAT,.
Windows:
C:> %CATALINA_HOME%\bin\startup.bat
4 、停止引擎
关闭 TOMCAT
Windows:
C:\> %CATALINA_HOME%\bin\shutdown.bat
5 、引擎的状态信息
当 tomcat 启动后,有两个 WEB 页可以显示服务器的信息
Axis WEB 服务列表 http://localhost:8080/active-bpel/services
ActiveBPEL 引擎管理 http://localhost:8080/BpelAdmin/
在此页面可以修改引擎的配置参数,可查看帮助页。
二、 ActiveBPEL(TM) 引擎的持续安装
(一)、要使得 ActiveBPEL 引擎作为一个可持续运行的引擎来,需要做以下步骤:
1 、安装数据库 Sqlserver 2000 和相关的正确的 JDBC 驱动,并且保证有权限创建数据库的表。 Jdbc 的驱动程序一定要到 sourceforge 网站去下载。下载后解压缩文件包,把其中的 jtds-1.0.3.jar 文件拷贝到 CATALINA_HOME/common/lib 下。
2 、启动安装好的数据库,执行 \activebpel\dist\sql\activebpel\ddl 目录下的 ActiveBPEL-SQLServer.sql 语句,在数据库中创建名为 ActiveBPEL 的数据库,同时创建基本表。
3 、设置 Tomcat 的数据源。打开 %CATILINA_HOME%\conf 目录下的 omcat-users.xml 文件,增加一个“ admin ”的角色, <role rolename="admin"/> ,然后增加一个角色为 admin 的新用户。
增加数据源的操作如下:
( 1 )、重启 Tomcat, 并访问它的管理页 http://localhost:8080/admin/
( 2 )、输入用户名和密码
( 3 )、按照以下顺序点击左侧的 Frame
Server\Service\Host\Context (/active-bpel)\Resources\Data Sources
( 4 )、从 the list of Data Source Actions 中选择 "Create New Data Source"
( 5 )、按如下数值配置 Data Source 信息。(注:在此之前要确保相关的 JDBC 驱动已经拷贝到 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 文件则被覆盖掉。然后打开这个文件, 更改其中的一行关于数据库的信息 <entry name="DatabaseType" value="mysql" /> ,把 value 值改为 sqlserver 。
5 、 ActiveBPEL 数据库的配置文件
为了使 ActiveBPEL 引擎 转换到应用内存管理的模式,把 /activebpel/dist/conf 下的 aeEngineConfig-InMemory.xml 文件拷贝到 %CATILINA_HOME%\bpr 目录下。
< 注: > 任何已经设置的 ActiveBPEL 引擎的配置参数现在被重新设置成缺省值。
重启 tomcat ,启动数据库,打开 http://localhost:8080/BpelAdmin/ 页,在 Home 页可以看到一个“ Start Engine ”的按钮,启动引擎,当表中的 status 为 running, 则表示启动成功。此时,即为以一个可持续的方式启动了 ActiveBPEL 引擎。
三、配置 BPEL 流程示例 ( 以 custom_invoke 流程为例 )
为了配置一个 BPEL 流程,必须创建和安装一个包含 BPEL 流程文件的配置文档。
1 、这里要用到 jar ,所以需要一个 Java SDK, 任何版本都应该可以,其中经过测试的版本是 1.4.1 SDK 。安装 Java SDK, 并且配置环境变量 JAVA_HOME 。
2 、需要 ant 来运行 build.xml 文件。 Ant 测试过的版本为 Ant Version 1.5.1 。安装 ant 后,设置环境变量 ANT_HOME ,并且要在环境变量 path 里增加% ANT_HOME % \bin; % JAVA_HOME % \bin 。以下的步骤假设已经安装了 ant ( CATALINA_HOME 一定要定义)
,并做好相应的配置。
3 、如果你的 ActiveBPEL 引擎安装程序不能在 "localhost:8080" 在运行,需要改变下列文件中的相关字符串: build.xml
bpel_process/wsdl/loanapprover.wsdl
bpel_process/wsdl/loanassessor.wsdl
4 、配置示例中的流程
在命令行中执行以下命令:
<installdir>/activebpel-version/samples/custom_invoke/ant deploy
该命令调用了两个目标程序: deploy-bpel and deploy-cih.
deploy-bpel 创建和安装了一个包含 BPEL 流程信息的 .bpr 文件。 deploy-cih 创建和安装了一个包含 custom invoke handlers 的 .jar 文件。
每次一个新的 jar 拷贝到 $CATALINA_HOME/shared/lib 下,重启 TOMCAT 后可以看到它。不需要每次执行“ ant deploy ”命令时都重启 TOMCAT, 仅仅当每次 deploy-cih 拷贝 jar 文件到 $CATALINA_HOME/shared/lib/ 下需要重启 TOMCAT. 这不同于重新配置一个 BPR, he ActiveBPEL 引擎会发现并重新装载它。
5 、在客户端运行 BPEL 流程
运行 ant client 命令调用 BPEL 流程,可以看到运行结果。
或者访问: http://localhost:8080/bpel_example_client_page/index.jsp 也可以看到运行结果。
四、配置自己的流程
BPEL 的流程需要创建一个配置文档 (.jar 和 .bpr 文件 ), 并且把他们拷贝到 servelet 容器中 . 为了创建这些文件 , 需要组织一个特殊结构的目录 , 并创建一两个相应的配置文件 , 然后才能通过这些目录来创建文档 .
创建一个目录 , 我们假设这个例子叫 mybpel, 然后按照下边的列表创建它的子目录 :
* bpel
* META-INF
* wsdl
* partners (optional)
其中 wsdl 目录中包含了所有定义过的 WSDL 文件 , 在 META-INFM 目录中包含了 wsdlCatalog.xml 文件 , partner definition 目录定义了 .pdef 文件 . 以 .pdd 为后缀的文件是流程的配置描述 ..
作为一个例子 , 在各个的目录中放入对应的文件 , 假设有两个 WSDL 的服务 ,BPEL 的流程名字为 my_process.bpl, 各目录结构如下所示 :
mybpel
META-INF
wsdlCatalog.xml
bpel
my_process.bpl
my_process.pdd
wsdl
service1.wsdl
service2.wsdl
除非有 .pdef 文件 , 否则不需要 partners 目录 .
应用这个目录结构 , 创建文档并拷贝的到 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 文件可以放在任意位置 , 即使是另一台机器 , 只要把他们打包 , 在 .pdd 文件中说明 , 让 BPEL 引擎知道它们在哪就可以 .