一个完整工作流管理系统的组成部分
一个完整工作流管理系统的组成部分
一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成。
一、工作流组成
1. 工作流引擎
工作流引擎作为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法(SPLIT、AND、OR等)来实现对于环节的流转(环节的合并、分叉、选择、条件性的选择等)。
2. 工作流设计器
工作流设计器为可视化的流程设计工具,用户通过拖放等方式来绘制流程,并通过对于环节的配置来实现环节操作、环节表单、环节参与者的配置。
工作流设计器为用户以及开发商提供了快速绘制、修改流程的方式,工作流设计器的好坏决定到工作流管理系统的易用性。
3.流程操作
流程操作指所支持的对于流程环节的操作,如启动流程、终止流程、挂起流程、直流、分流(单人办理)、并流(多人同时办理)、联审等,象这些流程操作都是可直接基于引擎所提供的环节调度算法来直接支持的,而在实际的需求中,通常需要自由的对于流程进行干涉,如取回、回退、跳转、追加、传阅、传阅办理等,而这些流程操作对于工作流引擎来说是不合理的,因此必须单独的去实现。
流程操作支持的好坏直接决定到一个工作流管理系统的实用性。
4. 工作流客户端程序
工作流客户端程序为工作流系统的表现形式,通常使用Web方式进行展现,通过提供待办列表、已办列表、执行流程操作、查看流程历史信息等来展现工作流系统的功能。
5. 流程监控
流程监控通过提供图形化的方式来对流程执行过程进行监控,包括流程运转状况,每个环节所耗费的时间等等,而通过这些可相应的进行流程的优化,以提高工作效率。
6. 表单设计器
表单设计器为可视化的表单设计工具,用户通过拖放的方式来绘制业务所需的表单,并可相应的进行表单数据的绑定。 表单设计器为客户以及开发商提供了快速修改表单的方法,表单设计器的易用与否以及功能的完善与否影响到工作流管理系统的易用性。
7. 与表单的集成
通常业务流转需要表单来表达实际的业务,因此需要与表单进行集成来实现业务意义,与表单的集成通常包括表单数据的自动获取、存储、修改,表单域的权限控制、流程相关数据的维护以及流程环节表单的绑定。
与表单的集成的好坏影响到工作流管理系统是否能提高开发效率。
8. 与应用程序的集成
通过与应用程序的集成来完善工作流管理系统的业务意义,主要涉及到的是与权限系统以及组织机构的集成。流程环节需要相应的绑定不同的执行角色,而流程操作通常需要与权限系统、组织机构进行关联。
二、工作流组成 作流比工具更重要
工作流往往依赖于一些效率工具加以搭建。然而,工具并不是工作流程的全部。
1、 为什么需要工作流?
一个优秀的工作流对于提高效率至关重要。
对于团队而言,工作流能有效提升团队工作效率。具体而言,工作流具有以下优点:
- 推进任务进度,强化团队协作。团队的每个成员都按照既定的工作流推进项目任务,并且可以与其他成员进行有效的任务交接,最终增强了团队的生产效率。
- 明晰了任务范围,提升了沟通效率。工作流明确了团队成员的每个人的责任,预定了特定的规则,较少了无意义的猜测和空耗,降低了沟通成本。
- 对于个人而言,工作流也不是可有可无的。在个人的知识管理过程中,良好的工作流帮助个体完成更为复杂的工作任务。更重要的是,工作流的背后,本质上是关于工具使用的方法论。如果我们构建合适自己的工作流,那么,尽管使用新的工具,也会很快能上手进入心流状态。
2、 建立工作流的原则
既然工作流如此重要,那么,我们如何建立合适的工作流呢?
- 一个优秀的工作流应该是一种平衡行为,既强大又简约,并且需要足够的灵活性。
- 从工作流的字面来看,工作流的目的是建立某种流程,并且以提升效率作为目的。 因此,为了高效的流程化,其基础应当是标准化。
- 自动化和可视化有助于强化工作流。此外,这种流程化不应该是僵化的,而应该是弹性化的、可迭代的,从而实现工作流的不断优化和提升。
关于建立工作流的原则,具体如下:
标准化
近代以来,以 福特制 为代表的工业生产系统深刻影响了人类经济和社会体系。福特制的核心包括:产品标准化、采用生产流水线、工薪激励
。关于工作流的设计,可以从福特制获取启发。对于工作流而言,标准化也应该是工作流的基础
,自动化则相当于福特制中的流水线,各种内部报酬和外部报酬则是激励。
其中,如何在工作流中进行标准化呢?
这需要根据我们的日常使用场景,自下而上总结我们的各种重复事项以及对应的需求和操作,然后将这些操作加以标准化,最终创建工作流模版。
以个人知识管理为例,可以根据自己的需求、使用习惯,设置特定的文件命名系统、标签系统、文件管理系统、Zettel 知识卡片模版。这些标准化的工作流模版应该简洁、易用,并且需要长期维护。
自动化
工作流标准化的主要目的之一便是为了实现自动化。
自动化体现了源于软件编程领域的 DRY 原则(Don’t Repeat Yourself——不要重复你自己) 工具的自动化包括两种:内部自动化和外部自动化。
- 为了降低用户的使用负担,不少工具都在提高内部自动化。
比如,快速插入模板、自动保存数据、个性化窗口布局自动启动、自动定位至上次光标位置、使用定制化的快捷键快速使用某个功能。对于内部自动化而言,善用快捷键和触控板进行自动化能有效提升单个工具的使用体验。
- 另一方面,自动化对于多个工具之间进行协同的外部自动化更为重要。
大多数工作流很少只在一个工具内部加以完成,而是需要同时使用多个工具。而在多个工具的使用以及切换过程中会产生认知摩擦以及阻断 心流 状态。因此,最好使用自动化工具加速不同工具之间的工作流。
选择效率工具,最好选择那些支持 URI schemes 的工具。在此基础上,选择适合自己需求的自动化工具。常见的自动化服务工具如图所示,具体可以查看在线链接。
弹性化 & 可迭代性
正如没有完美的工具一样,也不存在完美的系统。
请放弃对于工作流的完美系统期待。
- 一个优秀的工作流,必然应该是一种具有灵活性、适应性的弹性系统。
- 工作流的基础是标准化。然而,一个过于标准化的刚性工作流系统,无法兼顾不同使用者的差异性,也无法无法及时适应各种随着内外部环境变化而出现的新老问题。
- 人比工具灵活。在实践标准化的工作流的时候,不能生搬硬套,而是应该根据使用情景进行权变,以求获得某种的动态平衡。
- 另一方面,从时间维度来看,工作流应该具有可迭代性。没有适应所有场景、所有需求的工作流。
- 每一个工作流都是在某个时空情景中暂时获得了动态平衡。我们需要循序渐进地对工作流进行迭代。通过持续改进,你的工作流便会不断发展,也会日益具有适应性。
可视化
一个可视化的工作流具有更加高效地传递和挖掘信息、追踪目标执行状态、及时发现问题和反思已有操作等多种优势,能有效提升工作流的效率。在日常生活中,项目管理和任务管理是常见的可视化应用场景。比如,看板、日历、甘特图、时间轴。
三、关于工作流的注意事项
实践比工作流和工具更重要
前面我相信介绍了如何选择工具和建立工作流。
然而,从优先级的角度出发,在工作流中,实践 > 工作流 > 工具。真正有用、高效的工作流,并不是预先通过精心选择工具和工作流程加以设计出来的,而是通过实践加以驱动而不断升级和优化的。
具体而言,在工作流中应该先拿起工具立即行动起来。
当使用已有的工具和方法论不能有效处理自己的工作、学习、生活等需求时,再去考虑新的工具和方法论。
在这种实践的持续驱动循环中,你的工作流也会不断迭代进化。
此时,你可能需要对你的工具进行自由组合,也需要对你使用工具的理念进行反思与重塑。
如前所述,应当建立弹性化和可迭代性的工作流。随着时间推移和使用场景的千变万化,我们使用的工具可能在变化,但是根据我们的工作流,应该可以从一个工具迁移到另外一个工具。先从你正在做的事情开始,然后调整工作流。对于工作流中工具的使用,需要注意消除 All In One 所带来的两个执念:放弃尝试使用熟练某个应用所有的功能、放弃在某个应用内实现所有的功能的幻想。
相关文章:

一个完整工作流管理系统的组成部分
一个完整工作流管理系统的组成部分 一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成。 一、工作流组成 1. 工作流引擎 工作流引擎作为工作流管理系统的核心部分&…...

鱼和熊掌如何兼得?一文解析RDS数据库存储架构升级
在2023年云栖大会上,阿里云数据库产品事业部负责人李飞飞在主题演讲中提到,瑶池数据库推出“DB存储”一体化能力,结合人工智能、机器学习、存储等方法和创新能力,实现Buffer Pool Extension能力和智能冷温热数据分层能力。在大会的…...

中科大计网学习记录笔记(五):协议层次和服务模型
前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…...
同构异机迁移方案2_目标服务器仅安装数据库软件scp物理文件
源端和目标端的数据库版本需要保持一致,补丁版本可以不一致,目标端磁盘空间不能小于源端空间,目标端只需要安装 Oracle 软件即可。 特别说明:本文档案例Oracle的安装路径不同,数据目录一致,采用scp的方式实…...

华为机考入门python3--(6)牛客6-质数因子
分类:质数、素数 知识点: 取余符号% 5%3 2 取整符号// 5//3 1 list中int元素转str map(str, list) 题目来自【牛客】 def prime_factors(n): """ 输入一个正整数n,输出它的所有质因子(重复的也…...

11月最新版付费进群源码自动定位+开源
Nginx 1.22.1 php5.6 mysql5.6 数据库配置:/config/database.php 配置后台域名:config/extra/ip.php 设置伪静态thinkphp 后台账号88886666 密码12345 代码结构 关键代码剖析 <?php // ----------------------------------------------------…...

Python算法题集_旋转图像
Python算法题集_旋转图像 题目48:旋转图像1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【矩阵复本】2) 改进版一【矩阵转置矩阵反转】3) 改进版二【四值旋转】 4. 最优算法 题目48:旋转图像 本文为Python算法题集之一…...

[ChatGPT们】ChatGPT 如何辅助编程初探
主页:元存储的博客 全文 9000 字, 原创请勿转载。 我没有写过诗,但有人说我的代码像诗一样优雅 -- 雷军 图片来源:https://www.bilibili.com/video/BV1zL411X7oS/ 1. 引言 作为一个程序员,我们不仅要熟悉各种编程语…...

深入Spring MVC的工作流程
深入Spring MVC的工作流程 在Spring MVC的面试问题中,常常被询问到的一个问题。Spring MVC的程序中,HTTP请求是如何从开始到结束被处理的。为了研究这个问题,我们将需要深入学习一下Spring MVC框架的核心过程和工作流程。 1. 启动请求生命周…...
我的数据结构c(给自己用的)
目录 顺序表: 链表: 栈: 队列: 我想在之后的大学数据结构课上需要自己写来做题,但每次都自己写,那太麻烦了,所以我就将这个博客来把所有的C语言的数据结构弄上去, 问我为什么不…...

使用Arcgis对欧洲雷达高分辨率降水数据重投影
当前需要使用欧洲高分辨雷达降水数据,但是这个数据的投影问题非常头疼。实际的投影应该长这样(https://gist.github.com/kmuehlbauer/645e42a53b30752230c08c20a9c964f9?permalink_comment_id2954366https://gist.github.com/kmuehlbauer/645e42a53b307…...

[Python] scikit-learn中数据集模块介绍和使用案例
sklearn.datasets模块介绍 在scikit-learn中,可以使用sklearn.datasets模块中的函数来构建数据集。这个模块提供了用于加载和生成数据集的函数。 API Reference — scikit-learn 1.4.0 documentation 以下是一些常用的sklearn.datasets模块中的函数 load_iris() …...
Qt-互斥量-临界区-QMutex-QMutexLocker-QReadWriteLock
文章目录 1.QMutex2.QMutexLocker3.QReadWriteLock 在Qt中,互斥量(Mutex)是用于同步多线程访问共享资源的一种机制。临界区(Critical Section)是指一段必须由单个线程执行的代码区域,防止多个线程同时执行这…...

《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(6)
接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(5) 4.1 PCIe总线的基础知识 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个…...

uniapp 高德地图显示
1. uniapp 高德地图显示 使用前需到**高德开放平台(https://lbs.amap.com/)**创建应用并申请Key 登录 高德开放平台,进入“控制台”,如果没有注册账号请先根据页面提示注册账号 打开 “应用管理” -> “我的应用”页面…...

2024年最新幻兽帕鲁服务器搭建教程
玩转幻兽帕鲁服务器,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…...
重新配置vue项目时出现的:连接已断开问题
在新机器上配置完node.js、vue-cli,配置了node_modules后,命令行运行vue ui后,出现了如下报错: C:\Users\LEN>vue ui 🚀 Starting GUI... 🌠 Ready on http://localhost:8000 node:events:496throw e…...

四、Redis之配置文件
redis配置文件的名称 redis.conf 通过命令 find / -name redis.confvim redis.conf通过 : set nu 设置行号: set nonu 取消行号/关键字 搜索关键字: set noh 取消高亮选择4.1 Units 配置大小单位,开头定义了一些基本的度量单位,只支持 bytes&#…...
libevent源码解析--event,event_callback,event_base
1.概述 实现一个基础tcp网络库,以基于tcp网络库构建服务端应用,客户端应用为起点,我们的核心诉求有: a. tcp网络库管理工作线程。 b. tcp网络库产生服务端对象,通过启动接口,开启服务端监听。进一步&…...

C语言进阶之文件操作
一、什么是文件 磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。 1)程序文件 包括源程序文件(后缀为.c),目标文件ÿ…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...