工作流系统的硬伤- 修改有数据的表单限制及解决方式分析
2011-04-13 18:16
423 查看
最近客户部署了某著名公司的工作流软件,我也顺便研究了一下,发现了一些问题。
目前的工作流系统,从结构体系看都是相似的,主要包括:
- 工作流引擎
- 图形化的流程设计器
- 表单设计器
如果从企业数据角度来看,我们分析一下各个组件的含义
工作流引擎当然是处理具体的业务数据(或叫流程实例)的节点状态流转,保存的是节点状态数据
表单当然保存了业务数据,由于不同流转步骤需要的数据不同,表单里面也存在着非常多的脚本信息,这些脚本中以字段名的方式标识着数据计算公式。
流程设计器保存的是业务流程流转的规则,由于很多流程跳转是有条件的,因此这里面就产生了大量的脚本,而流程跳转条件又多与表单中的字段有关,因此脚本中也存在着大量的字段名标记。
由于流程设计器和表单设计器是两个独立的系统,一般来说表单是被动的,因此流程的修改对表单不会产生太大影响,或者说可以通过编程方式进行检测和自动调整。 但是表单作为数据的保存地,它发生了变化就有些麻烦了,我们来看看问题及解决思路:
如果字段名发生了变化,那么所有保存在流程设计器及表单其他字段中的脚本就都有可能发生错误。解决的办法只能是在脚本完成后再进行“编译”处理,将脚本中调用的所有字段名与表单字段的识别码(通常是ID)来关联,这样字段名称发生了变化不会引起程序变化。
如果字段被删除,那麻烦可能就很大,因为如下公式: [出差日补贴]×[出差天数]如果删除了“出差天数”的话公式就变成了 “[出差日补贴]×”是个无效的公式, 解决的方法就只能是禁止删除或禁用这些字段。但是有些字段又是需要禁用/删除的,这样就必须有能力通过编程的方式将这些被调用的字段找到。
回到业务的考虑中来,现有的很多著名工作流产品大都不能实现对已经有数据的表单进行修改,而实际业务中业务及流程的调整又是非常频繁的,因此大都采用使用新的表单版本甚至新的流程版本处理,基于数据分析角度考虑,这又往往制造了很多“信息孤岛”,使大量有用的数据无法进行分析(或者需要专门的编程才可以)。
其实,如果能够解决表单字段变更与删除的自动处理问题,从理论上说修改使用中的表单应该是可行的,而如果能够实现此功能,将会大大提高工作流的适用环境。
目前的工作流系统,从结构体系看都是相似的,主要包括:
- 工作流引擎
- 图形化的流程设计器
- 表单设计器
如果从企业数据角度来看,我们分析一下各个组件的含义
工作流引擎当然是处理具体的业务数据(或叫流程实例)的节点状态流转,保存的是节点状态数据
表单当然保存了业务数据,由于不同流转步骤需要的数据不同,表单里面也存在着非常多的脚本信息,这些脚本中以字段名的方式标识着数据计算公式。
流程设计器保存的是业务流程流转的规则,由于很多流程跳转是有条件的,因此这里面就产生了大量的脚本,而流程跳转条件又多与表单中的字段有关,因此脚本中也存在着大量的字段名标记。
由于流程设计器和表单设计器是两个独立的系统,一般来说表单是被动的,因此流程的修改对表单不会产生太大影响,或者说可以通过编程方式进行检测和自动调整。 但是表单作为数据的保存地,它发生了变化就有些麻烦了,我们来看看问题及解决思路:
如果字段名发生了变化,那么所有保存在流程设计器及表单其他字段中的脚本就都有可能发生错误。解决的办法只能是在脚本完成后再进行“编译”处理,将脚本中调用的所有字段名与表单字段的识别码(通常是ID)来关联,这样字段名称发生了变化不会引起程序变化。
如果字段被删除,那麻烦可能就很大,因为如下公式: [出差日补贴]×[出差天数]如果删除了“出差天数”的话公式就变成了 “[出差日补贴]×”是个无效的公式, 解决的方法就只能是禁止删除或禁用这些字段。但是有些字段又是需要禁用/删除的,这样就必须有能力通过编程的方式将这些被调用的字段找到。
回到业务的考虑中来,现有的很多著名工作流产品大都不能实现对已经有数据的表单进行修改,而实际业务中业务及流程的调整又是非常频繁的,因此大都采用使用新的表单版本甚至新的流程版本处理,基于数据分析角度考虑,这又往往制造了很多“信息孤岛”,使大量有用的数据无法进行分析(或者需要专门的编程才可以)。
其实,如果能够解决表单字段变更与删除的自动处理问题,从理论上说修改使用中的表单应该是可行的,而如果能够实现此功能,将会大大提高工作流的适用环境。
相关文章推荐
- 工作流系统的硬伤- 修改有数据的表单限制及解决方式分析
- 【案例实战】餐饮企业分店財务数据分析系统解决方式:业务需求
- 【案例实战】餐饮企业分店財务数据分析系统解决方式:系统功能开发
- 修改tomcat的server文件配置解决get方式提交数据产生的乱码
- 解决DELETE PUT请求方式无法提交表单数据的问题
- WEB应用 信息管理系统 数据分析展示系统 OA办公工作流 快速构建与开发平台
- 一段程序代码的修改,将原来按分钟活动的方式改为秒级滑动,可以提供数据分析的精度
- JSP 表单输入,UTF编码,get方式提交数据出现中文乱码解决方法
- xp系统下hosts文件修改后无法保存的解决方式
- ubunut在系统恢复模式下无法修改root密码的分析和解决
- 通过编程方式在InfoPath 2010表单的下拉框修改事件中获取数据
- ubunut在系统恢复模式下无法修改root密码的分析和解决
- 腾讯公司数据分析岗位的hadoop工作 线性回归 k-means算法 朴素贝叶斯算法 SpringMVC组件 某公司的广告投放系统 KNN算法 社交网络模型 SpringMVC注解方式
- ubunut在系统恢复模式下无法修改root密码的分析和解决
- 腾讯公司数据分析岗位的hadoop工作 线性回归 k-means算法 朴素贝叶斯算法 SpringMVC组件 某公司的广告投放系统 KNN算法 社交网络模型 SpringMVC注解方式
- http协议4---GET方式和POST方式获取表单数据举例3(统一方式获取,解决中文乱码问题)
- 解决Ext Combobox允许用户插入及修改任意值,不用限制只能新增或修改数据表里即有字段
- 工作流三位一体的驱动方式- (表单)数据 状态 人工
- 表单通过get和post方式提交数据解决乱码的方法
- centos 修改系统打开最大文件数限制 too many open files的解决方法