首页 / 软件开发 / 数据结构与算法 / 动态业务工作流引擎Superflow研究概要
动态业务工作流引擎Superflow研究概要2011-04-01第一章 背景及目标本人研究了多年的工作流引擎技术,作为研究成果的Superflow,已经有许多成熟的应用。我愿意把这些点滴的积累奉献出来,与大家共享作学问的乐趣与辛酸。有人说,35岁一个程序员的暮年,我今年36了,才刚刚领悟到程序人生的真谛。§1-1 研制背景企业的运作过程本质上是人、财、物等资源的优化和配置,形式上无一不体现为信息流、资金流、物流、价值流等合理的流动;随着社会分工的日益具体化,合作已成为主题,合作的体现形式必然是一个完整而高效的工作流程;有管理的企业的活动过程必然是有序的,这种有序性体现为合理的工作流程。因而工作流无处不在。但是企业花钱购买的工作流信息系统往往是软件开发商针对大部分企业流程的共性而设计的,很难满足形态各异的企业的个性要求,结果是企业虽然购买了工作流软件,但是还必须花大量财力要求软件开发商作二次开发。而且一旦企业的业务流程发生变化,可能会导致后续的多次开发和维护。导致上述现象的原因就是目前几乎所有的业务流程系统都是将企业的业务逻辑和软件系统的控制逻辑捆绑在一起,使得一旦企业的业务逻辑发生变更,将全面的影响到软件系统的控制逻辑,因而必须修改大量源代码甚至重新开发。在这种背景之下,我们研制了动态业务工作流引擎Superflow。该中间层应用平台有效地解决了上述问题。§1-2 研制目标Superflow的研制目的如下:隔离软件系统的控制逻辑和企业的业务逻辑,使得业务逻辑的变更对于控制逻辑透明。利用该引擎开发的业务信息系统可以根据具体业务需求量身定制个性化的业务流程,而不用修改控制逻辑,甚至无需修改源代码。提供灵活、丰富的标准开发接口,使得开发人员能采用自己习惯的开发工具在该平台上定制和扩充模块。采用多层分布式构件技术,力求技术先进性和应用的健壮性。提供应用的负载均衡和容错能力。工作流自动化和企业应用积木化。第二章 过程与成果§2-1 研制过程一、项目来源及概念的提出在长期的软件研发和企业工作流应用实施的过程中,我们发现企业工作流应用在突现个体特异性的同时,也存在一般性。首先,不同企业的工作流应用系统的控制逻辑基本相似。随着项目经验的积累,同类应用之间具备可比性,尤其是代码的可移植性。为避免重复开发,我们设想能否有一个通用的开发工具,避免同类应用的控制逻辑部分的重复开发?其次,应用开发过程最令人头痛的是企业需求会不断变化。开发过程之中的需求变化会导致需求再分析和代码重构;运行过程中的需求变化会导致企业应用的“雪球效应”。那么,我们设想能否有一个通用的开发工具,可以自适应地应对企业需求的变化,而最小化甚至不用作二次开发?再次,企业运作的所有活动无一不体现为工作流程,工作流程具备普遍性。推而广之,那么,我们设想能否有一个通用的开发工具能够满足目前普遍性的企业应用的开发?面对企业提出的诸多问题和研发过程的复杂性,我们萌发了解决企业复杂工作流应用的企图。经过系统的论证和考察,并辅之以相关的数学手段,形成了我们独创的工作流应用模型和技术体系。