JBPM工作流介绍课件

上传人:我*** 文档编号:142099249 上传时间:2020-08-16 格式:PPT 页数:27 大小:175.50KB
返回 下载 相关 举报
JBPM工作流介绍课件_第1页
第1页 / 共27页
JBPM工作流介绍课件_第2页
第2页 / 共27页
JBPM工作流介绍课件_第3页
第3页 / 共27页
JBPM工作流介绍课件_第4页
第4页 / 共27页
JBPM工作流介绍课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《JBPM工作流介绍课件》由会员分享,可在线阅读,更多相关《JBPM工作流介绍课件(27页珍藏版)》请在金锄头文库上搜索。

1、,富浏览器展现中间件,JBPM工作流介绍,主讲:Alex 2008年10月7日 Email:A,2,前言现有的工作流列表,IBM的Flowmark/MQ Series 微软的Workflow Designer for Exchange JBPM-jboss(redhat) OsWorkFlow-opensymphony(webwork2.0) Shark-Enhydra 普元EOS 西安协同 其他,3,第一章 JBPM介绍,JBOSS JBPM是一个灵活的、可扩展的工作流管理系统。JBOSS JBPM拥有直观的流程语言,用任务、异步的等待状态、定时器、自动化动作等来表示业务流程图,把这些操作绑

2、定在一起,JBOSS JBPM就拥有了非常强大和可扩展的控制流机制。 JBOSS JBPM是采用JAVA语言开发的流程引擎,可将其封装成Web Service以供第三方应用调用。 JBOSS JBPM只有最小的依赖,可以象使用java库一样非常容易的使用它。另外,也可以通过把它部署在J2EE集群应用服务器中,用在吞吐量极为关键的环境中。 JBOSS JBPM可被配置为任何数据库,并且可以部署到任何应用服务器。 JBPM不符合WFMC组织制定的工作流规范。,4,第二章 JBPM工作流的主要概念,工作流引擎(engine):核心组件,负责生成流程运行时的各种实例及数据,以及监视和管理流程的运行;

3、流程定义(process definition):预先定义的业务逻辑; 流程实例(process instance):业务的实际流转过程; 参与者(actor):任务的参与者(可能是人也可能是角色或是组织等); 任务(task):业务逻辑上定义的需要呈现给参与者参与处理的元素; 任务实例(task instance):业务实际流转过程中,生成的需要参与者进行参与的实际内容; 流转(transition):连接业务逻辑不同节点的桥梁,也是业务实例进行流转的依据; 令牌(token):概念源与PetriNet,可记录流程当前状态及记录父子流程及分支等; 信号(signal):触发流程进行流转的一个

4、标志; 工作列表(worklist):根据实际应用的需求,需要展示给参与者的任务实例列表。 /待办任务列表为其最具代表性的例子,5,第三章 JBPM开发环境安装,下载开发套件,1、jboss jbpm官方网站: 2、下载 http:/www.jboss.org/jbossjbpm/jbpm_downloads/,6,第三章 jbpm包结构说明,|- config 包含所有的配置文件。 |-db这里都是些sql定义和数据文件,如果改用其它数据库,可以使用这些资源来创建,服务还是很周到的。 |-deploy用来部署你的应用的包和资源 |-designer这里是Eclipse插件,这样你就可以在图形

5、界面来定义你的业务流程, 骨灰级人物没他也能过日子 |-doc这里是jBPM相关组件的API文档 |-examples这里是些学习的例子 |-libjBPM的类库 |-server这里有一个JBoss服务器,并且包含了本JBossjBPM引擎,还部署了 websale例子 |-src这里是JBossjBPM的源代码,7,第三章 JBPM开发环境安装,前提 一、 开始之前请准备下列软件产品: jbpm-jpdl-3.2.3.zip Eclipse 3.3(或3.4) for J2EE Developer JDK 1.5 or later,8,第三章 JBPM开发环境安装,在Eclipse中安装J

6、Boss jBPM Designer 插件 3.1 安装插件 在 jbpm3.2.3designereclipselinks 下将jbpm-gpd.link文件拷贝到Eclipse下links文件夹下,打开jbpm-gpd.link将其路径修改成绝对路径D:jbpm-jpdl-3.2.3designer 3.2 配置插件 在window=Preferences下看到Jboss JBPM项,点击展开,选择 Rutime Location 点击 add,定位到D:jbpm-jpdl-3.2.3,名字随便取,这里取名jbpm-jpdl- 3.2.3,之后回到Runtime Location 选择jb

7、pm-jpdl-3.2.3,点击OK,配置完成。 3.3 验证安装 完成上述操作后,就可以创建JBoss jBPM项目来验证安装是否成功了。在Eclipse中进行如下操作:File = new = Project 在项目类型中有一个 JBoss jBPM点击展开选择看到Process Definition 和 Process Project,9,第四章 JBPM流程基本的处理步骤,流程定义 加载(发布)流程定义 启动流程 处理任务 流程监控及管理,10,第四章 加载(发布)流程定义,定义 我们可以通过JBPM的eclipse designer图形化插件,制定出 ProcessDefinitio

8、n,然后将其加载到应用中。 发布 前提启动tomcat服务,通过eclipse插件用两种发布方式 1. 直接通过eclipse来发布。 2. 将ProcessDefinition打成zip包,编写一个jsp文件。 发布流程 发布流程: ,11,第四章 流程版本,流程发布版本,我们每次将我们的流程定义部署到数据库时,部署时流程的名称就是的里定义的name”属性的值。JBPM 的版本机制允许在数据库中多个同名流程定义共存,流程实例以当时的最新版本来启动,并且在它的整个生命周期中将保持以相同的流程定义执行。当一个新的版本被部署,新的流程实例以新版本启动,而老的流程实例则以老的流程定义继续执行。 Pr

9、ocessDefinition pd=JbpmContext.getGraphSession() .findLatestProcessDefinition(processName) 这里的processName就是前面我们在定义流程的时候在里定义的“name”属性的值,这个属性就是用来表示该流程的名称,12,第四章 启动流程,在定义好了业务逻辑的流程定义后,我们就可以依托该定义进行实际业务的运行。 开始实际业务的运行意味着我们要在其流程定义的基础上创建其实例,既ProcessInstance JBPM提供了几个依据ProcessDefinition创建其实例的api,具体可见下面的示例或查ap

10、i。 JbpmConfiguration jc = JbpmConfiguration.getInstance(); JbpmContext context = jc.createJbpmContext(); ProcessDefinition pd = jc.getGraphSession() .findLatestProcessDefinition(processDefinitionName); ProcessInstance pi = pd.createProcessInstance();,13,第四章 处理任务,在流程流转的过程中,JBPM引擎会根据流程定义为我们生成任务的实例。 我们

11、就需要针对这些任务实例来进行处理,然后结束这些任务实例,并推动流程的流转。 处理的过程简要如下: 签收任务 任务处理 任务结束(并根据所选条件自动创建下一任务实例或结束流程),14,第四章 流程监控及管理,记录流程状态这点包括且不限于以下内容: 1)流程实例的开启; 2)任务实例的创建; 3)任务实例的执行; 4)任务实例的结束; 5)流程实例的结束; 6)统计任务执行周期,分析系统瓶颈; 7)统计各业务的任务数及执行情况等。,15,第五章 流程定义的组成部分,流程定义是一种采用xml语法表达的有向图结构 流程定义文件包包括:processdefinition.xmlprocessimage.

12、jpggpd.xml三个文件 processdefinition.xml为流程定义的xml表示文件 processimage.jpg为其图片展示 gpd.xml为定义文件上个节点位置信息,16,第五章 流程定义的组成部分,JBPM流程定义的示例-processdefinition.xml, ,17,第五章 流程定义的组成部分,JBPM流程位置文件的示例-gpd.xml, ,18,第五章 流程定义的组成部分,JBPM流程图的示例-processimage.jpg,19,第五章 流程定义的组成部分,构成流程定义的组成部分主要有:,start-state 流程开始节点(流程入口),在流程定义中必须存

13、在 。 end-state 流程结束节点,在流程定义中必须存在 。 Node 自动节点。 task-node 任务节点 人工参与。 State 等待输入状态,通常使用在与外部系统的等待上。 Decision 抉择节点。 fork/join 分支/联合节点。 Process State 提供能与其他独立 procss 結合的方式。 Super State 把有重复执行且具连续性的 nodes 包在一起,統一 管理。 Transition 流程走向。 Task 被放在 task node 下面,可以被指定优先权,20,第五章 流程定义的组成部分,节点的继承谱,Node,Event,Action,T

14、ransition,Decision,EndState,Fork,Join,ProcessState,StartState,State,TaskNode,Task,21,第六章 流程数据库,由于JBPM采用Hibernate来实现ORM机制,因此JBPM是跨数据库的.,JBPM_ACTION JBPM_BYTEARRAY JBPM_BYTEBLOCK JBPM_COMMENT JBPM_DECISIONCONDITIONS JBPM_DELEGATION JBPM_EVENT JBPM_EXCEPTIONHANDLER JBPM_JOB JBPM_LOG JBPM_MODULEDEFINITI

15、ON JBPM_MODULEINSTANCE JBPM_NODE JBPM_VARIABLEINSTANCE,JBPM_POOLEDACTOR JBPM_PROCESSDEFINITION JBPM_PROCESSINSTANCE JBPM_RUNTIMEACTION JBPM_SWIMLANE JBPM_SWIMLANEINSTANCE JBPM_TASK JBPM_TASKACTORPOOL JBPM_TASKCONTROLLER JBPM_TASKINSTANCE JBPM_TOKEN JBPM_TOKENVARIABLEMAP JBPM_TRANSITION JBPM_VARIABLEACCESS,22,第六章 流程数据库,创建JBPM数据库的三种方式:1、采用程序方式创建2、使用ANT编译创建,需要修改两个配置文件 hibernate.cfg.xml 和 create.db.hibernate.properties 3、手工创建,根据JBPM提供的各类型数据库的sql自行生成,23,第七章 JBPM Helloworld,接下来我们进行一个基于JBPM工作流引擎的小实例的开发。,24,Q & A,讨论时间,25,网上学习资源,1、jboss jbpm官方网站: 2、银狐999的BLOG 3、

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号