1. 引言
随着我国信息化程度的不断提高,工作流技术在各个行业的信息系统中都得到了广泛的应用。基于工作流技术发展而来的工作流管理系统也越来越成为一种重要的基础中间件软件产品。电子政务、电信、物流等各种行业领域,都在基于工作流平台之上开发其各自领域的应用系统。这些基于工作流的应用系统,为各自领域的企事业单位进行流程自动化、流程再造等发挥了重要作用。
但随着信息化的不断深入,工作流应用的行业领域的不断增加,工作流管理系统被用来描述越来越多、越来越复杂的各种业务流程,对工作流平台产品提出了更高的要求。要求工作流平台能够提供更强大、更方便的模型表达能力,来适应业务的复杂性,适应业务的不断发展变化。
西安协同时光软件有限公司的工作流管理系统SynchroFLOW®4.0在对基于Petri网的工作流模型扩展的基础上提出了立体工作流的概念,由一个“平面”。的工作流系统,变身为“立体工作流”。立体工作流就是通过AOP技术,来捕获工作流事件,通过为工作流事件编写各种动作脚本,大大提高了模型表达能力。
2. 工作流的发展趋势
自1993年工作流管理联盟(WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。十几年来,工作流理论获得了快速发展,各种工作流产品也不断涌现。工作流技术在几乎各种行业中都得到了大量应用。
随着应用的深入,工作流产品体现出如下的现状和特点:
(1)工作流要描述的流程越来越复杂
佩特里教授根据Petri网原理研究了21种工作流模式,包括5个基本模式、5个高级分支与同步模式、2个结构模式、4个多实例模式、3个基于状态的模式、2个取消模式。随着这些工作流模式的出现,对复杂的工作流模型有了很好的表达能力,基本可以解决现实生活中遇到的大部分业务流程。但现在的工作流产品大部分依然存在着这些模式实现复杂、过程繁琐、甚至间接实现的问题。客户在应用工作流产品时依然要编写大量的代码,这大大降低了开发效率。
(2)工作流产品逐渐呈现平台化发展趋势
现在市场上的工作流产品不仅仅只是一个工作流引擎,而是提供一个整体的开发平台,包括表单设计工具、应用部署工具、组织机构建模工具、流程迁移工具、管理监控工具等一整套开发工具。那些仅提供工作流引擎的产品已经不能适应开发者的需要。
工作流平台化的趋势,代表了客户要求降低总体拥有成本,也就是工作流平台不仅要提供流程引擎功能,也要提供流程相关的外围工具功能。通过这样一个工作流平台就完成应用系统开发的大部分工作。这样节约开发时间,降低维护的成本。
(3)工作流产品要适应现在的应用系统轻量化、松耦合的发展趋势
随着轻量化的框架技术,比如struts、hibernate、spring等的出现并大量流行,轻量化已经成为应用系统开发的新趋势。轻量化就是各个应用系统之间、应用系统的各个模块之间要简单化、松耦合。模块的相互依赖性降低,各个模块相对独立。模块与模块之间的关联,通过标准的规范或者XML等进行连接。
为了适应这种松耦合趋势,工作流与基于工作流的应用系统之间也要松耦合。尽量减少应用系统与工作流引擎之间的代码连接。流程实例对象,活动实例对象和工作项实例对象等可以支持事件接口,允许应用实现以构件化形式存在的事件插件,并将此实现注册到工作流定义对象中。在业务应用系统在执行工作流API控制工作流对象时,由工作流系统自动触发事件实现,这样使工作流开发的应用系统的各个部分不是“build into”,而是“plug-in into”,即达到配置化。
综上所述,工作流模型的表达能力需要进一步增强,并且降低工作流引擎与应用系统之间的耦合度,是现在工作流发展的趋势之一。
3.现有的工作流技术的分析
WfMC制定的工作流规范依然是主流的工作流技术规范。BPEL由于各个企业SOA的实施还没有成熟,因此在一段时间内还很难推广。基于WfMC规范的工作流产品还是在市场上得到更多的应用。
协同工作流管理系统(SynchroFLOW)基于863项目成果,成功应用于电信、政府、企业等大型行业400余套,有英文版、日文版、繁体版等多语言版本,获得国家发改委“高新技术产业示范化项目”专项资金支持,并已成功出口到国外。
为了能够适应发展趋势:轻量化、松耦合、模型更灵活、表达能力更强,协同工作流管理系统(SynchroFLOW)需要进行理论创新、版本升级,以保持在市场上的竞争力。
SynchroFLOW4.0的总体目标是:对模型理论进行创新,提供一种松耦合的、可plug-in的工作流事件响应机制。
(1)分析了基于petri网的工作流模型和令牌驱动的工作流模型两种模型理论,重点研究了令牌驱动模型的静态描述、状态描述、执行规则等。通过对令牌驱动模型的表达能力分析,得出了令牌驱动模型缺少主动行为、交互性差等结论。
(2)提出了立体工作流和平面工作流两个新的概念,重点研究了立体工作流模型,其定义、特点、表达能力等。分析了立体工作流模型如何弥补平面工作流的缺少主动行为、交互性差等缺陷。
(3)对立体工作流的两个主要部分:事件模块和动作模块,进行了设计和实现。研究了工作流事件的分类,及如何利用AOP技术实现立体工作流的事件捕获模块。研究了如何利用JavaScript脚本技术实现工作流动作模块。
1
2
3
下一页>>