JBPM是公开源代码项目,它使用要遵循 Apache License。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。JBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。
JBPM为设计和开发工作流和业务流程管理系统提供了一个先进的平台。由API、特定领域的语言和图形建模工具组成的框架让开发人员和业务分析人员能够使用通用平台进行沟通及操作。
1.什么是工作流?
工作流就是工作流程的计算机化。即将工作流程中的工作(任务)如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。就是用计算机能理解的方式描述工作流程。
2.什么是jBPM?
全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。
是一个面向流程的工作流/BPM框架和工具集,它使业务分析人员能够与软件组件进行交互,有助于获得有效地业务解决方案。
3.JBPM流程的一个基本的处理步骤
1、加载(发布)流程定义
2、启动流程
3、处理任务
4、记录流程的相关状态
1、加载(发布)流程定义
这个意思是,我们通过jbpm的designer插件,或者是用其他工具,
制定出processDefinition(可以是String,可以是包文件,也可以是流数据等),
然后将其加载到应用中的过程。这个加载可以是写入内存中,或者是直接写入数据库等
2、启动流程
即processDefinition.createProcessInstance(),创建流程实例的过程。
具体创建实例的方法有多种,可根据自己的需要自行选择。
3、处理任务
在流程流转的过程中,JBPM引擎会为我们生成任务的实例,我们就需要针对这些
任务实例来进行处理,然后结束这些任务实例,并推动流程的流转
4、记录流程的相关状态
记录流程状态这点包括且不限于以下内容:
1)流程实例的开启
2)任务实例的创建
3)任务实例的开始执行
4)任务实例的结束
5)流程实例的结束
三、JBPM工作流的主要概念
1、流程定义(process definition):预先定义的业务逻辑
2、流程实例(process instance):业务的实际流转过程
3、参与者(actor):任务的参与者(可能是人也可能是角色或是组织等)
4、任务(task):业务逻辑上,会呈现给参与者处理的元素
5、任务实例(task instance):业务实际流转过程中,生成的需要参与者进行参与的实际内容
6、流转(transition):连接业务逻辑不同节点的桥梁,也是业务实例进行流转的依据
7、工作流引擎(engine):核心组件,负责生成流程运行时的各种实例及数据,以及监视和管理流程的运行
8、工作列表:根据实际应用的需求,需要展示给参与者的任务实例列表 //待办任务列表为其最具代表性的例子