Activiti学习心得

简介

Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程引擎。使用Activiti可以让我们开发时有更多的精力去关注业务逻辑。

流程引擎

ProcessEngine对象为流程引擎对象,该对象是工作流业务系统的核心,所有的业务操作都是由这个对象所派生出来的对象实现。
Activiti引擎提供了七大Service接口,均通过ProcessEngine获取:

  1. RepositoryService:流程仓库Service,用于管理流程仓库。如:部署、删除、读取流程资源。
  2. IdentifyService:身份Service,可以管理和查询用户、组之间的关系。
  3. RuntimeService:运行时Service,可以处理所有正在运行状态的流程实例、任务等。
  4. TaskService:任务Service,用于管理、查询任务。如:领取任务、办理、指派等。
  5. FormService:表单Service,用于读取和流程、任务相关的表单数据。
  6. HistoryService:历史Service,可以查询所有历史数据。如:流程实例、任务、活动、变量、附件等。
  7. ManagementService:引擎管理Service,和具体业务无关,主要是可以查询引擎配置、数据库、作业等。

使用Activiti

Activiti的使用比较简单,大致分为以下步骤:

  1. 部署Activiti
    Activiti是一个工作流引擎,业务系统使用Activiti来对系统的业务流程进行自动化管理。Activiti只负责流程流转,而业务系统则只需要专注于业务逻辑。
  2. 流程定义
    使用 Activiti流程建模工具定义业务流程(.bpmn文件) 。我们的流程中心绘制流程图,就是在定义流程。
  3. 流程定义部署
    向 activiti部署业务流程定义(.bpmn文件)
  4. 启动流程实例
    启动一个流程实例代表开始一个业务流程的运行。与java中类和对象的关系一样,流程定义就是我们定义的java类,启动流程实例就是创建一个对象。
  5. 用户查询待办任务
    业务流程都交给Activiti管理,Activiti当然也会为我们提供查询用户待执行的任务的API,查询到任务后,业务系统再将任务和业务逻辑结合起来,提供给前端展示。
  6. 完成任务
    用户完成任务后,如果任务还需要其他人进行处理,Activiti会帮助我们指向下一待处理的人。
  7. 流程结束
    当任务办理完成没有下一个任务节点了,这个流程实例就执行完成了。

我觉得学习Activiti最重要的是理解它的作用是什么,然后结合我们的流程中心,思考它与业务系统的关系,然后再尝试写demo,多尝试几次,可以方便我们更深入学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值