工作流是企业应用开发过程中非常重要的一部分,几乎常见的管理、业务类系统都与工作流有千丝万缕的联系。
工作流作为应用系统的一部分,根据角色、分工和条件的不同,来解决信息传递路由、内容等级问题的核心解决方案。
常用的工作流应包含节点管理、流向管理、流程样例等基础功能。
优秀的企业应用,其美观大方的系统界面是最基础的部分;数据库之间的信息交换是必备条件;而保证应用系统的功能性、契合性、稳定性和易维护性则是重中之重。
考虑到后期的维护性,可以采用模块化和结构化应用程序,这样在业务流程发生变化时(决策权改变、组织结构变动)能迅速产生全新业的务逻辑。而且,如果应用程序缺乏完备高效的逻辑层(通常由工作流引擎实现),就会容易出现信息的路由错误和运行效率低下这一类问题。
在架构上,面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元通过这些服务之间定义的接口和契约联系起来。接口定义采用中立方式进行,它独立于硬件、系统和编程语言。工作流引擎使得构建在这类系统中的服务,可以统一通用的方式进行交互。
LeaRun标准工作流引擎
在早前,很多企业都迫切需要一套灵活的OA工作流机制,于是有越来越多人开始利用Domino来构建;后来当ASP.NET出现时,大家犹如醍醐灌顶一般,各集团高层都开始要求使用工作流引擎实现企业流程审批信息化。
基于市场的实际需求,我们最开始开发了标准的ASP.NET企业级工作流引擎(LeaRun),并获得相关认证,各项指标及客户反映都不错,所以随后的java平台也延续了其设计思想:
首先定义流程步骤,主要包括:操作的接口地址、操作参数、操作类型(起始操作、中间操作)。其目的是为每个操作设置好相关关系,在定义流程时即可选用设置好的流程步骤。
其次定义操作的参数,是除接口地址外的另一必须项。
再次是定义流程操作步骤之间的关系。即定义一个流程中每个操作步的前驱、后继的操作。
然后定义流程,其内容包括基本信息和流程定义中的各操作步骤、流转规则。流程基本信息无需赘述。流程步骤定义比较复杂,设置定义步骤类型(起始、中间、终结),入口步骤、出口步骤、通知模式、人员、角色、通知发送的内容。
之后定义涉及跳步的情况,如需根据不同参数提交到相应的步骤进行审批,这里叫做流程步骤变迁规则设置。其需要设置的内容:原步骤、目标步骤、变迁方向(正/负)、条件规则(判断“与”、“或”运算)。接着设置参数、值、比较条件。
最后管理授权。该项较简单,判断被提交的人是否处于授权状态,从而进行相关处理。
上述所说是流程的大致逻辑,实际编写过程中考虑的情况会更为复杂,如需案例参考,请搜索“力软”进行查看。
Windy.
阅读(644) | 评论(0) | 转发(0) |