ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:129.64KB ,
资源ID:15906524      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15906524.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(jbpm工作流开发Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

jbpm工作流开发Word下载.docx

1、13. JBPM的用户角色管理 5JBPM与Spring整合 61. 安装 62. jBPM设计 63. 使用 11一、 初始化 11二、 根据用户提取该用户的流程 124. 权限 125. 会签 12jBPM简介JBoss jBPM为设计及开发工作流和业务流程管理系统提供了一个先进的平台。由API、特定领域的语言和图形建模工具组成的框架让开发人员和业务分析人员能够使用通用平台进行沟通及操作。工作流管理和业务流程管理(BPM)正在迅速成为企业获得软件敏捷性和适应性的重要方法。JBoss jBPM是一个面向流程的工作流BPM框架和工具集,它使业务分析人员能够与软件组件进行交互、有助于获得有效的业

2、务解决方案。许多企业在积极寻求一种结构化方法,以便设计业务动作/事务,并且优先使用自动化流程加以执行。业务流程管理(BPM)和工作流管理使用动作、任务和流程等概念,提供了解决这个问题的办法。JBoss jBPM是采用开放源代码(LGPL许可证)的框架,包括了Java API、工具和定义语言JBoss jBPM 3.0提供了这样的功能:使用业务流程执行语言(BPEL)、灵活而且可插入的应用编程接口(API)、本地流程定义语言以及图形建模工具,利用基于行业标准的编制机制开发新的自动化业务流程和工作流。JBPM相关概念1. JPDL的流程定义元素第一层:GraphElementGraphElemen

3、t有四个属性:(1)processDefine 表示当前元素属于哪个流程定义(2)events 表示可以接收哪些event(3)name 名字(4)exceptionHandlers 异常处理类集合(List)第二层:node、processDefinition、Transition、Task它们都继承自GraphElement(1)processDefinition表示流程定义(implements NodeCollection),它有下面的属性:name、version、nodes、startState。nodes表示流程中所有的node, startState用于启动流程时找到首节点。(

4、2)Transition表示转移,它有三个属性:from(Node),to(Node),supportedEventTypes表示支持的event类型(3)node表示节点,它有四个属性:leaving transitions、arriving transitions、action、superState。(4)Task 定义任务第三层:各种不同的node它们都继承自node。 Decision、EndState、Fork、Join、Merge、Milestone、 InterleaveEnd、InterleaveStart、ProcessState、State。2. jBPM的tokenJBP

5、M中最重要的概念,应该是令牌(Token)和信令(Signal)。在整个流程实例运行过程中,我们可以迅速的利用token得到其当前的 current state。1)Token记录了当前的状态(current state),只有当前的状态(或称节点)拥有该令牌2)向TOKEN发signal后,当前状态收到该signal3)当前状态把令牌传给signal中指定的transition4)transition收到令牌后,不强占,马上把令牌传给下个状态.5)根据令牌的位置,流程的状态已经发生改变.3. process definition一个process definition代表了一个正式的业务流程

6、,它以一个流程图为基础。这个流程图由许多node和transition组成。每个node在这个流程图 里都有着各自特殊的类型,这些不同的类型决定了node在运行时的不同行为。一个process definition只有一个start state 。4. token一个token代表了一条执行路径,它包含了这条执行路径的当前的执行状态(current state)。5. process instance一个process instance(流程实例)即一个process definition(流程定义)的流程执行实例。一个process definition可以对应多个process insta

7、nce。当一个process instance被创建的时候,一个主执行路径token同时被创建,这个token叫做root token,它指向流程定义的start state(processDefinition.getStartState()=token.getNode()。6. signal一个signal 发送给token通知token 继续流程的执行。如果signal 没有指定transition,token将沿缺省的transition离开当前状态,如果signal 指定transition,token将沿指定的transition离开当前的状态。看源代码可以看到发给process i

8、nstance的signal 其实都是发送给了root token。7. ActionsJBPM提供了灵活的action ,当流程执行,token 进入node和transition时,会触发相应的一些event(事件)。在这些event上附上我们自己写的action,就会带动action 的执行。action里是我们自己的相关java操作代码,非常方便。注意的是event(事件)是内置的,无法扩展。另外,action也可以直接挂在 node上,而不依赖于event(事件)的触发,这个很重要。8. Node一个流程图由许多node和transition组成。每个node都有一种类型,这个类型决

9、定了当流程执行到这个node时的不同行为。JBPM有一组node type可以供你选择,当然你可以定制自己node 。node有两个主要的作用:1)执行java代码,比如说创建task instance(任务实例)、发出通知、更新数据库等等。很典型的就是在node 上挂上我们的action2) 控制流程的执行:A、等待状态:流程进入到这个node时将处于等待状态,直到一个signal 的发出B、流程将沿着一个leaving transition越过这个node,这种情况特殊一点,需要有个action挂在这个node上(注意这个action不是event触发的!), action中将会调用到AP

10、I里 executionContext.leaveNode(String transitionName),transitionName即这里的leaving transition名字。C、创建新的执行路径:很典型的就是fork node。流程在这里会分叉,产生新的执行路径。这样就创建了新的token,每个新的token代表一个新的执行路径。注意的是,这些新的token和产生前的token是父子关系!D、结束执行路径:一个node可以结束一条执行路径,这同样意味着相应的token的结束和流程的结束。9. 流程图中的node type1) task-node一个task-node可以包含一个或多个

11、task,这些task分配给特定的user。当流程执行到task-node时,task instance将会被创建,一个task对应一个task instance。task instances 创建后,task-node就处于等待状态。当所有的task instances被特定的user执行完毕后,将会发出一个新的signal 到token,即流程继续执行。2) state state是一个纯粹的wait state(等待状态)。它和task-node的区别就是它不会创建task instances。很典型的用法是,当进入这个节点时(通过绑定一个action到node-enter event)

12、,发送一条消息到外部的系统,然后流程就处于等待状态。外部系统完成一些操作后返回一条消息,这个消息触发一个signal 到token,然后流程继续执行。(不常用)3) decision 当需要在流程中根据不同条件来判断执行不同路径时,就可以用decision节点。两种方法:最简单的是在transitions里增加 condition elements(条件),condition是beanshell script写的,它返回一个boolean。当运行的时候,decision节点将会在它的 leaving transitions里循环,同时比较 leaving transitions里的condit

13、ion,最先返回true的condition,那个leaving transitions将会被执行;作为选择,你可以实现DecisionHandler接口,它有一个decide()方法,该方法返回一个 String(leaving transition的名字)。4) fork fork节点把一条执行路径分离成多条同时进行(并发)的执行路径,每条离开fork节点的路径产生一个子token。5) join 默认情况下,join节点会认为所有到达该节点的token都有着相同的父token。join 节点会结束每一个到达该节点的token,当所有的子token都到达该节点后,父token会激活。当仍然

14、有子token处于活动状态时,join 节点是wait state(等待状态)。6) node node节点就是让你挂自己的action用的(注意:不是event触发!),当流程到达该节点时,action会被执行。你的action要实现 ActionHandler接口。同样,在你的action里要控制流程。10. Actions的说明存在两种action,一种是 event触发的action,一种是挂在node 节点的action。要注意它们的区别,event触发的action无法控制流程,也就是说它无法决定流程经过这个节点后下一步将到哪一个 leaving transition;而挂在nod

15、e 节点的action就不同,它可以控制流程。不管是哪一种action都要实现ActionHandler接口。11. Task(任务) JBPM一个相当重要的功能就是对任务进行管理。Task(任务)是流程定义里的一部分,它决定了task instance的创建和分配。Task(任务)可以在task-node节点下定义,也可以挂在process-definition节点下。最普遍的 方式是在task-node节点下定义一个或多个任务。默认情况下,流程在task-node节点会处于等待状态,直到所有的任务被执行完毕。任务的名称 在整个流程中必须是唯一的。一个TaskNode对应多个Task。12. JBPM的任务管理实现一个Task instance(任务实例)可以被分配给一个actorId (java.lan

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1