JBPM4工作流介绍JBPM工作流本课程适合的人开发人员掌握JavaEE开发技术人员可以是……流程分析师3应用场景基本概念JBPM4开发介绍例子演示系统整合工作流应用场景常见问题它的好处4场景工作流技术广泛的应用于办公室环境关键业务流程:①订单②采购③供应链管理行政管理类:①出差申请②加班申请③请假申请人事管理类:①员工培训安排②绩效考评③职位调动财务管理类:①付款请求②应收款管理③日常报销JBPM工作流你有没有碰到下面的问题如何能够快速的灵活的变更流程,而无需大量的修改代码或者重新开发一个项目来替代老的项目呢?如何控制复杂流程?做需求时考虑不全,上线后不断的修改流程。客户的组织机构调整,产生业务流程变更。客户要求变更业务的流程。业务流程比较复杂,使用的状态很多,易出错。6使用工作流的好处!流程逻辑和业务逻辑相分离能应对复杂多变的流程需求可以灵活的设计与部署新的流程JBPM工作流订货流程7JBPM工作流不使用工作流8JBPM工作流使用工作流10应用场景基本概念JBPM4开发介绍例子演示系统整合工作流的基本概念参考模型JBPM4实现JBPM工作流工作流的概述11工具什么是工作流引擎?规范什么是工作流管理系统?描述什么是工作流?JBPM工作流什么是工作流?12工作流:在一个工作群组中,为了达成某一个共同目的而需要多人协力以串行或平行工作的形式来共同完成的任务。要点:①任务。②多人。③共同的。JBPM工作流出差费用申请流程13JBPM工作流什么是工作流引擎?14工作流引擎:是驱动实体按流程定义从一个参与者流向下一个参与者的机制。要点:①实体(Entity):是需要随着工作流一起流动的物件。②参与者:是各个处理步骤中的责任人(包括职能部门、设备等)。③流程定义:是预定义的工作步骤。JBPM工作流什么是工作流管理系统?15工作流管理系统:工作流管理系统即WorkflowManagementSystem,简称WFMS,是定义、创建、执行、监控工作流的系统。要点:①定义②创建③执行④监控16第一点:特点第二点:参考模型第三点:Jbpm4实现关于工作流管理系统,我们需要关注的三点。JBPM工作流WfMS具有的特点:1建立时期:定义和建模。2运行时期:调度。3运行交互功能:指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序工具交互的功能。JBPM工作流WfMC工作流管理系统参考模型18JBPM工作流功能模型与参考模型的对应关系19JBPM工作流JBPM4的实现20服务APIPVMJPDL21应用场景基本概念JBPM4开发介绍例子演示系统整合JBPM4介绍活动转移JBPM工作流JBPM422基本概念JBPM工作流基本概念之流程定义2323流程定义:又称流程模型,是用来描述业务过程的规定性文档。组成:由一系列活动定义和转移组成。JBPM工作流基本概念之流程实例2424流程实例:是在流程运行时根据流程定义产生的实体,是实例化的流程定义。解释:我们说一条流程执行完毕,意思也就是流程实例的生命周期结束。分类:运行状态的流程实例,历史流程实例。JBPM工作流基本概念之活动2525活动定义:是最小的业务描述单位,是流程定义的重要组成部分。自动活动:由系统自动执行完成。状态活动:需要外界干预完成。JBPM工作流基本概念之转移2626转移:负责将各个活动定义连接起来,组成流程定义。特点:转移时有方向的。JBPM工作流基本概念之任务2727任务:用来处理涉及人机交互的活动。分配者:任务的实际办理人,一个任务只能有一个分配者。候选者:一个任务可以多个候选者,可以浏览任务,无法办理任务;要办理任务需要先成为分配者。任务泳道:属于同一个泳道的任务将会被分配或候选给这个泳道中的所有用户。JBPM工作流泳道机制的流程示意图28JBPM工作流事件监听器2929事件监听器:是流程定义时的概念,由触发条件(即流程事件)和触发操作(即监听处理器)组成。应用:用来支持用户将自定义的业务逻辑代码“嵌入”流程的生命周期的特定阶段,从而达到扩展流程定义功能的目的。JBPM工作流流程之流转模型30串行:JBPM工作流流程之流转模型31循环:JBPM工作流流程之流转模型32并行:JBPM工作流流程之流转模型33聚合:JBPM工作流JBPM4流程控制最常用、最基本的活动start开始活动task任务结束活动endstate状态活动分支/聚合判断活动Sub-process子流程custom自定义活动35应用场景基本概念JBPM4开发介绍例子演示系统整合JBPM4开发介绍开发步骤JBPM工作流工作流开发的五个步骤36定义流程部署流程启动流程执行流程完成任务JBPM工作流通过RepositoryService部署37.createDeployment().addResourceFromClasspath(Order.jpdl.xml).deploy();JBPM工作流通过ExecutionService启动38startProcessInstanceByKey(ICL)startProcessInstanceById(ICL-1)startProcessInstanceByKey(ICL,CL92837)JBPM工作流通过ExecutionService执行流程39signalExecutionById(executionId);JBPM工作流通过TaskService完成任务40completeTask(taskId);completeTask(taskId,“批准);JBPM工作流流程在实际应用场景中的一些操作41发布暂停启动暂停显示流程图执行恢复分配任务任务与表单绑定收回任务定时任务任务的历史流程实例历史活动历史查询删除1.定义管理2.实例管理3.任务管理4.历史查询42应用场景基本概念JBPM4开发介绍例子演示系统整合工作流例子演示开发工具流程开发43Demo44应用场景基本概念JBPM4开发介绍例子演示系统整合JBPM系统的整合JBPM系统应用系统JBPM工作流