最近客户部署了某著名公司的工作流软件,我也顺便研究了一下,发现了一些问题。
目前的工作流系统,从结构体系看都是相似的,主要包括:
- 工作流引擎
- 图形化的流程设计器
- 表单设计器
如果从企业数据角度来看,我们分析一下各个组件的含义
工作流引擎当然是处理具体的业务数据(或叫流程实例)的节点状态流转,保存的是节点状态数据
表单当然保存了业务数据,由于不同流转步骤需要的数据不同,表单里面也存在着非常多的脚本信息,这些脚本中以字段名的方式标识着数据计算公式。
流程设计器保存的是业务流程流转的规则,由于很多流程跳转是有条件的,因此这里面就产生了大量的脚本,而流程跳转条件又多与表单中的字段有关,因此脚本中也存在着大量的字段名标记。
由于流程设计器和表单设计器是两个独立的系统,一般来说表单是被动的,因此流程的修改对表单不会产生太大影响,或者说可以通过编程方式进行检测和自动调整。 但是表单作为数据的保存地,它发生了变化就有些麻烦了,我们来看看问题及解决思路:
- 如果字段名发生了变化,那么所有保存在流程设计器及表单其他字段中的脚本就都有可能发生错误。解决的办法只能是在脚本完成后再进行“编译”处理,将脚本中调用的所有字段名与表单字段的识别码(通常是ID)来关联,这样字段名称发生了变化不会引起程序变化。
- 如果字段被删除,那麻烦可能就很大,因为如下公式: [出差日补贴]×[出差天数]如果删除了“出差天数”的话公式就变成了 “[出差日补贴]×”是个无效的公式, 解决的方法就只能是禁止删除或禁用这些字段。但是有些字段又是需要禁用/删除的,这样就必须有能力通过编程的方式将这些被调用的字段找到。
回到业务的考虑中来,现有的很多著名工作流产品大都不能实现对已经有数据的表单进行修改,而实际业务中业务及流程的调整又是非常频繁的,因此大都采用使用新的表单版本甚至新的流程版本处理,基于数据分析角度考虑,这又往往制造了很多“信息孤岛”,使大量有用的数据无法进行分析(或者需要专门的编程才可以)。
其实,如果能够解决表单字段变更与删除的自动处理问题,从理论上说修改使用中的表单应该是可行的,而如果能够实现此功能,将会大大提高工作流的适用环境。
分享到:
相关推荐
外企面试,回避硬伤。。。。。。。。。。。。。。。
《程序员》杂志有一篇《UML三大硬伤》(以下简称《程》文)。我们认为,《程》文作者在文中把建模语言,方法,工具,管理...等概念混在一起,许多观点是不正确的。因此,我们综合了前一段时间在UMLChina和CSDN所进行...
而未来10年,被誉为次时代显示技术OLED(Organic Light EmitTIng Diode,有机发光二极管)有一定的机率取缔液晶技术,成就一番霸业CRT体积庞大而被淘汰,那么液晶技术又有哪些硬伤遭到OLED的威胁呢?
使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标...
详细研究WinXP中CPU占用100%原因及解决方法 CPU占用100%案例分析 电脑硬件知识大全(看完了你就成硬件高手了) 电脑故障排除之“八先八后” 网络诊所病历大公布 机器响铃不断,这时,如果你知道响铃的含意,就不用...
高考作文要避免六大硬伤.doc
经销商的五大错位硬伤.doc
面试亟待避免十二种“硬伤”.docx
初中语文语文论文课堂浪费我们教学的硬伤
2、 商业网站中,也有利用日志数据,进行数据分析后,向终端用户进行精确推送。 不管上面的那功能都不是内置日志中间件所能达到的,首先内置日志中间件中的数据不能被持久化就是硬伤,所以开发者一半情况下会根据...
经销商的五大“错位”硬伤.doc
本文从UML建模连贯性方面存在的问题,以管理软件开发为例,针对与UML模型衔接的上游、下游、模型内部关系三个方面,分析了采用UML建模造成的三大隔阂,希望与众多建模爱好者共同探讨。 在国内的公开报道中,几乎...
线程id的类型是thread_t,它只在当前进程中保证是唯一的,在不同的系统中thread_t这个类型有不同的实现,它可能是一个整数值,也可能是一个结构体,也可能是一个地址,所以不能简单地当成整数用printf打印,调用...
《商品房预售合同示范文本》的亮点与硬伤.pptx
目前电力系统中相量测量单元(PMU)的配置无法满足电网整体的可观测性要求,关键节点的数据缺失是扰动源定位的一大硬伤。在结合电网数据采集与监视控制(SCADA)系统和广域测量系统(WAMS)的基础上,提出一种考虑关键节点...
专题资料
2.13.2 接口数据一致性握手方式 29 2.14 调研后续工作落实阶段 30 2.14.1 如何写业务调研报告 30 2.14.2 业务调研报告完成后续工作 30 3. 如何写解决方案? 31 3.1 解决方案难写在哪里? 31 3.1.1 第一种是没有体系 ...
系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> <br> 数据库设计 1 Jive Forums数据库说明(英文) 2 Jive KB...
2.13.2 接口数据一致性握手方式 29 2.14 调研后续工作落实阶段 30 2.14.1 如何写业务调研报告 30 2.14.2 业务调研报告完成后续工作 30 3. 如何写解决方案? 31 3.1 解决方案难写在哪里? 31 3.1.1 第一种是没有体系 ...
系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> 设计模式 1 大道至简-Java之23种模式一点就通 2 设计模式...