• 认识Activiti


       之前没有用到过工作流,这次由于需要,用到了Activiti工作流引擎,首先要做的就是先来了解一下什么是工作流引擎,它能够完成什么的任务,我们在什么情况下选用工作流引擎来处理问题。


    1、Activiti由来?

      Activiti的创始人也就是JBPM的创始人,从JBoss离职后开发了一个新的BPM引擎-----Activiti。由于是JBPM的创始人发明的Activiti,故其中有很多JBPM的身影,Activiti的遵守的设计原则是一致的:强调流程服务的可嵌入性和可扩展性。


    2、什么是Activiti?

      Activiti的核心是BPMN2.0的流程引擎,它实现了BPMN2.0的规范,可以发布设计好的流程定义,并通过API进行流程调度。它是基于Java的超快速、超稳定的流程引擎,强调服务的可嵌入性和可扩展性,同时更加强调面向业务。

      BPMN是全球BPM厂商广泛接受的BPM标准,全称为Business Process Model and Natation。


    3、核心组件

       

      

      3.1 ProcessEngine:流程引擎抽象,通过它可以获取我们需要的一切服务


      3.2 RepositoryService:Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署

         文件和支持数据,这些文件都存储在Activiti内建的Repository中。RepositoryService提供对

         repository的存取服务。

      

      3.3 RuntimeService:在Activiti中,每当一个流程定义被启动一次之后,都会生成一个相应的流程对象

        实例。RuntimeService提供了启动流程、查询流程实例、设置获取流程实例变量等功能。此外它还提供

        了对流程部署,流程定义和流程实例的存取服务


      3.4 TaskService:在Activiti中业务流程定义中的每一个执行节点被称为一个Task,对流程中的数据存取,

         状态变更等操作均需要在Task中完成。TaskService提供了对用户Task 和Form相关的操作。它提供了

         运行时任务查询、领取、完成、删除以及变量设置等功能


      3.5 IdentityService: Activiti内置的了用户以及组管理的功能,必须使用这些用户和组的信息才能或得到

        相应的Task。


      3.6 ManagementService: 提供了对Activiti流程引擎管理和维护的工鞥,主要用于Activiti系统的日常维护


      3.7 HistoryService:用于获取正在娙或已经完成的流程的信息,与RuntimeService中获取的流程信息不同,

        历史信息包含已经持久化存储的永久信息。


      3.8 FormService:Activiti中的流程和状态Task均可以关联业务相关的数据。通过使用Form Service可以存取

        启动和完成任务所需的表单数据并且根须需要来渲染表单。


    4、怎么用?

      使用场景:多人协作完成的业务流程场景。

      比如:请假

       开始--请假-->审批(项目经理)--->审批(总经理)--->结束



    5、总结

      对于Activiti还是刚开始研究,还需要接下来继续做例子来实现,究竟跟其他的流程引擎有什么差别,或者说这是怎样的一个演变过程,只有比较过之后才能做出自己选择。  

     







  • 相关阅读:
    流畅 最好用的远程桌面推荐下?
    高性能远程桌面Splashtop 居家办公首选软件
    ShareConnect即将寿终正寝 Splashtop远程桌面会是最好的替代品
    详解Springboot中自定义SpringMVC配置
    Java中使用RSA算法加密
    Docker搭建MySQL主从复制
    SpringMVC中RequestContextHolder获取请求信息
    详解Redis持久化(RDB和AOF)
    Redis事务
    Springboot CORS跨域访问
  • 原文地址:https://www.cnblogs.com/zsswpb/p/6329421.html
Copyright © 2020-2023  润新知