百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

认识工作流程引擎 了解工作流程的重要性

csdh11 2024-12-19 12:13 22 浏览

相关概念

  • BPM:Business Process Modeling,业务管理流程,是对实现生活工作中的流程问题进行抽象建模来推导解决方案。
  • BPMN:Business Process Model and Notation,一种流程建模描述语言,是业务流程建模的一种标准注解
  • BPMN2.0:专业组织和团体发布的一套标准或规范,定义业务流程的符号以及模型,确保流程的定义实现可移植性
  • WfMC:Workflow Management Coalition,工作流管理组织

主流的框架

主流的都是用java开发的JBPM,Activiti等,其他流程引擎中有大部分都是基于这两者开发的。

工作流定义

  • 使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。
  • 简单地说是多个人在一起完成某件事的步骤,把步骤变成计算机的能理解的形式就是工作流。
  • 工作流总是以任务(Task)的形式驱动人处理业务或者驱动业务系统自动完成作业。有了工作流引擎之后,我们不必一直等待其他人的工作进度,直白地说,我们只需要关心系统首页的待办任务数即可,由系统提醒当前有多少待办任务需要处理。

工作流系统构成

  • 流程引擎:工作流处理核心,负责处理信息或任务传递路由,保证流程按照既定的规则顺序执行
  • 规则引擎:管理流程业务规则
  • 组织模型:为流程的运转提供操作者
  • 表单组件:为流程中的任务提供自动化的编辑界面
  • 流程设计组件:提供可视化定义流程的操作界面
  • 任务组件:为流程参与者提供任务列表数据

流程引擎运行机制

  • 设计阶段:建模者按照业务需求在流程设计器中设计出流程定义数据,并将流程订单数据保存到数据库
  • 实例化阶段:通过已经定义的流程数据和所需订单业务数据,组织架构数据,任务表单数据,系统字典数据,流程引擎做好状态初始化。
  • 执行阶段:执行者执行流程时,将传入控制数据,流程引擎按照已设定好的规则进行执行。
  • 应用阶段:流程引擎可以为任务处理者提供待办任务数据,为监控中提供流程监控数据,还提供扩展应用,如信息推送,特殊流程处理等。

术语约定

  • 设计流程元素:一个完整的流程是由节点加线组成的;流程 (flow),节点(node),线(line)。
  • 流程实例:一个流程实例化后会产生一个对应的进程数据,每执行一个节点就会产生一个线程数据;进程(process),线程(thread)。
  • 流程实例进程状态:进行中(in),完成(end),终止(close),冻结(suspend)。
  • 流程实例线程状态:处理中(wait),通过(pass),自动执行(auto),拒绝(refuse),终止(close)。
  • 节点类型
  • 任务(task)节点:用户任务(user task),系统任务(system task)。
  • 网关(gateway)节点:
  • 条件网关:排他网关,异或网关(XOR geteway),只能选择其中一个分支执行。
  • 并行网关:(parallel gateway),选择大于等于一个分支执行
  • 分支:所有的出口顺序都并行执行。子类型有并行分支网关(parallel split gateway )。
  • 合并:所有到达并行网关的并行执行都会在网关处等待,直到每一条入口顺序流都到达了合并网关,然后流程经过该合并网关继续。还有一种特殊合并,是只需其中一条支线到达合并网关,流程=就会接着往后执行。子类型有并行且合并网关(parallel and join gateway ),并行或合并网关(parallel orjoin gateway )。
  • 事件(event)节点:开始节点(start event),结束节点(end event)。

分享程序员开发实用工具网站

IT熊猫

分类:电子书

推荐指数:7星

推荐理由:实用有效免费获取开发类电子书的网站,用知识武装自己。

书籍有按照开发方向进行分类整理,书源比较丰富,每本书都有简介和豆瓣评分,有简单的排名机制,可以对数据进行检索。获取方式需要花点时间,第一步加入分享群,第二步在群里获取图书实际下载地址,然后完成注册点击下载即可。文件主要格式有pdf,mobi,epub等。

传送门:
https://www.itpanda.net/book/


xshell 和xftp

分类:开发工具

推荐指数:8星

推荐理由:window上开发linux程序的利器。

用xshell连接linux服务进行命令操作,用xftp进行文件传输进行文件管理,同时可以通过各自图标相互切换配合使用,且会自动登录并切到同一目录下。

传送门:
https://www.netsarang.com/zh/all-downloads/


知识库


分类:电子书

推荐指数:7.5星

推荐理由:综合性图书查询下载网站

有人文社科,也有互联网计算机相关的书籍下载,有完善的图书分类以及检索机制,可以直接在网站上下载进行阅读。文件主要格式有azw3,mobi,epub等。

传送门:
https://book.zhishikoo.com/


DeepL 翻译器

分类:实用工具

推荐指数:7星

推荐理由:超过100万人使用该应用程序以提高工作效率的翻译器。

我们编程过程中建数据库字段或者设定程序变量名时,免不了需要用到英文翻译器的协助。

翻译工具最核心的是翻译结果的准确程度,该应用在这方面还是得到很大大公司的认可的。如美国动点科技(TechCrunch)曾这样评价道:科技巨头谷歌(Google)、微软(Microsoft)和脸书(Facebook)都将机器学习应用到翻译领域,但一家名为DeepL的小公司却超越了他们,并且提高了该领域的标准。其翻译速度可与规模庞大的竞争者相媲美,但比我们使用过的任何一个翻译工具都要准确和细致。

传送门:https://www.deepl.com/


Abbreviations

分类:实用工具

推荐指数:7星

推荐理由:网络上拥有最大资源的缩略语和缩略语翻译网站

可通过缩略词获取原词。在开发生活的日常中可能会经常碰到各种缩略词,如开源协议GPL,网站会给你提供多种可能的答案并按优先级进行排序。

通过原词获取简写或者缩写词。我们编程过程中建数据库字段或者设定程序变量名时,觉得其名称过长需要进行缩写时,想找到一个通用缩写形式,这个网站也可以帮到你。你可以输入英文全称,网站会提供一系列缩写答案供你参考。

传送门:
https://www.abbreviations.com/


Can I use

分类:开发工具

推荐指数:8星

推荐理由:一个前端兼容性自查工具

前端开发过程中最常见碰到的一个问题就是这个函数或者样式兼容性如何。在这个网站的最顶部Can I use 后输入关键词,就能知道代码在各个浏览器中的兼容效果。该网站是支持全部HTML,CSS,JS的兼容性查询的。

传送门:https://caniuse.com/

相关推荐

OKHttp原理解析(okhttp的作用)

Okhttp应该是Android目前非常流行的第三方网络库,尝试讲解他的使用以及原理分析,分成几个部分:...

快速教会你优雅的解决TCP客户端端口耗尽的问题

Hello,我是Henry,相信各位开发老爷在使用大并发网络连接的时候,可能都遇到过TCP客户端端口耗尽的问题,这是一个常见问题,以下是系统性的解决方案及技术细节:1.理解端口限制的本质...

这3个接口基础知识,产品经理需要知道

产品经理在工作中,避免不了要阅读接口文档,希望本文能够帮助大家更好的了解接口。接口,即客户端(浏览器)向服务器提交请求,服务器向客户端返回响应。本质就是数据的传输与接收。本文主要介绍接口相关的基础知识...

Java 11新特性对开发者的影响:让编程更高效、更自由

Java11新特性对开发者的影响:让编程更高效、更自由在这个瞬息万变的编程世界里,每一代Java的更新都承载着无数开发者对性能优化、生产力提升以及代码美感追求的期望。作为继Java8之后的首个长期...

干货-okHttp的优点-收藏了(okhttp的好处)

OkHttp相较于其它的实现有以下的优点.支持SPDY,允许连接同一主机的所有请求分享一个socket。如果SPDY不可用,会使用连接池减少请求延迟。使用GZIP压缩下载内容,且压缩操作对用...

如何在 Java 项目中集成 DeepSeek

一、使用官方SDK基础集成1.添加依赖(Maven)<dependency><groupId>com.deepseek</groupId>...

spring cloud gateway 性能优化思路

SpringCloudGateway是一个高性能的API网关,但在实际的生产环境中,可能会遇到一些性能瓶颈。以下是一些SpringCloudGateway的性能优化方面:调整线程池...

你对Android中的okHttp的使用真的了解吗

框架下载地址:https://github.com/square/okhttp今天给大家讲解下网络框架okhttp的使用,这个框架非常强大,很多框架都用它来加载网络资源,目前很多开发者还在用As...

京东大佬问我,Nginx并发连接如何设置?详细说明

京东大佬问我,Nginx并发连接如何设置?详细说明首先,我需要回忆一下Nginx的并发模型。Nginx是基于事件驱动的异步架构,所以它的并发处理能力和配置参数有很大关系。主要的参数应该包括worker...

如何实现一个连接池?一文带你深入浅出,彻底搞懂

-前言-【2w1h】是技术领域中一种非常有效的思考和学习方式,即What、Why和How;坚持【2w1h】,可以快速提升我们的深度思考能力。...

Golang 网络编程(golang 系统编程)

TCP网络编程存在的问题:拆包:对发送端来说应用程序写入的数据远大于socket缓冲区大小,不能一次性将这些数据发送到server端就会出现拆包的情况。通过网络传输的数据包最大是1500字节,当TCP...

Spring6|Spring Boot3有哪些HTTP客户端可以选择

个人博客:无奈何杨(wnhyang)个人语雀:wnhyang...

10. 常用标准库(标准库有哪些)

本章深入解析Go语言核心标准库的关键功能与生产级应用技巧,结合性能优化与安全实践,提供高效开发指南。10.1fmt/io/os10.1.1fmt高级格式化...

Nginx之连接池(nginx 长连接 连接复用)

我们知道Nginx利用连接池来增加它对资源的利用率。下面我们一起来看看Nginx是如何使用连接池的。从上一节模块开始已经慢慢会接触一些Nginx的源码部分来。每个worker进程都有一个独立的ngx...

开发者必备的Android开发资源之OkHttp

小编在这里给各位Android开发者介绍的资源包括工具、库和网站等。有效地利用它们,将有助于减轻我们的工作量,提高我们的工作效率。为什么需要一个HTTP库Android系统提供了两种HTTP通信类,H...