级别: 初级 栋 鱼 (yudong@cn.ibm.com), IBM 中国软件开发中心软件工程师
2006 年 3 月 08 日 本文将介绍两种建立业务流程引擎和人工任务管理器的方法和如何检查引擎被成功建立.
在IBM目前刚刚推出的WebSphere Process Server(WPS )产品中,集成了业务流程编排(Business Process choreographer)和人工任务两个共享组件.其中人工任务组件是IBM对业务流程语言(Business Process Execution Language,BPEL)的扩展.WBI Server Foundation中建立业务流程引擎相比较,WPS V6.0增加了人工任务管理器和系统监控安全角色.本文将介绍两种建立业务流程引擎和人工任务管理器的方法和如何检查引擎被成功建立.
1 什么是业务流程引擎和人工任务管理器
业务流程是对企业日常经营活动流程抽象后建立的逻辑模型,一个业务流程是企业人力和IT等各种资源的组合,它包含了多种活动,可以看作是一个有开始节点和结束节点的有向图.人工任务(Human Task)是指业务流程中的活动(Activity)和人的交互.人工任务管理器支持四种同类型的人工任务:机器-人场景中的任务,人-机器场景中的任务,人-人场景中的任务,管理任务.和WBI Server Foundation相比较,WPS V6.0增加了基于SCA的人工任务,使用户可以灵活地替换系统中的自动服务和真正的人工实现. 业务流程引擎和人工任务管理器为业务流程和人工任务的相关应用提供了运行环境,负责对业务流程解析和任务调度.
2建立业务流程引擎和人工任务管理器
业务流引擎和人工任务管理器的安装过程中主要涉及到了后台数据库的建立,消息中间件中队列管理器和队列的建立记忆安全性角色的指定.目前在WPS V6.0 中基本上支持了各种主流数据库作为业务流引擎的后台数据库,如Oracle9i, Oracle10g, DB2 V8.2,SQL Server 2000, Informix 9,Sybase 12.5.对于消息中间件则有WebSphere MQ V6,JetSteam.WPS V6.0 提供了两种创建业务流引擎和人工任务管理器的办法.一种是Web方式,即通过浏览器访问WPS V6.0的管理控制台,然后使用创建向导一步一步建立.另一种方式就是通过控制台命令行执行脚本创建,相关的脚本文件已经包含在WPS V6.0中,在WPS V6.0的安装目录下的ProcessChoreographer子目录下.
2.1 使用Web向导方式
2.1.1 使用Web向导方式建立业务流程引擎
首先通过命令行启动WPS V6.0 服务器,命令行格式是: $WAS_HOME/bin/startServer.sh/bat $servername. 例如: C:/WAS6/bin/startServer.bat server1. 然后通过浏览器访问服务器的控制台http://serverhostname:9060/ibm/console.配置业务流程引擎需要访问"Servers-Application servers-server1-Configuration-Container Settings-Business process container settings",见下图2.1.1-1:
图 2.1.1-1
点击"Business process container",启动安装向导(Business process container installation wizard)创建业务流程引擎,见图2.1.1-2
图2.1.1-2
第一步创建业务流程引擎使用的数据源,见图2.1.1-3:
图2.1.1-3
JDBC providers需要根据不同的数据库选择相对应的实现类,例如如果Oracle数据库是9i而且数据库和WPS V6.0服务器不在同一台机器上,那JDBC providers应该选择"Oracle 9i&10 g thin(Oracle JDBC Driver (XA))". Data Source user name和Data Source password需要输入连接BPEDB的用户名和密码.
完成以上配置后,点击"Next"进入第二步,设置JMS Provider和相关的安全性设置.见图2.1.1-4:
图2.1.1-4
完成以上配置后,点击"Summary",确认所有配置正确后,点击"Finish" 完成业务流程引擎的建立. 如图2.1.1-5:
图2.1.1-5
2.1.2 使用Web向导方式建立人工任务管理器
要创建人工任务管理器,首先需要启动WPS V6.0服务器,然后通过浏览器访问WPS V6.0的控制台,选择"Application servers-server1-Configuration-Container settings-Human task container",如下图2.1.2-1:
图2.1.2-1
人工任务管理器也有对应的创建向导,见图2.1.2-2:
图2.1.2-2
创建人工任务管理器第一步是创建JMS Provider和JMS相关的安全设置,见图2.1.2-3:
图2.1.2-3
人工任务的JMS provider有两个可选项:WebSphere MQ 和Default messaging provider. Default messaging provider采用内嵌在WebSphere V6.0中的JetStream作为消息机制的提供者.如果选择WebSphere MQ 则需要在WPS V6.0服务器所在的机器上安装WebSphere MQ.对于Queue manager选项,可使用默认值BPC_hostname_server1.JMS userID and JMS password需要输入相应的JMS provider认可的用户.例如对于采用WebSphere MQ作为JMS provider,JMS user必须是mqm组的用户.Human Task Manager security configuation则需要指定管理员用户和管理员组. 完成以上配置后,点击"Next"进入创建人工任务管理器的第二步,见图2.1.2-4:
图2.1.2-4
在第二步中,如果人工任务涉及到的JMS Connection factory,JMS Destination Queue,JMS Destination Topic之前已经创建过了,就选择"Select existing JMS resource",否则选择默认值.完成后点击"Next",确认人工任务管理器的配置,如图 2.1.2-5:
图 2.1.2-5
确认无误后,即可点击"Finish"完成人工任务管理器的创建.
2.2 使用命令行方式建立业务流程引擎和人工任务管理器
WPS V6.0 还提供了通过在命令行运行脚本建立业务流程引擎和人工任务管理器的方法,在运行脚本之前必选确保WPS服务器已经启动.该脚本文件bpeconfig.jacl位于WPS V6.0 安装路径下的ProcessChoreographer/sample 子目录下.要执行该脚本需要切换到该目录下,命令行格式如下:
$WPS V6.0_InstallRoot/bin /wsadmin.bat -f bpeconfig.jacl 或 $WPS V6.0_InstallRoot/bin /wsadmin.sh -f bpeconfig.jacl
执行该命令后按照提示输入相应参数:
1) Install the business process container [Yes/no]? Yes
在WPS V6.0上部署业务流程引擎应用
2) User(s) to add to role BPESystemAdministrator (separator is pipe, '|') []: root
Group(s) to add to role BPESystemAdministrator (separator is pipe, '|') []:
User(s) to add to role BPESystemMonitor (separator is pipe, '|') []: root
Group(s) to add to role BPESystemMonitor (separator is pipe, '|') []:
指定用户在业务流程引擎中的管理员和监控者角色, 用户组指定可为空
3) Run-as UserId for role JMSAPIUser [root]: root
pat's password []: ********
指定可访问JMS 资源的用户和口令,如果JMS Provider使用的是WebSphere MQ,该用户需要是mqm组的用户.
4) Use a Cloudscape, a DB2, an Informix, an Oracle, or an SQL Server database [Cloudscape/DB2/zOS-DB2/Informix/Oracle/MSSQL]? Cloudscape
指定业务流程引擎和人工任务管理器所用到数据库(BPEDB)的类型
5) Create the DataSource for the Process Choreographer database [Yes/no]? Yes
Database name [BPEDB]: BPEDB
创建业务流程引擎和人工任务管理器的数据源
6) Create the Process Choreographer database [Yes/no]? Yes
创建业务流程引擎和人工任务管理器的后台数据库BPEDB
7) Use WebSphere default messaging or WebSphere MQ? WPM
指定使用WebSphere默认的消息提供者还是WebSphere MQ
8) User ID for access to default messaging [root]: root
root's password: ********
指定连接默认消息提供者的用户和口令
9) Install the task container [Yes/no]? Yes
在WPS V6.0上部署人工任务管理器
10) User(s) to add to role TaskSystemAdministrator (separator is pipe, '|') []: root
Group(s) to add to role TaskSystemAdministrator (separator is pipe, '|') []:
User(s) to add to role TaskSystemMonitor (separator is pipe, '|') []: root
Group(s) to add to role TaskSystemMonitor (separator is pipe, '|') []:
Run-as UserId for role EscalationUser [pat]: root
root's password: ********
指定用户在人工任务管理器中的管理员,监控者,扩展用户角色, 用户组指定可为空
10) Use WebSphere default messaging or WebSphere MQ? WPM
指定使用WebSphere默认的消息提供者还是WebSphere MQ
11) Create the mail notification session for the human task manager [Yes/no]? Yes
Mail transport host [pat2003server1.cn.ibm.com]: pat2003server1.cn.ibm.com
User ID for access to mail server (may be empty) []:
创建人工任务管理器的邮件通知会话,需要指定邮件服务器和用户
12) Install the BPC Explorer [Yes/no]? Yes
Virtual Host for the BPC Explorer [default_host]: default_host
Precompile JSPs (precompiled JSPs cannot be debugged) [No/yes]? No
安装业务流程引擎和人工任务管理器的Web客户端
13) Enable global security using the Local OS user registry [Yes/no]? Yes
Server user ID [root]: root
root's password: ********
Enforce Java 2 security [Yes/no]? Yes
Set 'com.ibm.SOAP.loginUserid' in soap.client.props [Yes/no]? Yes
Server user ID: pat
[auto:serverPwd] pat's password: ********
3 检查业务流程引擎和人工任务管理器状态
3.1 检查业务流程引擎和人工任务管理器应用的部署
启动WPS V6.0服务器,使用浏览器访问管理控制台,点击"Appliations-Enterprise Applications",查看应用BPCExplorer,BPEContainer和TaskContainer状态是否正常,见图3.1-1:
图3.1-1
3.2 检查数据源
点击"Resource-JDBC Provides",选择"scope"是"server",再选择"Cloudscape JDBC Provided(XA)-DataSources",测试"BPEDataSource"是否能够连通.见图3.2-1:
图3.2-1
3.3 检查消息队列
检查业务流程引擎和人工任务管理器中涉及到的消息队列状态是否正常,本例中使用JetSteam作为JMS Provider,所以需要检查Message Engine(图3.3-1)和Destination(图3.3-2)的状态:
图 3.3 -1
图 3.3 -2
4 总结
业务流程引擎和人工任务管理器的正确建立是确保WPS V6.0 中 业务流程编排和人工任务管理功能正常工作的基础,本文着重介绍了通过Web方式和命令行方式建立业务流程引擎和人工任务管理器的方法.
参考资料
关于作者
对本文的评价
|