`
- 浏览:
3467 次
- 性别:
- 来自:
北京
-
[b][b]对jBPM来讲,工作流由一些节点和用户定义的Hander组成。一个工作流从start-state开始,中间经过若干个节点(state、fork、milestone、process-state、decision和join),最后结束于end-state。节点之间通过transient来连接,指明当前节点下面要经过的节点。经过节点时,jBPM会触发相应的Hander来完成用户指定的工作。Hander包括各种事件的ActionHander;指定节点指定操作Actor的AssignmentHandler;定义节点工作的Hander,包括fork节点ForkHander,Join节点JoinHander,decision节点的DecisionHander,process-state节点的ProcessInvocationHandler。jBPM对Hander都有缺省的实现,如果用户没有指定相应Hander,jBPM就使用缺省Hander。
定义工作流程的时候,可以根据实际业务流程,先画UML状态图,然后根据活动图和jpdl编写processdefinition.xml-jBPM工作流定义文件。状态图的节点可以对应到jpdl的相应节点,比如状态对应于state、转换(分叉)对于fork。流程定义文件设计的时候,可以将一些业务处理放在Hander处理。
jBPM节点实际上是XPDL规范中Activity的细化,是一种特殊的Activity。start-state与end-state节点,是由jBPM负责处理,jBPM从start-state节点开始工作流程,在end-state结束工作流程。
state节点要外部的参与才能进入到下一个状态,比如请假流程中需要经理批准的步骤。
Join相当于activity transition 的join,fork相当于activity transition 的fork,但是采用怎样join和fork,用户可以自己定义。缺省的fork相当于XPDL 的AND FORK,每个分叉都走;缺省的join 相当于XPDL 的AND JOIN,所有分叉都到达后,才进入下一节点。
Decision相当于编程语言中的判断,由DecisionHander决定下一个要经过的节点。通过自己定义DecisionHander,用户可以借助decision节点实现自动节点,即流程到这里,执行一定操作,自动进入下一个节点。
Process-state相当于subflow activity,ProcessInvocationHandler负责处理具体调用子流程的过程,比如子流程名称,传递的参数等。jBPM没有规定子流程的调用过程,只是提供了一个DefaultProcessInvocationHandler,给出了一个调要的范例。
Milestone是一种特殊的节点,用于同步两个执行路径,比如执行到milestone节点后,jBPM就等待,等到另外一条路径上某个节点发出可以继续的信号后,jBPM才进入milestone的下一个节点。节点通过MilestoneReachedActionHandler来发消息。
工作流中用到的所有变量通过Variable来说明,变量类型通过type来定义。类型定义必须要继承org.jbpm.delegation.Serializer接口。变量是作为字符串存储在数据库中的,因此类型要提供与字符串类型相互转换的方法。jBPM变量的作用域是工作流本身。
流程执行到某个节点的时候,会触发节点的相应事件。事件类型包括process-start、process-end、state-enter、state-leave、state-after-assignment、milestone-enter、milestone-leave、decision-enter、decision-leave、fork-enter、fork-every-leave、join-every-enter、join-leave、transition。事件具体执行的操作,用户通过继承ActionHander接口来指定。[/b][/b]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
JBPM工作流实战_流程定义文件的上传处理视频
eclipse3.4解压版带jbpm流程定义插件,很简单,只需解压即可使用
jbpm 基本使用方法,附带sqlserver数据库,附加数据库后可直接运行
jbpm工作流基础视频,讲解工作流流程定义的整个过程,适合于jbpm的初学者学习
jBPM 视频教程 管理流程定义 jBPM 视频教程 管理流程定义
了解jbpm流程引擎内核的设计思想和结构,需要具备一定的工作流基本概念,例如流程系统结构、流程定义和流程实例等。同时,需要具备一定的开发环境,例如Eclipse开发环境和jbpm-starters-kit开发包。 jbpm流程引擎...
对JBPM工作流进行二次开发,主要包括对JBPM功能的扩展、流程定义工具、流程实例监控工具、工作流控制台、应用程序接口以及组织结构扩展接口的开发。 在次基础上,开发基于工作流系统的办公自动化系统等相应的业务...
在选择工作流系统时,需要考虑到流程定义的四个层次:流程定义、流程实例、流程上下文变量和流程的运行状态。 本文还对工作流和业务流程管理(BPM)的概念进行了比较,提出了工作流系统的主要优点和挑战。 在...
JBPM创建数据库,流程定义以及发布学习笔记
jbpm4 jbpl流程定义语言,详细介绍了jbpl语言的各种定义
工作流干预过程、业务程序的自动化处理,文档、信息或者任务按照定义好的规则在参与者间传递,来完成整个业务目标或者对整个业务目标的完成做贡献。 三、工作流技术的特点 工作流技术的主要特点是过程的自动化处理...
持久执行模式是指流程定义、 流程执行以及流程历史都保存在关系数据库中, 这是jBPM实际通常使用的方式。 这个用户指南介绍了jBPM中支持的使用方式。 开发指南介绍了更多的、高级的、定制的、 没有被支持的选项。
Jbpm3的图形化流程定义已经决定嵌入到jboss eclipse IDE中,大家看看jboss eclipse IDE preview 1.5版,我们已经可以用插件方式编辑一个jbpm3流程定义文件了。 Osworkflow的靠山是opensymphony。我是非常喜欢这个...
八、JBPM流程建模与应用 64 8.1 JBPM的建模工具 64 8.1.1 建模工具的安装 64 8.2 公司报销流程示例 67 8.2.1 流程建模 67 8.2.2 流程数据库搭建 76 8.2.3 构建业务表 79 8.2.4 搭建工程 82 8.2.5 报销流程的发布 83 ...
JBPM4 PVM的流程定义模型与过程调度
1.10 JBPM_MODULEDEFINITION:流程模块定义表 8 1.11JBPM_EXCEPTIONHANDLER:流程异常处理器表 8 1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表 9 1.13 JBPM_ SWINLANE:DECISION节点判断条件表 10 2 ...
jBPM教学视屏(02管理流程定义)。。。。。。。。。
jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC′s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个商务流程可以被看作是...
描述一个完整的业务过程,它由流程图定义及基于它之上的业务流程定义组成。
jbmp入门教程,jBPM流程定义语言,业务日历,流程建模