• 1. Activiti工作流培训主讲:高思园 2012年5月16日
  • 2. 培训内容1.什么是工作流2.工作流的规范3.常用的工作流4.activiti简介5.工作流activiti具体的用法 (1)activiti节点的介绍 (2)流程图的设计 (3)引擎的的加载 (4)流程的部署 (5)怎样去开始一个流程 (6)由谁来完成这个审批 (7)审批通过还是驳回 (8)任务完成之后的监听 (9)历史的重要
  • 3. 什么是工作流工作流(Work Flow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。   简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。工作流有时解释为可以产生某种结果的一系列任务。即:根据与业务流程相关联的操作和任务的顺序所进行的文档或项目的自动转移
  • 4. 常用的工作流JBPM: 简介Java Business Process Management(业务流程管理),覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的。Jbpm是公开开源代码项目,它使用要遵循Apache License.Jbpm在2004年10月18日,发布了2.0版本,并在同一天加入了Jboss,成为了Jboss企业中间件平台的一个组成部分,jbpm也进入了一个全新的发展时代。 Activiti
  • 5. 工作流的规范不论是JBPM还是Activiti他们都遵循BPMN标准 BPMN,BusinessProcess Model and Notation,业务流程模型与符号 BPMN2.0内涵 BPMN是一套流程建模的标准,主要目标是提供一套被所有业务用户容易理解的符号,支持从创建流程轮廓的业务分析到这些流程的最终实现,直到最终用户的管理监控。 提供了清晰而精准的执行语义来描述元素的操作。 bpmn规范还确保设计为业务流程执行XML语言,能够用这套以业务为中心的符号所可视化表示 BPMN2.0是由OMG组织提出并维护。 主流参与厂商:IBM,Oracle等 BPMN被广泛接受,目前全球有70余个产品实现(OMG登记的)。
  • 6. activiti简介Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任。 2010年12月发布了稳定的5.0版本。 Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。 优势: Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速,稳定的BPMN2流程引擎。它易于与Spring集成使用。
  • 7. activiti节点的介绍
  • 8. 流程图的设计
  • 9. 引擎的的加载获得 ProcessEngine 最简单的方式是使用org.activiti.engine.ProcessEngines 类: ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine() 利用 Spring的解析和依赖注入能力来构建引擎。
  • 10. 流程的部署调用repositoryService接口把bpmn20文件以及图片部署到数据库中 注意不要重复部署
  • 11. 怎样去开始一个流程 开始流程需要调用runtimeService接口中startProcessInstanceByKey 这里的key是指流程中的ID 在开始流程的同时需要传入流程所需的值
  • 12. 由谁来完成这个审批需要在传入值的时候传入流程所需的角色 可以直接选定该流程由谁去审批
  • 13. 审批通过还是驳回 通过和驳回的时候实际上是调用了taskService接口中的complete方法,该方法中也可以传Map,该Map中需要加一个与流程判断有关的bollean类型键值对
  • 14. 任务完成之后的监听 在整个流程中选择endListener,并且选择相应的类。
  • 15. 历史的重要历史是可以选级别的: none:忽略所有历史归档。这时运行时流程的执行效率最高,但没有任何历史性的信息可供使用。  acitivity:存档所有的流程实例和活动实例。不存档细节。  audit:默认。存档所有的流程实例、活动实例以及提交的表单属性,以便通过表单进行的用户交互可被追溯并 查证。  full:这是历史归档的最高级别,因此执行时最慢。这一级别存储了所有在 audit 中存储的信息,以及其它所有 可能的细节如流程变量的更新。 存在 4 类历史的实例:  HistoricProcessInstances,包含着有关当前的以及结束了的流程实例的信息。  HistoricActivityInstances,包含着有关一个活动执行的信息。  HistoricTaskInstances,包含着有关当前的以及结束了的(已经完成的和删除了的)任务实例的信息。  HistoricDetails,包含着各种与历史性流程实例、活动实例以及任务实例相关的信息。