关于工作流引擎的设计讨论

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介:
说点我个人看法哈,一家之言,不一定准确,欢迎批评。 
这个调度,我的理解还是根据一定的权限规则,以及流程定义,把工作流的报文按顺序传递给相关人员审阅,并兼顾异常事件查询等工作。 
我觉得简单来说,就是根本不设计,系统不够大的时候,流程很简单的,数据库中一个顺序表就好了,server检索表,将文档按顺序走一遍就好了。 
不过复杂来说,系统够大,流程够多,还是需要一点设计的,不过,这个设计,从开发角度上讲,最多是提供用户二次修改流程的手段而已,因为程序员永远没有办法替用户规定流程的。因此,还是不要设计,仅仅是把系统做活点,让用户可以自己规定流程就好了,比如前例,将表的修改权发放给某个管理员,或者做个界面,让管理员可以修改流程就好了。 
当然,如果流程较为复杂,状态够多,仅仅利用表保存信令实现数据驱动,可能不好处理。另外,出于某些商业考虑,可能不希望用户自行掌握流程的制造方法,那就变成一次生意了,呵呵。 
那也简单,server端规定一套流程录入的api,规定以某个脚本语言(如php)来书写流程模块,任何时候改流程,则请程序员按照api重新写一套流程代码就好了。 
当然,出于降低维护成本起见,这个修订最好可以是远程的,这就用到npi了,就是规定一套网络接口,可以远程把流程模块登录到server上,server下次业务自动启用。 
我想,只要能做到这几部,其实流程具体怎么规定,让用户去挠头吧,我们不要管,也管不好。 
嗯,至于说到调度算法,可能有时候还有个效率考量,这个问题,我认为根本不是问题,server基于apache+mysql开发,使用脚本语言驱动,一般几千人的公司,都使用ie访问,应该不慢的。没必要为这个点单独做优化,实在要优化,也不要做程序优化,mysql里面建立几个事务,做几个index,可能效果更好。 
有点类似游戏界里面的游戏控制脚本。 
先做什么,满足什么条件,然后哪个场景上出现什么情况。 
也可以乱序,场景仅仅检查n个条件是否满足,不关心满足顺序,这在RPG中比较常见。 

用脚本语言是个不错的选择。

本文转自  tonyxiaohome  51CTO博客,原文链接: http://blog.51cto.com/tonyxiaohome/198466,如需转载请自行联系原作者

相关文章
|
2月前
|
存储 安全 Java
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
本文系统梳理了Java泛型的核心知识体系,主要内容包括: 泛型概述:介绍了泛型的定义、本质和三大优势(类型安全、代码复用、可读性),以及泛型类、接口和方法的三种使用形式。 泛型擦除:深入解析了Java泛型实现的核心机制,包括擦除规则(无界类型擦除为Object,有界类型擦除为第一个边界类型)、擦除带来的问题(如无法使用instanceof、创建泛型数组等)及其解决方案。 泛型通配符:详细讲解了三种通配符类型(无界通配符、上界通配符和下界通配符)的语法、语义和使用场景。
|
7月前
|
存储 JSON 数据格式
云文档环境搭建
本方案基于Nextcloud与OnlyOffice搭建私有云文档系统。通过Docker部署Nextcloud 29.0.3和OnlyOffice DocumentServer 8.1.0,实现文档在线编辑与协作。配置时需安装OnlyOffice插件,生成并填入密钥完成服务对接。用户可上传、分享文件并实时协同编辑,支持Excel等格式。新用户默认文件可通过清空skeleton目录取消。系统访问地址:Nextcloud为http://192.168.xxx.xxx:9081/,OnlyOffice为http://192.168.xxx.xxx:9080/。
436 0
|
9月前
|
人工智能 自然语言处理 搜索推荐
拔俗AI政务智能体:让政务服务更聪明、更贴心
AI政务智能体是基于人工智能的“数字公务员”,可24小时在线解答政策疑问、智能引导办事、自动填表申报,让政务服务更高效便捷。它整合政策数据,实现“一问即答、一办到底”,提升群众满意度,助力政府治理现代化,推动“数据多跑路,群众少跑腿”真正落地。
507 0
|
7月前
|
监控 安全 数据可视化
跨域 AD 混合环境权限失控?ADManager Plus 风险分析功能详解
在AD、Azure AD与Microsoft 365共存的混合IT环境中,身份滥用、权限泄露、配置漏洞等安全风险愈发突出,合规治理压力也与日俱增。
125 0
|
10月前
|
自然语言处理 语音技术 开发工具
IndexTTS2.0_ 情感表达与时长可控的自回归零样本语音合成突破
IndexTTS2 是首个实现自回归模型下**时长可控**、**情感与音色解耦**的零样本语音合成系统。支持语音克隆、情感迁移与文本驱动情绪控制,适用于影视配音、虚拟主播等场景。开源代码与模型已发布,提供完整本地部署方案,大幅提升语音合成的实用性与表现力。
2867 5
|
12月前
|
人工智能 JSON JavaScript
这个开源的「AI + 低代码」开发平台绝了,Gitee上斩获 9.2K Star!
VTJ.PRO 是一款 AI 驱动的低代码开发平台,深度融合 Vue3 技术栈,支持可视化设计与源码级编辑双向自由切换。通过 AI 智能生成、代码修复、跨端输出等能力,大幅提升前端开发效率,实现设计即代码、代码即设计的高效工作流,适用于原型开发、项目重构等多种场景。平台完全开源,提供在线沙盒与本地部署,助力开发者兼顾开发速度与代码自由度。
1131 0
|
数据采集 存储 数据可视化
Python爬取招标信息并生成可视化分析报告
Python爬取招标信息并生成可视化分析报告
|
安全 定位技术
ENVI软件App Store插件工具的下载、安装与使用方法
ENVI软件App Store插件工具的下载、安装与使用方法
1366 1
WordArt Designer:基于用户驱动与大语言模型的艺术字生成
本文介绍了一个基于用户驱动,依赖于大型语言模型(LLMs)的艺术字生成框架WordArt Designer。

热门文章

最新文章