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