工作流三位一体的驱动方式- (表单)数据 状态 人工

来源:互联网 发布:vue.js 页面加载动画 编辑:程序博客网 时间:2024/05/18 00:37


        五一节放假,到公园里面去吹吹风,看看树。。。

        那天朋友在博客上面留言,讲了一下他对于流程反馈的看法,引起我的进一步思考,公园里面很多人放风筝,我突然有个感想,如果我们的系统简单得像一支风筝那样,没有发动机,没有复杂的控制系统,那它是怎么飞到天空中的呢?   一是要有风,二是要有一根线,风就是动力源,线就是控制系统,多么简单的飞行装置啊。。风筝本身不带任何动力装置,完全靠风的动力来飞翔,风筝本身也不带控制系统,控制系统只由一根线和人来实现,风筝可以做到质量最小,结构最简单,多完美的人机系统啊


       如果我们设计的流程系统也能够像风筝那样,最大限度的借助外界的动力,最大限度的简化控制结构,让整个流程系统变得尽可能的简化,而把主要的精力用到其它地方去,那不是很好吗?     


        暂时思考到这里,我们还是来谈谈工作流引擎的驱动方式吧,这是个老问题了,以前曾经写过几篇博客描述我的想法,虽然这些想法虽然不一定都正确和清晰,但是作为一种思考的种子,每当我想起这些事情的时候,回过头再看一下这些博文,总会有所收获。。。给自己的思维活动留下痕迹,免得这些思维活动随着时间的流逝,消失的无影无踪,其实写博客和记日记很像是我们平时存点钱,一些零散的思考,如果日积月累,以后说不定会有很大的收获。。。。积沙成塔的原理用到设计和思维上面,同样有价值

 

        稍微成熟一些的工作流引擎的驱动方式肯定应该有数据驱动,厂商开发的自定义表单里面的数据和公式作为流程运行的一个动力源,与我们对流程节点的人工操作共同构成流程的运行动力,但是流程节点的状态参数同样也是驱动流程运行的动力源之一,一般的办公流程都涉及到工作人员的操作,表单的数据传递和系统的状态转换,这三种力量共同构成我们流程流转的动力源,如果设计一个流程引擎,在运行控制方面,多少都要同时考虑这三种因素,我在JWFD的引擎运行控制模块上面就没有完整的考虑这三种因素,仅仅重点关注了流程节点的状态转换,在ARC(自动运行控制器)运行控制的设计过程中,重点用流程节点的状态转换作为流程运行的驱动方式,而表单或者嵌入公式数据驱动却没有很好的设计进去,这个关键的地方是我们做开源工作流的与商业产品的一个很重要的差别,商业产品在数据,人工,状态的流程流转驱动方面肯定要做得完善些,否则无法满足企业用户多样化的需求。。

        但是,当我在做基于工作流的自动数据处理系统的过程中,发现如果要完美的实现基于流程的自动数据处理,就不能忽视数据驱动这个关键问题,因为在自动数据处理过程中,嵌入计算模块的节点在运行过程中会产生输出数据,而这个时候流程的流转如果不依靠这些输出数据是不可能实现的,自动数据处理系统中人工操作的因素甚至可以被忽略掉,那么状态转换和计算数据就成为流程自动运行的主要动力源,要完美的实现基于工作流的ADP系统,我们必须把数据驱动流程的工作做好,很多厂商用表单数据来驱动流程,如果表单数据可以驱动流程自动运行下去,那么这套流程完全可以被改造成高端的基于工作流的数据处理系统,而不是仅仅只是一套办公工作流。。


 

 

      




原创粉丝点击