一、介绍下大背景
工作流的应用市场部分内容就不提了。
首先提一下目前工作流域的两种主流方向
1、workflow。
代表osworkflow等。
workflow的特点为:其主要侧重于对流程的处理模型方面,也就是说它关注的重心是流程的处理
2、BPM-商业逻辑流程模型2、BPM-商业逻辑流程模型
BPM的重心为商业逻辑流程模型的处理
其中以JBPM为代表
这是两者最大的区别,也就是切入点不同。
不过对我们实际应用来说,选哪个区别都不是很大
说到工作流就要提到WFMC组织,这个组织是国际上一些厂商组成的一个工作流的组织,该组织给出了一个他们自己定义的工作流的定义,及XPDL语义。
该定义将工作流的定义包括为至少以下五部分内容:
1、工作流过程活动
2、转移信息
3、参与者声明
4、外部应用程序声明
5、相关数据
并给出了标准的语法来描述上述元数据(代表SHARK OFBIZ 引擎)
1:workflow process
2:activity
3:transition
4:application
5:date field
由于JBPM不符合上述语法定义,因此JBPM是不符合该WFMC规范的
不过上述每部分内容在JBPM都有自己的定义来描述
1:process
2:task
3:transition
4:delegation//这个是我自己理解的
5:variable
到此大背景介绍完毕。
二、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、工作列表:根据实际应用的需求,需要展示给参与者的任务实例列表
(//待办任务列表为其最具代表性的例子)
以上是位jbpm高手给讲的,由于时间问题,现在还只讲到这,明天会继续!o(∩_∩)o...期待啊!!朋友们多多支持啊,虽然有些内容可能中文文档中有,但这个主要是真的3.2版本,和3.1几的版本还是会有些区别,大家和我一起期待吧,同时看了的顶下,好让我有信心继续下去啊
分享到:
相关推荐
jbpm工作流开发指南,详细讲解了配置环境,步骤。
jbpm3.2开发总结.pdf
JBPM3.2工作流开发指南 JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。
jbpm3.2表说明 很详细 1.1 JBPM_PROCESSDEFINITION:流程模版表 关系表 外键存在表 外键名称 外键存在表字段 存在原因 可能 关系 JBPM_NODE JBPM_NODE FK_PROCST_SBPRCDEF SUBPROCESSDEFINITION_ 子流程的...
JBPM3.2 表初始化,流程发布第一课
JBPM3.2 表初始化,流程发布,案例一
用erstudio v7.1查看 博文链接:https://evanz.iteye.com/blog/106101
jbpm3.2 .jar文件 发邮件 修该过后的jar,在这保留下,为以后有用,也希望对你有所帮助
JBPM3.2与Spring结合时任务调度的实现.doc
jbpm3.2 mysql修改可用建表语句 在mysql命令行下使用:source D:1.sql
jbpm3.2 简单的请假流程 希望对大家有用!
文档是自己通过学习JBPM3总结出来的,大家可以参考一下,包括插件的安装,开发流程,学习总结等等!
jbpm3.2开发总结[定义].pdf
JBPM3.2,扫描版本,还算很清晰,虽然比较老,但是用来学习下还算不错,而且是中文,此文件因为太大,所以分为两个压缩包压缩,都已全部上传,请全部下载再解压缩。
开始跑jbpm提供的jbpm-console的时候老是报错,最后知道是缺少jar包的原因,这个rar中包含了jbpm3.2.x基本开发所需所有jar包。
JBPM3.2,扫描版本,还算很清晰,虽然比较老,但是用来学习下还算不错,而且是中文,此文件因为太大,所以分为两个压缩包压缩,都已全部上传,请全部下载再解压缩。
jbpm-jpdl-suite-3.2GA -(2)分开压缩(五个文件)jbpm下载 jbpm-jpdl-suite-3.2GA -(2)分开压缩(五个文件)jbpm下载
jbpm-jpdl-suite-3.2GA 分开压缩(5个文件)jbpmjbpm-jpdl-suite-3.2GA 分开压缩(5个文件)jbpm
JBPM+STRUTS+SPRING整合
jbpm3.2所用的jar包,都是必备,不能少的,不用一个一个找。一次性全下载。直接导入就能用。