工作流(Workflow),大体是指业务过程(整体或者部分)在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的描述。在计算机系统中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者研究一个群体或组织如何在计算机的帮助下实现协同工作。
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序的活动提出的一个概念,目的是通过将工作分解成定义好的任务或角色,按照对应的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程的目的。
常用的工作流应包含节点管理、流向管理、流程样例等基础功能。工作流在应用系统中,通常会依据角色、分工与现实条件的不同点,来合理安排路由传递,高效分配内容等级,帮助用户解决企业与组织运行过程中的核心问题。
尽管工作流已经在多个领域发光发热,但对工作流的定义还没有能够统一和明确。耶奥加科普洛斯(Georgakopoulos)曾经对工作流给出定义:其是将一组任务组织起来以完成某个经营过程,定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或多个人完成,还可以由一个或多个人与软件系统协作完成。
而工作流管理的标准化组织,工作流管理联盟(Workflow Management Coalition,WfMC)于1993年成立,标志着工作流技术逐步走向成熟。但WfMC对工作流给出定义为:工作流是指一类能够完全自动执行的经营过程,根据一系列过程规则,将文档、信息或任务在不同的执行者之间进行传递与执行。
But anyway,高效的标准化工作流,是企业与组织应用开发中,不可或缺的一部分,这在今天已经是不可争辩的共识。
在工作流应用程序中,美观实用的UI界面是一款优秀软件中最基本的部分;数据库之间的信息交换则是必备要点;而保证应用系统的功能性、契合性、稳定性和易维护性则是重中之重。
在后期,为方便维护,开发者多选择将应用程序做成模块化结构,有利于将来业务流程发生变化时(决策权、组织结构变动)更迅速地更新业务逻辑。应用程序如果缺乏完备高效的逻辑层(工作流引擎),则可能会导致信息路由错误和运行效率低下。
面向服务的结构体系,是一类在架构上的模型组件,它将软件的不同功能与单元,通过服务间定义的接口和契约联系起来。通常采用中立方式定义接口,它独立于硬件、系统和编程语言。工作流引擎使得构建在这类系统中的服务,可以统一交互。
XJRsoft标准工作流引擎
以前,很多企业和组织都迫切需要一套灵活的OA工作流,当时人们多用Domino来构建;后来ASP.NET出现,大家犹如醍醐灌顶一般,开始有越来越多人,要求使用工作流引擎,实现企业或组织的信息化流程审批。
基于市场的实际需求,XJRsoft首先开发了标准的ASP.NET企业级工作流引擎,并获得相关认证,多年以来累积的客户反映都不错,所以随后的java平台也延续了其设计思想:
首先定义流程步骤,主要包括:操作接口地址、操作参数、操作类型(起始操作、中间操作)。为每个操作设置好对应关系,在定义流程时即可选用设置好的流程步骤。
其次定义操作的参数,是除接口地址外的另一必须项。
再次是定义流程操作步骤之间的关系。即定义一个流程中每个操作步的前驱、后继的操作。
之后定义流程,其内容包括基本信息和流程定义中的各操作步骤、流转规则。流程基本信息无需赘述。流程步骤定义比较复杂,设置定义步骤类型(起始、中间、终结),入口步骤、出口步骤、通知模式、人员、角色、通知发送的内容。
然后后定义涉及跳步的情况,如需根据不同参数提交到相应的步骤进行审批,这里叫做流程步骤变迁规则设置。其需要设置的内容:原步骤、目标步骤、变迁方向(正/负)、条件规则(判断“与”、“或”运算)。接着设置参数、值、比较条件。
最后管理授权。该项较简单,判断被提交的人是否处于授权状态,从而进行相关处理。
网友评论