Activiti学习资料(组件,API,部署)

Activiti 是一个组件丰富的BPM平台,包括专用工具、存储内容和协作工具。核心组件是Activiti Engine,它是BPMN2.0规范的实现,支持事件监听器、定制活动和简化BPMN格式。Activiti Cycle提供协作环境,包含文档仓库、模型仓库等。部署流程涉及读取配置文件、生成流程引擎实例,并通过RepositoryService、TaskService等接口进行操作。此外,详细介绍了不同类型的事件、子流程和调用活动的用法。
摘要由CSDN通过智能技术生成

Activiti学习资料14(组件介绍,API)

Activiti 组件介绍

activiti 项目由三种类型的组件组成, 分别是: 专用工具 (Dedicated Tools) 、 存储内容(St 具 ored Content) 、协作工(Collaboration Tool) 。



专用工具( 专用工具(Dedicated Tools)组件 )
此类组件,包括(内容管理)Alfresco、建模器(Activiti Modeler) 、设计器(Activiti Designer (Eclipse plugin)、管理及监控(Activiti probe) ) 、任务管理(Activiti Explorer)五个工具组件。 Alfresco—为 Alfresco 公司的企业级内容管理产品 Alfresco 是 Alfresco 公司的内容管理产品的名称(同时也是公司名称) ,它是一个开源的、企业级 的内容管理系统, 功能包括: 文档管理、 协作、 记录管理、 知识库管理、 Web 内容管理等功能。 infoWorld 被 评为了 2010 年的最佳开源应用程序。现在 Alfresco 公司作为 Activiti 项目的主要赞助厂商,自然会将其 内容管理产品与 Activiti 进行深入的集成。实际上流程中的所有资源,包括流程本身,都是被内容管理产 品所管理的资源。 Activiti Modeler—建模器 Activiti 建模器是基于开源的 Signavio 流程编辑器的一个定制版本,它提供了对 BPMN2.0 图形化 规范的支持,建模后的流程以文件格式进行存储 文件格式进行存储。在后端提供导入导出 BPMN2.0 流程定义文件的功能。 文件格式进行存储 此 建 模 器 的 优 点 是 , 它 是 基 于 web 浏 览 器 的 。 其 设 计 器 界 面 如 下 图 所 示 :

Activiti Designer—Eclipse 插件形式的设计器 此组件提供了 Eclipse 的插件,可以使得开发人员,在 Eclipse 开发工具中,进行流程的建模。建模 功能上与 Signavio 相同。 Activiti probe—管理及监控组件 它是一个对流程引擎运行期实例提供管理及监控的 web 应用程序。包含部署的管理、流程定义的管 理、数据库表的检视、日志查看、事务的平均执行时间、失败多次的工作等功能。其示意界面如下:

这是一个对于数据库表记录的查看界面,基本上是一个 demo 级别的,没有多大意义。 Activiti Explorer—任务管理组件 它是一个 web 的应用程序,提供任务管理功能和对基于历史数据的统计分析及流程实例的检查 而产生的报表功能。如下图所示:

存储内容( 存储内容(Stored Content)组件 )

此类组件包含:

 文档仓库 (Documents Repository) 模型仓库 、 (Model Repository) 、 SVN 仓库(SVN Repository) 、MVN 仓库(MVN Repository) 、Activiti 引擎(Activiti Engine) 。

其中文档仓库、SVN 仓库、MVN 仓库三个组件是为协作工具(Activiti Cycle) 提供底层的支撑。例如 BPM 开发过程中的文档,采用 Alfresco 文档仓库进行存储,采用 SVN 进行版本管理,采用 MVN(maven)作为项目构建和管理工具。模型仓库(Model Repository)实际上就是 Activiti 建模器的后端存储组件,它负责对 Activiti 建模器建模 后的流程定义文件进行存储管理。 Activiti Engine—Activiti BPM 的核心引擎 运行时核心组件,解析流程定义文件 (.bpmn20.xml 文件 ) ,将其转化为纯粹的内 存 Java 对象,以供运行时各个功能使用; Activiti 引擎,基于流程虚拟机(PVM)进行构建(关于 PVM 的详细介绍,参见 8.1.2 章节),是 Activiti 项目的绝对的底层核心组件。它可以直接运行原生的 BPMN2.0 规范格 式的流程定义。是业内目前第一个,也是唯一的一个从建模到执行,完全按照 BPMN2.0 规范进行实现的 BPM 项目。这也是笔者选择它作为 BPM 开源产品介绍的最直接原因。 Activiti 引擎具备三个重要的特性。首先就是事件监听器 事件监听器。这个特性允许引擎可以直接 事件监听器 执行一个动作(即为流程图中的某个特定的事件,定义的一段 java 代码或脚本)。这意味 着, 开发人员可以利用特定的技术细节来装饰完善一个流程, 而这个细节不会在流程图中显 示。 此特性提高了业务人员与技术人员之间的协作, 而业务人员不用面对流程图中的技术问 题。 第二个特性是定制活动 定制活动。Activiti 引擎实现了对 BPMN 的支持,有很多可直接使用的活 定制活动 动类型。 但是业务人员仍旧有可能需要一些与这些已定义的活动不匹配的活动类型。 在这种 情景下,开发人员可以采用 java 代码编写一个定制的活动,用来实现业务人员所描述的复 杂行为。这个功能应该说是非常好用的功能,因为对于商业产品来讲,活动类型都是定义好 的。是一个封装的黑盒子,是不可能提供定制功能的。 另一个创新的特性是,它提供了对某些冗长的 BPMN 规范进行实现的快捷方式或捷 提供了对某些冗长的 例如采用比 BPMN 的 XML 格式更紧凑的 XML 描述格式。 而这种 XML 格式不是 Activiti 径。


的专有扩展,它可以被转换为有效的 BPMN XML。所以说,Activiti 的流程定义,并不是 百分百的 BPMN 的 XML 格式。 协作工具( 协作工具(Collaboration Tool)组件 ) Activiti Cycle 完全是一种新类型的 BPM 组件。它是一个用来促进业务人员、开发人员 和 IT 操作人员协作的 web 应用程序。目前,大多数的 BPM 产品都关注于怎样将业务人员 创建的分析流程模型转换为可执行流程模型。实际的情况就是,这些 BPM 产品为业务人员 和开发人员提供独立的工具,但是对于他们之间的协作并没有提供很好的支持。 在现实的 场景中,业务文档有业务人员所持有,而软件程序由开发团队所管理,被部署的软件应用则 被 IT 管理人员所管理。三者之间不能很好的协作。我们可以想象这样一个场景,业务经理 用文档来维护需求和 visio 格式的流程图,开发人员管理可执行的流程和大量的 java 源文 件,IT 维护人员管理部署在 tomcat 中的.war 文件和存储在 Activiti 数据库中的流程。

Activiti Cycle 首先分为左右两个区域,左侧区域是所有交付物的浏览器,这些交付物存储在仓库中。

括: 

·一个网络驱动器,例如 Vision 图,图片,word 文档,excel 图表等; ·一个业务模型仓库,例如 Signavio 建模器中包含的 BPMN 流程模型; 

·一个 SVN 仓库,包含 java 源文件和可执行的 BPMN 流程; ·一个包含业务文档的 maven 仓库; ·Activiti 实例,包含一系列被部署的各个版本的交付组件; 右侧区域,则分为上中下三个部分,分别是左侧选中交付物的具体明细(包含查看、设定所有人、增 加关联链接) 、工作区域和讨论区。现在业务分析员、开发人员和维护人员,可以在为他们自己提供的区域 内,利用相关工具进行工作,而 Activiti Cycle 则负责组织他们的协作。


Activiti API
1. 2. 3. 4.
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService(); 
RepositoryService repositoryService = processEngine.getRepositoryService();
5. 6.
TaskService taskService = processEngine.getTaskService(); 
ManagementService managementService = processEngine.getManagementService();
7. 8. 9.
IdentityService identityService = processEngine.getIdentityService(); 
HistoryService historyService = processEngine.getHistoryService(); 
FormService formService = processEngine.getFormService();

通过 ProcessEngineBuilder 读取 activiti 的配置文件,就可以生成流程 引擎实例。 通过流程引擎实例 processEngine, 我们就可以通过 getXXXService() 取 得各种包含 workflow/BPM 方法的 service 。 

RepositoryService : 提供方法获取各种流程和部署文件的信息 .

 TaskService : 提供对任务相关的各种操作 

identityService : 管理用户和用户组。 

FormService : 获取或者绑定数据到流程实例上


RuntimeService : 提供操作部署文件,流程文件和流程实例的方法 . 

ManagementService : 提供管理员对流程引擎的监控,和流程引擎服务应用无 关。 

HistoryService : 提供正在执行和过去执行的各种流程实例信息

Activiti.cfg.xml 文件内必须包含一个 Id 为’ processEngineConfiguration’ bean。 的 processEngineConfiguration 对象可以通过解析 xml 文件得到也可以通过 java 代码得 到
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration ();

processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver") ; processEngineConfiguration.s
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值