JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、
工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。
jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。
1) jBPM的运行需要数据库的支持,因此
系统设计时要选定所用数据库。只要是Hibernate支持的数据库,jBPM就支持。数据库的初始化可以由jBPM自动完成,也可以通过ant generate.ddl任务生成SQL语句,在jBPM外部自己创建所需的表。
2) 使用jPdl定义
工作流,生成processdinination.xml文件。可以采用GUI工具jPdl,但目前只支持jBPM1.0,而且bug很多。XML的DTD
定义文件在jBPM下载包中。
3) Ant create.pde生成pde包的工作目录。将processdinination.xml文件和其它需要的文件放在指定的目录下,使用ant build.precess.archives生成pde包。pde包的格式采用jar。
4) 更改pde工作目录/src/config/jbpm.properties的相关属性,主要是设定相关的数据库连接信息。注意要将数据库的JDBC驱动放在pde工作目录的lib目录下。
5) Ant deploy.process.archives将刚才生成的pde部署到数据库。实际上就是向数据库插入一些相关数据。
6) 利用jBPM API函数开发相应的工作流程。
表达了一个抽象的流程定义,之所以说是抽象,因为它没有表示确切的执行者,比如某借款人被具体化为
张三,部门主管成为张三的部门经理
李四,而财务明确为王五的时候,这个流程定义就被具体化,成为一个流程实例。此外过程中的相关人员我们称之为参与者Actor,过程需要参与者介入的环节称之为Task,每—个任务在流程实例中的具体化称之为任务实例,从一个任务结点到另一个任务结点转为叫做流转(Transition),在流程中,由程序预先设定的行为如发邮件,我们称之为活动(Action)。