ACTIVITI 研究系列 —— Spring配置和核心API

2014-11-08 22:18:07

请关注唯心的个人微信公众号:craft6-cn(中划线,也可以搜索:领域驱动业务建模)

一、Activiti 核心API整体结构图

    官方网站上有一张图,我相信大多数读者都看过,我这里也重复贴一下:

官方API结构图.jpg

    

    另外,我自行制作了一张更为详细一些的结构图供大家多些参考,方便学习。

Activiti 核心API(Craft6.cn 颜超敏).jpg

  1. 使用了工厂模式

    EngineService 接口提供了对7个核心Service接口服务的创建。

  2. ProcessEngineConfiguration

    对EngineService的抽象实现,读取activiti.cfg.xml配置文件的配置信息。
    但不会直接对该类实例化(它是抽象类),需要根据实际的开发环境,选择具体的实现类。


    • org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration: 单独运行的流程引擎。Activiti会自己处理事务。 默认,数据库只在引擎启动时检测 (如果没有Activiti的表或者表结构不正确就会抛出异常)。

    • org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration: 单元测试时的辅助类。Activiti会自己控制事务。 默认使用H2内存数据库。数据库表会在引擎启动时创建,关闭时删除。 使用它时,不需要其他配置(除非使用job执行器或邮件功能)。

    • org.activiti.spring.SpringProcessEngineConfiguration: 在Spring环境下使用流程引擎。 参考Spring集成章节。

    • org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration: 单独运行流程引擎,并使用JTA事务。

  3. 实例化ProcessEngineConfiguration时可以对其中一些服务注入自己的实现
    如ID的生成方式、缓存的处理等,如果不设置则使用Activiti默认的实现。


二、Spring配置

    使用Activiti进行工作流系统开发目前流行是在Spring环境下进行。

    相关的整合配置文章在网上很多,但为了我本系列文章的完整性,我也贴一下

我的配置,读者可以多一个参考选择。

spring.jpg

  • activitiDefCache

    流程发布的缓存处理,提高效率。

  • idGenerator

    主键ID的生成工具类。

三、核心API说明

  1. RepositoryService
    提供了管理和控制发布包和流程定义的操作。提供了对发布包、流程定义的CRUD操作方法,

    流程定义的挂起、激活方法,流程定义文件和模型的转换,以及提供了流程发布的Builder类。
    其中DeploymentBuilder createDeployment();可以获得一个流程发布的Builder(创建者模式)

    使用此Builder的方法可以发布流程。

  2. RuntimeService
    提供各种类型的接口方法启动一个流程、获得、设置和删除流程变量、向指定目标的实例发送信号等。

  3. TaskService        
    任务的查询、创建、完成、设置执行者等任务相关的操作。

  4. IdentityService

    Activiti提供的参与者(用户和群组)管理。但设计得很简单,而且Activiti执行时不会对它自己的
    用户进行检查(比如检查该用户是否存在),所以集成Activiti的软件开发商基本都是自行开发用户群组模块。

  5. FormService
    是可选服务。提供了启动表单 和 任务表单两类。一般软件开发商都会开发自己的表单模块。

  6. HistoryService
    提供Activiti引擎的所有历史数据的查询获取方法。

  7. ManagementService
    可以查询数据库的表和表的元数据,另外,还提供查询和管理异步操作的功能。一般在Activiti的定制环境下
    不会用到。可以不必管它。


可通过扫描左侧二维码阅读本文。本站文章均为颜超敏原创,欢迎转载,请注明出处即可,转载可通过下面的社会化工具快速完成。

分享到:


ACTIVITI 研究系列 —— Spring配置和核心API

Activiti Spring配置, Activiti Spring集成, Activiti API, Activiti 核心API, Activiti 核心接口服务

本文讲述Activiti在Spring环境下的开发使用,并阐述了Activiti对外提供的API,

这是集成Activiti的主要方式,也是侵入性最低的方式。

颜超敏,唯心六艺,Craft6.cn,电子商务博客,电子商务研发,电商研发,电子商务研究,电商研究,电子商务专家,电商专家,电子商务知识,电商知识,电子商务教程,电商教程,电子商务模式,电子商务平台,电子商务商业模式,电子商务数据库设计,电商数据库设计,电子商务系统分析,Java架构设计,Java软件架构,B2C,O2O,o2o模式,o2o电子商务,o2o电子商务平台,中国电子商务,电子商务平台建设方案
粤ICP备14060523号 Copyright @2014 -唯心六艺软件