论文部分内容阅读
工作流起源于制造业和办公自动化领域。它是针对日常工作中具有固定程序的活动而提出的一个概念,目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,提高办公效率、降低生产成本、提高企业生产经营管理水平和企业竞争力。在现代企业的各个业务领域,工作流程发挥着关键的作用。比如,在业务操作层,工作流程实现了在业务操作层面诸多复杂环节的标准化和自动化;在企业事务层,为组织机构庞大、制度复杂的企业提高管理效率,提升管理水平,减少人为因素。
企业工作流服务现状
目前,绝大多数已经上线运行的或处于建设期的企业应用系统均有自己的工作流服务模块,企业用户通过参与应用系统中与业务流程相符的流程应用来完成工作。工作流服务已经成为企业业务应用中不可缺少的基础服务,用于满足不同业务流程的不同需求。例如,通过中间件与应用系统的集成,对企业内应用系统的身份管理与认证功能进行集成整合,从而替代原有系统中用户存储、管理及认证的功能,实现对企业用户身份信息统一管理和认证。
如今,随着企业应用的不断深入,跨系统的流程应用越来越多,而现有的分散于各个应用系统的工作流服务与数据、资源等周边模块耦合紧密,甚至有些工作流系统只是在业务数据上进行流程标识,并不具备完全独立的工作流服务引擎,例如在工作流概念还不成熟、企业信息化初期设计建设的一些应用系统很是如此。还有一些应用系统中的工作流把流程视为动作组件的集成编排,每个动作组件对应实际业务流程的每个环节,通过动作组件的开发部署满足业务需求变更。虽然这类工作流服务使用了装配件的思想来适应业务流程的变化,在实施过程中有动态适应业务的优势,但它使用环节驱动流程,无法满足一些复杂流程的特殊需求。
在企业应用的某些含有工作流功能的套装软件,则无法满足多分支、非对称流程等复杂需求。例如,基于SAP软件实现的企业ERP系统,在业务流程功能方面,往往需要借助其他应用系统的工作流服务来完成数据流转。还有一些基于软件开发平台的工作流产品,例如微软提供的Workflow Foundation开发平台,虽然能够满足灵活的流转需求,但流程变更需要小范围的开发工作,要求企业信息维护人员具备一定的代码阅读和开发能力,维护难度加大。
工作流服务基本要素
为满足企业办公流程需要,企业可建立相对于业务数据、资源数据、应用调用独立的工作流服务,这样才能够真正适应企业办公流程业务繁杂、应用灵活多变的特点。
工作流服务应至少包含三个主要功能模块:
1.流程定义管理:负责把业务流程包含的数据编排成工作流引擎能够识别和工作的信息,包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、需执行的用户任务、所有工作流相关数据的定义等,并建立和维护流程与机构的隶属关系。
2.工作流引擎:以流程定义为输入,负责系统所有流程的有序流转、用户任务的分发和归并,记录流程的层次和嵌套关系,保留流转痕迹及任务前驱和后继信息。
3.用户任务管理:负责用户申请经流程信息和用户权限过滤后的活动文档,并将活动文档解析为可操作的活动入口;在用户提交任务后,将流程回执文档打包返回工作流引擎,同时触发业务数据更新。
在企业办公应用系统中,工作流服务至少应提供三类对外接口:
1.基础数据接口:负责与资源数据交互,调用资源数据所维护和管理的机构、角色、人员等企业基础数据。
2.业务数据接口:负责在业务数据中提取数据标识给工作流引擎,用户提交任务通知业务数据更新及提取用户对数据的操作权限。
3.应用交互接口:负责用户或应用程序与工作流服务间的交互调用。
配置流程定义
工作流定义文件应采用一种跨平台、跨网络、跨语言数据描述方式,例如XML语言,它具备很强的可读性、易用性和可扩展性,同时,可以解决异构平台之间的无缝连接和互操作性问题。
企业办公流程本质上是一个有序、有控制、有审计的业务过程,流程间存在分支、主辅和衔接关系,横向存在相同或相似环节比对,纵向存在业务流程分类。因此,工作流定义除预置流转环节、流转规则、操作入口、任务分发等基本要素以外,还应考虑过程控制、权限分配、环节分类、流程嵌套、通知传阅等因素,以共同构造和描述企业办公流程。
在流转模式方面,工作流引擎需要到达一定粒度。工作流引擎所支持的流转模式主要表现在流程定义当中,流程定义中一般包含环节和活动入口两个基本要素:环节定义了流程流转的步骤;活动入口定义了用户参与流程的过程,它包含于流程环节中。活动入口定义的流转方向将环节连接在一起,描述了流程的流转过程,从而构成了完整的流程框架。
在较早的工作流服务设计和应用中,往往是把环节作为流程流转的关键因素,驱动逻辑存在于每个环节当中。这样,用户被限制在环节当中,这种设计只适用于流转轨迹规则简单清晰的流程。而建立颗粒度细化到用户的流转模式,环节只作为用户活动中具备标识作用的属性,驱动逻辑被统一定义在活动入口内,从而能够在很大程度上提升对复杂流程的兼容性。
建立任务分发和归并机制也是工作流设计中的重要环节。流程的流转过程是任务通过一个用户流转至另一个或多个用户,实际上总是一个由单点到多点的分发过程,而一对一的流转应作为一对多流转中的特例。用户任务分发后,总是需要把它们有规则地归并起来,归并方式包括局部和全局归并两种:局部归并能够适应流程内某些环节的小范围并发,如部门内部发文的会签环节,而全局归并能够将流程所有分支聚合起来,满足流程整体归并和最终结束的要求。
值得一提的是,任务归并时应按照业务需求所对应的归并规则自动完成,如流转业务中常见的少数服从多数、多数服从少数、单一任务优先、任务数量优先等规则,这些规则也能够极大地提高流程的灵活性和适应性。
建立异常处理机制
任何应用程序被执行的过程中都可能因为各种各样的原因引发异常,健壮的程序代码都会包含异常处理的逻辑,便于快速定位和处理。而工作流作为一种基础服务,应更为重视对异常的处理和响应。常见的工作流服务异常有:
1.工作流服务内部异常。这类异常由工作流服务本身触发,发生在流程实例的生命周期过程中,如流程定义与解释程序不匹配等情况,是流程定义过程中无法预知的异常。
2.对外接口调用异常。这类异常发生在工作流服务与其他应用功能模块之间相互调用过程中,如接口调用函数不匹配、调用参数传递错误,或接口发布不可用等。
3.任务异常。这类异常实际包含工作流服务和其他模块所触发的两种异常,主要是由于未通过应用数据的完整性和合法性校验、资源数据不可用、活动文档解析错误等原因而触发。
异常触发后,工作流服务一方面应将异常信息和相关帮助信息提示给用户;另一方面,应记录异常的环境信息,如程序调用堆栈的完整异常信息(包括调用的函数或过程的名称、传递的参数名称和内容)和流程环境信息。
工作流服务还应提供一套异常处理机制,支持根据异常记录,通过人工分析或自动处理或两者相结合的方式,使流程实例重新恢复到正常流转或预期状态。
另外,工作流服务还应保存完备的流程日志。工作流服务由设计到投入运行,企业业务部门对流程日志的统计分析需求通常会不断增加和细化,统计分析应主要围绕业务数据、机构层次、流程环节、用户等几个维度,所以工作流服务应记录每一次用户参与流程活动的日志信息,主要包括用户选择的活动入口、本次活动关联的前驱活动、活动入口所激活的后继活动等,这些信息描述了流程实例的完整生命周期。在记录这些流程日志的同时,还必须记录与其相关的资源数据、业务数据等扩展信息,以备关联分析和统计,流程日志与扩展信息最终被保存在任务记录列表内。
另外,还应针对企业的流程日志的统计分析功能建立相对独立的格式化存储,从而既能够优化工作流服务性能,又可以为定制个性化统计分析提供扩展空间。
工作流技术标准化组织WFMC(工作流管理联盟)关于工作流的定义:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。其中有三个要点:有多人参与;能够完全或部分自动执行;根据过程规则或其他信息进行传递。
企业工作流服务现状
目前,绝大多数已经上线运行的或处于建设期的企业应用系统均有自己的工作流服务模块,企业用户通过参与应用系统中与业务流程相符的流程应用来完成工作。工作流服务已经成为企业业务应用中不可缺少的基础服务,用于满足不同业务流程的不同需求。例如,通过中间件与应用系统的集成,对企业内应用系统的身份管理与认证功能进行集成整合,从而替代原有系统中用户存储、管理及认证的功能,实现对企业用户身份信息统一管理和认证。
如今,随着企业应用的不断深入,跨系统的流程应用越来越多,而现有的分散于各个应用系统的工作流服务与数据、资源等周边模块耦合紧密,甚至有些工作流系统只是在业务数据上进行流程标识,并不具备完全独立的工作流服务引擎,例如在工作流概念还不成熟、企业信息化初期设计建设的一些应用系统很是如此。还有一些应用系统中的工作流把流程视为动作组件的集成编排,每个动作组件对应实际业务流程的每个环节,通过动作组件的开发部署满足业务需求变更。虽然这类工作流服务使用了装配件的思想来适应业务流程的变化,在实施过程中有动态适应业务的优势,但它使用环节驱动流程,无法满足一些复杂流程的特殊需求。
在企业应用的某些含有工作流功能的套装软件,则无法满足多分支、非对称流程等复杂需求。例如,基于SAP软件实现的企业ERP系统,在业务流程功能方面,往往需要借助其他应用系统的工作流服务来完成数据流转。还有一些基于软件开发平台的工作流产品,例如微软提供的Workflow Foundation开发平台,虽然能够满足灵活的流转需求,但流程变更需要小范围的开发工作,要求企业信息维护人员具备一定的代码阅读和开发能力,维护难度加大。
工作流服务基本要素
为满足企业办公流程需要,企业可建立相对于业务数据、资源数据、应用调用独立的工作流服务,这样才能够真正适应企业办公流程业务繁杂、应用灵活多变的特点。
工作流服务应至少包含三个主要功能模块:
1.流程定义管理:负责把业务流程包含的数据编排成工作流引擎能够识别和工作的信息,包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、需执行的用户任务、所有工作流相关数据的定义等,并建立和维护流程与机构的隶属关系。
2.工作流引擎:以流程定义为输入,负责系统所有流程的有序流转、用户任务的分发和归并,记录流程的层次和嵌套关系,保留流转痕迹及任务前驱和后继信息。
3.用户任务管理:负责用户申请经流程信息和用户权限过滤后的活动文档,并将活动文档解析为可操作的活动入口;在用户提交任务后,将流程回执文档打包返回工作流引擎,同时触发业务数据更新。
在企业办公应用系统中,工作流服务至少应提供三类对外接口:
1.基础数据接口:负责与资源数据交互,调用资源数据所维护和管理的机构、角色、人员等企业基础数据。
2.业务数据接口:负责在业务数据中提取数据标识给工作流引擎,用户提交任务通知业务数据更新及提取用户对数据的操作权限。
3.应用交互接口:负责用户或应用程序与工作流服务间的交互调用。
配置流程定义
工作流定义文件应采用一种跨平台、跨网络、跨语言数据描述方式,例如XML语言,它具备很强的可读性、易用性和可扩展性,同时,可以解决异构平台之间的无缝连接和互操作性问题。
企业办公流程本质上是一个有序、有控制、有审计的业务过程,流程间存在分支、主辅和衔接关系,横向存在相同或相似环节比对,纵向存在业务流程分类。因此,工作流定义除预置流转环节、流转规则、操作入口、任务分发等基本要素以外,还应考虑过程控制、权限分配、环节分类、流程嵌套、通知传阅等因素,以共同构造和描述企业办公流程。
在流转模式方面,工作流引擎需要到达一定粒度。工作流引擎所支持的流转模式主要表现在流程定义当中,流程定义中一般包含环节和活动入口两个基本要素:环节定义了流程流转的步骤;活动入口定义了用户参与流程的过程,它包含于流程环节中。活动入口定义的流转方向将环节连接在一起,描述了流程的流转过程,从而构成了完整的流程框架。
在较早的工作流服务设计和应用中,往往是把环节作为流程流转的关键因素,驱动逻辑存在于每个环节当中。这样,用户被限制在环节当中,这种设计只适用于流转轨迹规则简单清晰的流程。而建立颗粒度细化到用户的流转模式,环节只作为用户活动中具备标识作用的属性,驱动逻辑被统一定义在活动入口内,从而能够在很大程度上提升对复杂流程的兼容性。
建立任务分发和归并机制也是工作流设计中的重要环节。流程的流转过程是任务通过一个用户流转至另一个或多个用户,实际上总是一个由单点到多点的分发过程,而一对一的流转应作为一对多流转中的特例。用户任务分发后,总是需要把它们有规则地归并起来,归并方式包括局部和全局归并两种:局部归并能够适应流程内某些环节的小范围并发,如部门内部发文的会签环节,而全局归并能够将流程所有分支聚合起来,满足流程整体归并和最终结束的要求。
值得一提的是,任务归并时应按照业务需求所对应的归并规则自动完成,如流转业务中常见的少数服从多数、多数服从少数、单一任务优先、任务数量优先等规则,这些规则也能够极大地提高流程的灵活性和适应性。
建立异常处理机制
任何应用程序被执行的过程中都可能因为各种各样的原因引发异常,健壮的程序代码都会包含异常处理的逻辑,便于快速定位和处理。而工作流作为一种基础服务,应更为重视对异常的处理和响应。常见的工作流服务异常有:
1.工作流服务内部异常。这类异常由工作流服务本身触发,发生在流程实例的生命周期过程中,如流程定义与解释程序不匹配等情况,是流程定义过程中无法预知的异常。
2.对外接口调用异常。这类异常发生在工作流服务与其他应用功能模块之间相互调用过程中,如接口调用函数不匹配、调用参数传递错误,或接口发布不可用等。
3.任务异常。这类异常实际包含工作流服务和其他模块所触发的两种异常,主要是由于未通过应用数据的完整性和合法性校验、资源数据不可用、活动文档解析错误等原因而触发。
异常触发后,工作流服务一方面应将异常信息和相关帮助信息提示给用户;另一方面,应记录异常的环境信息,如程序调用堆栈的完整异常信息(包括调用的函数或过程的名称、传递的参数名称和内容)和流程环境信息。
工作流服务还应提供一套异常处理机制,支持根据异常记录,通过人工分析或自动处理或两者相结合的方式,使流程实例重新恢复到正常流转或预期状态。
另外,工作流服务还应保存完备的流程日志。工作流服务由设计到投入运行,企业业务部门对流程日志的统计分析需求通常会不断增加和细化,统计分析应主要围绕业务数据、机构层次、流程环节、用户等几个维度,所以工作流服务应记录每一次用户参与流程活动的日志信息,主要包括用户选择的活动入口、本次活动关联的前驱活动、活动入口所激活的后继活动等,这些信息描述了流程实例的完整生命周期。在记录这些流程日志的同时,还必须记录与其相关的资源数据、业务数据等扩展信息,以备关联分析和统计,流程日志与扩展信息最终被保存在任务记录列表内。
另外,还应针对企业的流程日志的统计分析功能建立相对独立的格式化存储,从而既能够优化工作流服务性能,又可以为定制个性化统计分析提供扩展空间。
工作流技术标准化组织WFMC(工作流管理联盟)关于工作流的定义:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。其中有三个要点:有多人参与;能够完全或部分自动执行;根据过程规则或其他信息进行传递。