认识工作流-Activiti详细说明

阅读文本大概需要 5 分钟。

一、Activiti详细说明

首先给大家介绍一下BPMN2规范的分类分为几个部分。

1启动与结束事件、2顺序流、3任务、4网关、5子流程、6边界事件、7中间事件、8监听器

一、启动事件与结束事件

启动事件与结束事件作为BPMN规范中的重要组成部分。它分别负责一个流程的开始和结束。一个完整的流程两大类,启动事件与结束事件。每一个大类又可以根据功能不同分为多个小类。

1.1 启动事件

每个流程总是以启动事件作为入口,启动事件在BPMN规范中以一个细线圆形图形表示。但启动事件又可分为三种类型:空启动事件、定时启动事件、异常启动事件。启动事件都是“捕获型”的。需要等待第三方触发后才可以启动。在Activiti中可以通过调用API触发启动事件。

1.2 结束事件

流程结束事件表示流程或者子流程的结束和启动事件的触发型不同的是结束事件是抛出型的。也就是当流程执行到结束事件时会抛出一个执行结果。

流程结束事件也可以分为几个类型:空结束事件、异常结束事件、取消结束。

二、顺序流

顺序流程是两个模型之间的连接,可以把顺序流比作人体的动脉。在BPMN中是用连接不同的活动和事件时使用的。顺序流可以分为标准顺序流和条件顺序流。

三、任务

根据任务不同可以分为:用户任务、脚本任务、WebService任务、业务规则任务、邮件任务、Mule任务、Camel任务、手动任务、JavaService任务、SHELL任务。

【用户任务】:主要是说明任务是人来参与,处理人、优先级等。

四、网关

网关用于控制流程走向。根据 功能不同可以划分为以下4种网关:排他网关、并行网关、包容网关、事件网关

五、子流程

在实际的业务流程中,流程有的会比较复杂。当业务流程处理环节多,繁杂时,可以用子流程来分解。就像我们程序员最熟悉的子函数一样,把处理同一事项的归纳成一个子函数,子函数可以在多个场景多次调用,也可以在同一场景中反复调用。用子流程来分解大流程,作用和子函数类似。将功能处理过程比较独立或者单一的归纳成一个子流程。子流程本身是一个完整的处理过程,可以单独启动执行,也可以嵌入到其它流程中使用。

六、监听器

业务流程监控(business process monitoring)是指对一个或一系列活动进行实时监督的过程,这些活动通常是为了完成企业特定目标而建立的。业务流程监控(business process monitoring)是指对一个或一系列活动进行实时监督的过程,这些活动通常是为了完成企业特定目标而建立的。业务流程监控通常与业务流程可视化(business process visibility)相互协作,并与业务活动监控(business activity monitoring)共同帮助管理者了解企业内部的重要交易或流程。作为业务流程管理(business process management)的一部分,业务流程监控可以帮助企业衡量和分析业务流程的性能,通过数据找出关键业务问题,这样可以改善业务流程的速度、质量以及效率。

总结

本节整体了解BPMN规范和activiti对其有哪些扩展。主要是理解一下工作流中的主要组件的概念。方便我们后期的学习。

声明:文章属于个人原创,转载请注明文章出处

原文发布于微信公众号 - 全华班(quanhuaban)

原文发表时间:2018-01-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大魏分享(微信公众号:david-share)

深度分析:Istio替代Spring Cloud的合理性

一、现有微服务架构 微服务本质上是分布式架构、分布式应用、分布式计算。 分布式计算可以带来的好处有:性能、可靠性、弹性、可扩展性、可用性、稳健性。 而从应用开发...

1.3K8
来自专栏涤生的博客

服务框架的技术栈

随着业务规模的扩张,为了满足业务对技术的要求,技术架构需要从单体应用架构升级到分布式服务架构,来降低公司的技术成本,更好的适应业务的发展。分布式服务架构的诸多优...

1082
来自专栏nice_每一天

高并发与高可用实战之基础知识大型网站架构特征(一)

系统设计不仅需要考虑实现业务功能,还要保证系统高并发、高可用、高可靠等。同时还应考虑系统容量规划(流量、容量等)、SLA指定(吞吐量、响应时间、可用性、降级方案...

1464
来自专栏大内老A

.NET Core的依赖注入[1]: 控制反转

写在前面:我之前写过一系列关于.NET Core依赖注入的文章,由于.NET Core依赖注入框架的实现原理发生了很大的改变,加上我对包括IoC和DI这些理论层...

763
来自专栏数据和云

PayPal Oracle数据库的隐含参数

在这篇小文中,我和大家分享一下PayPal数据库的隐含参数,注意,本文参考资料来自网络OOW公开文档,只是我也是首次注意到这些设置。 在图中架构,可以看到Pay...

2948
来自专栏Java架构解析

通过shell脚本检测MySQL服务信息

第一部分是通过系统层面来解析MySQL的基本信息,方式是通过ps -ef|grep mysql得到的信息来解析。

1390
来自专栏EAWorld

DevOps平台中的自动化部署框架设计

本文目录: 一、背景 二、我们的需求是什么? 三、概念澄清 四、概念模型 五、总体设计 六、关键点设计 七、总结 一、背景 说到自动化部署,大家肯定都会想到一些...

4704
来自专栏产品成长日志

工具|高效能人士文件管理神器

场景一:使用公司电脑编辑一个文档,到家后使用家用电脑继续编辑,第二天到公司接着修改,如何做效率比较高呢?

1973
来自专栏程序你好

开发人员学习微服务架构最容易犯五个的错误

651
来自专栏Golang语言社区

服务化实战之 dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型

前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺点以及使用场景,最终结合本身项目的实际情况选择了使用dubbox作为rpc基础服务框架。下面就...

5793

扫码关注云+社区