工作流引擎开发系列一基础知识

article/2025/1/18 10:44:54

在现在的很多业务系统中都要用到工作流的,比如说办公软件,评审软件。最近公司需要开发一款工作流引擎,利用数据库做依托,到目前阶段基本上都已经完成了。呵呵,本人也不太喜欢说文字,接下来就简单介绍下基础的东西。首先系统架构图如下:

工作流(即Workflow),毋庸置疑就是一套流程规范,这套流程规范是用户自定义的,可以实现相应的一套业务的自动化完成模板。每个模板中都包含相应的活动(即Activity),在日常生活中几种常见的活动有:审批,会签,并行和分支。每个活动都会拥有相应的动作(即Action)。如图:


在整个引擎中要分为三块:工作流运行平台,业务平台和工作流配置平台。工作流平台主要是工作流运行实例的宿主,业务平台主要是给用户来是实现自己的数据变更,配置平台主要用来做工作流模板配置。整体设计如下:


相关运行步骤如下:

1. 配置工作流模板

2.运行工作流模板生成工作流实例instance和节点flow的相关信息

3.在运行的过程中执行相关的 业务更改

4.根据相关节点生成对应的Todo待办内容

5.点击Todo待办信息调用do方法执行相关操作

6.整个过程中都使用Indicator指示器和WorkState状态器来控制流程走向



http://chatgpt.dhexx.cn/article/6WoMnHt8.shtml

相关文章

用友T3自动备份不成功解决办法

环境描述: 操作系统:Windows Server 2008R2 SP1 / Windows Server 2012 R2 数据库:SQL 2008 R2 SP3 软件版本:T3-标准版10.8Plus2 with 最新增量补丁包 问题描述: 手工备份一切正常,设置自动备份计划任务&a…

WPF学习:4.类型转换和标记扩展

在上一章,主要介绍了Border和Brush,这一章主要介绍下类型转换和标记扩展。相关代码链接如下: http://files.cnblogs.com/keylei203/4.WPFSampleDemo.zip Type Converter 在XAML中,所有的对象都是字符串,XAML解析器通过…

排序--Bubble的优化和性能(算法时间、空间复杂度、稳定性)分析

一、算法基本思想 (1)基本思想 冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而…

Git查看分支创建时间

实际应用中,可能需要准确知道指定分支的创建时间。 代码实例如下: git reflog show --dateiso mastergit reflog show --dateiso #######[Shell] 纯文本查看 复制代码 1 $ git reflog show --dateiso master 代码运行效果截图如下: 可以…

git怎样查看分支关系图

git log --oneline --graph --decorate --all

git中查看全部分支的命令

现在介绍一个超级实用、使用频率极高但几乎所有 Git 教程都不重视的命令 git branch -avv,它用来查看全部分支信息: 上图有三行信息,依次说明: 第一行,开头的星号表示当前所在分支,绿色的 master 是分支名&#xff0c…

git 命令查看分支的创建者是谁

在你的工程目录下 打开终端,输入一下命令即可 git log --oneline master | cut -d " " -f 1 | tail -1 | xargs git log 如上图所示, Author 就是创建者,Date 就是创建日期。“提交项目”这个描述是最初我创建分支的备注

git查看当前分支是基于哪个分支拉取

命令: git reflog show --datelocal | grep 当前分支名举例:比如当前分支为develop,那么命令如下: git reflog show --datelocal | grep develop查询结果如下: 在最后一条记录,可以看到信息为&#xff1…

git如何查看分支

如何查看分支 git branch -vvgit如何切换分支 git checkout branch_name查看远程分支 git branch -a查看本地分支 git branch创建分支 git branch test切换分支到test git checkout test删除本地分支 git branch -d xxxxx查看本地和远程分支 -a 前面带*号的代表你当前工…

git如何查看分支的创建人

背景: 项目初期建立了两个模块的分支,后续多模块开发结束,回看代码整理分支的时候发现以前的分支不记得是否为自己所创,为了不误删别人的分支,此时就需要知道这些分支到底是谁建立的.问题: git如何查看分支的创建人?解决: 我是使用sourceTree进行git管理, 解决这个问题核心的就…

Git查看分支从哪个分支创建的

使用命令 Git查看分支创建时间 git reflog show --dateiso <branch name> 如果是feature分支 git reflog show --dateiso feature/设备小程序 提交多的话&#xff0c;按回车滚动到最后一条 最后一条是创建时间 不过一般我们需要的是远程的&#xff0c;分支名加上or…

Git查看分支的创建人

开发小组人多的时候&#xff0c;仓库里会有跟多分支&#xff0c;需要看下某个分支具体是谁创建的。 命令&#xff1a; git for-each-ref --format%(committerdate) %09 %(authorname) %09 %(refname) | sort -k5n -k2M -k3n -k4n输出如下&#xff1a; 有个缺点是日期中的月份…

如何用git查看分支

1 首先从github&#xff0c;gitblit&#xff0c;gitee上下载的项目文件都有一个隐藏的.git文件&#xff0c;先让这个隐藏文件显示出来。在查看里将隐藏的项目勾上。 2 通过vscode打开 3 现在要查看本地仓库的分支用下面这个命令 git branch 4 现在查看远程仓库的分支是在哪个…

【Git】 常用命令速查

一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin git192.168.1.119:ndshow git push o…

Git命令:查看分支、创建分支、合并分支

一、查看分支 查看的git命令如下&#xff1a; git branch 列出本地已经存在的分支&#xff0c;并且当前分支会用*标记 git branch -r 查看远程版本库的分支列表 git branch -a 查看所有分支列表&#xff08;包括本地和远程&#xff0c;remotes/开头的表示远程分支&#xff09;…

css 固定定位失效问题 position: fixed

问题&#xff1a; 今天项目做一个电梯导航&#xff0c;用到position: fixed&#xff08;固定定位&#xff09;&#xff0c;发现有定位效果&#xff0c;但是拖动滚动条会显示(会根据页面卷曲&#xff0c;遮盖) 方案&#xff1a; 找了一下原因&#xff0c;我给定位的父盒子加了…

CSS固定定位[相对浏览器] 相对定位[相对自己] 绝对定位[有relative的元素]

1基础 Fixed&#xff1a;固定定位 是相对于浏览器窗口来定位的 Absolution&#xff1a; 绝对定位&#xff1a;当没有父元素或者父元素没有进行定位的时候&#xff0c;就是固定定位&#xff0c;以浏览器为标的物 元素会脱离文档流&#xff0c;若该元素没有设置宽度&#xff0c;…

css绝对定位、相对定位、固定定位

css 定位 一、css的三种定位属性 1. 相对定位 position: relative; 元素相对于自己原来的位置&#xff0c;进行位移。 特性&#xff1a; ​ 1,不脱离文档流;其他元素不受影响 ​ 2,相对于自己的文档流上下左右定位 ​ 3,层级高于其他元素 ​ 4,使用属性:top bottom left r…

CSS定位布局详解

CSS定位布局详解 1.定位布局概述2.固定定位&#xff1a;fixed3.相对定位&#xff1a;relative4.绝对定位&#xff1a;absolute5.静态定位&#xff1a;static 1.定位布局概述 CSS定位使你可以将一个元素精确地放在页面上指定的地方。联合使用定位和浮动&#xff0c;能够创建多种…

html制作固定的菜单栏,CSS固定定位生成网页顶部导航栏实例

固定定位 position:fixed 固定定位是相对与浏览器窗口来定位, 就算页面滚动, 固定定位元素的位置不会变 固定定位元素脱离了标准文档流, 会雅盖主标准文档流里的元素 固定定位元素不再占用空间 ​ p.one { position: fixed; left: 5px; top: 5px; } ​ p.two { position: fixed…