第二章 过程与成果
§2-1 研制过程
一、项目来源及概念的提出
在长期的软件研发和企业工作流应用实施的过程中,我们发现企业工作流应用在突现个体特异性的同时,也存在一般性。
首先,不同企业的工作流应用系统的控制逻辑基本相似。随着项目经验的积累,同类应用之间具备可比性,尤其是代码的可移植性。为避免重复开发,我们设想能否有一个通用的开发工具,避免同类应用的控制逻辑部分的重复开发?
其次,应用开发过程最令人头痛的是企业需求会不断变化。开发过程之中的需求变化会导致需求再分析和代码重构;运行过程中的需求变化会导致企业应用的“雪球效应”。那么,我们设想能否有一个通用的开发工具,可以自适应地应对企业需求的变化,而最小化甚至不用作二次开发?
再次,企业运作的所有活动无一不体现为工作流程,工作流程具备普遍性。推而广之,那么,我们设想能否有一个通用的开发工具能够满足目前普遍性的企业应用的开发?
面对企业提出的诸多问题和研发过程的复杂性,我们萌发了解决企业复杂工作流应用的企图。经过系统的论证和考察,并辅之以相关的数学手段,形成了我们独创的工作流应用模型和技术体系。
二、初始模型的建立
基于上述想法,最初我们利用Delphi4.0企业版研制了一个工作流应用框架的雏形Simpleflow。现在看来,该框架很不完善。
(1)Simpleflow基于两层的客户服务器结构。
(2)Simpleflow不是一个严格意义上的开发工具,它以Delphi的工程文件的形式存在。
(3)Simpleflow把业务流程看成一棵流程树,因而是针对简单业务流程的开发是有效的。但对于复杂的业务流程,则无能为力。
三、完善与升华及初期实施
Simpleflow的固有缺陷在以后的应用中得到突现。进一步,我们于2000年8月对Simpleflow作了革命性的改进,就是后来的Superflow系列的第一个版本。它具有如下特点:
(1)Superflow1.0是一个多层次的分布式应用开发平台。
(2)Superflow1.0以独立的中间件的形态存在。
(3)Superflow1.0定义了一套较为完善的API接口,允许用户作前台瘦客户机的开发。并且可以挂接符合接口定义要求的用户独立开发的任意模块。
(4)Superflow1.0以把业务流程看成有向图,从而解决了用流程树解释业务流程的狭隘性。
(5)Superflow1.0允许用户在图形界面的向导之下,进行复杂业务流程的重组,而不用二次开发。
但是Superflow1.0版也存在一些问题。
针对Superflow1.0版的问题,Superflow后续版本从哲学理念、功能结构、数学模型和技术路线上都作了彻底的重构。
四、目前进展
Superflow是一个面向分布式应用的工作流设计和运行平台,它主要由工作流定义工具、工作流客户端API、工作流管理和监控工具以及工作流运行引擎等几个部分组成。
Superflow5.0版目前已基本开发完成。
l 工作流客户端API 包括客户端界面定制、客户端系统连接、客户端数据集、系统调用、系统管理等等。
l 工作流监控工具 包括连接数量、资源状态、过程跟踪、时限跟踪等。
l 工作流引擎 包括通用控制逻辑引擎、应用逻辑自适应引擎、需求规则化专家等。
l 工作流程定义工具 包括需求馈送机、流程直通车等。
l 完全基于ASP.net开发,利用Janeva与J2EE互联。
Superflow的版本演进(一直在不断的提升)
版本. |
开发工具 |
系统架构 |
特色 |
1.0 Before 2001
|
Delphi6 |
Win32 Midas |
l 图论的引入成为工作流应用的基本工具。 l 层次结构和关系模型构建流程的任意重组; l Superflow规则集对流程树提供全面支持; l 中间件技术的引入; l 需求表达机使得应用具体和需求具体的差异性缩减至最小; l 控制逻辑和应用逻辑的隔离,最小化应用开发力度。 |
2.0 Before 2003
|
Delphi7,
|
Win32 DataSnap Soap |
l 支持Corba,EJB,COM对象调用, 支持XML数据传输; l Superflow规则集对流程森林提供全面支持。 l 完全意义上的企业业务流程重组与拖放式流程搭建; l 增加了节点动态路由技术; l 逐层抽象到逐层镜像的转变。 |
5.0 Until now
|
<place w:st="on"></place>Delphi.net JBulider |
.Net DataSnap Janeva |
l Janeva对EJB的调用; l 基于流程知识库的路由识别与学习功能; l Superflow规则集对任意复杂有向图提供全面支持。 |
§2-2 研制成果
该项目的研制成果最终应体现形式为光盘介质软件一套(中间层应用服务器、客户端开发库/Web Application/ISAPI开发接口、电子文档等)、开发手册一套。