技术能力

工作流引擎技术

1.工作流技术介绍

工作流管理系统的应用,使得办公自动化系统实现了综合化、集成化,帮助企业有效地改进和优化业务流程,提高业务工作效率、实现更好的业务过程控制,提高顾客服务质量、提高业务流程的柔性等。

1.1.什么是工作流技术?

工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。

工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。

工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。

1.2.工作流的主要功能:

工作流管理系统(WorkflowManagementSystem,WFMS)是定义、创建、执行工作流的系统。在最高层上,WFMS应能提供以下三个方面的功能支持:

建造功能:对工作流过程及其组成活动定义和建模;

运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度;

运行交互功能:指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序工具交互的功能。

1.3.工作流管理系统带来的好处

由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种对常规性事务进行管理、集成的技术,WFMS的出现是必然的。它可以带来以下收益:

改进和优化业务流程,提高业务工作效率;

实现更好的业务过程控制,提高顾客服务质量;

提高业务流程的柔性等。

1.4.工作流系统的主要组成部分

1)过程定义工具

过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。

(2)过程定义

过程定义(数据)包含了所有使业务过程能被工作流执行子系统执行的必要信息。这些信息包括起始和终止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应用程序和数据的调用信息等。

(3)工作流执行子系统(WES)和工作流引擎

工作流执行子系统也称为(业务)过程执行环境,包括一个或多个工作流引擎。工作流引擎是WFMS的核心软件组元。它的功能包括:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口(API)调用应用程序;提供监督和管理功能等。工作流执行子系统可以包括多个工作流引擎,不同工作流引擎通过协作共同执行工作流。

(4)工作流控制数据

指被WES和工作流引擎管理的系统数据,例如工作流实例的状态信息、每一活动的状态信息等。

(5)工作流相关数据

指与业务过程流相关的数据。WFMS使用这些数据确定工作流实例的状态转移,例如过程调度决策数据、活动间的传输数据等。工作流相关数据既可以被工作流引擎使用,也可以被应用程序调用。

(6)工作表和工作表处理程序

工作表列出了与业务过程的参与者相关的一系列工作项,工作表处理程序则对用户和工作表之间的交互进行管理。工作表处理程序完成的功能有:支持用户在工作表中选取一个工作项,重新分配工作项,通报工作项的完成,在工作项被处理的过程中调用相应的应用程序等。

(7)应用程序和应用数据

应用程序可以直接被WFMS调用或通过应用程序代理被间接调用。通过应用程序调用,WFMS部分或完全自动地完成一个活动,或者对业务参与者的工作提供支持。与工作流控制数据和相关数据不同,应用数据对应用程序来讲是局部数据,对WFMS的其他部件来说是不可见的。

2.博和利工作流技术

博和利工作流引擎采用J2EE技术架构进行设计开发,符合WMFC标准,其中核心的工作流引擎以组件形式封装,与数据库和用户界面分开,便于系统维护和与企业内部其他系统的接口。工作流引擎又由接口和内部核心处理两部分组成,在内部核心处理中,采用了缓存和多线程等技术来提高系统性能。

在应用方面以客户的需求为基础,为政府提供一个稳定高效率的流程工作环境,功能主要包括可视化模型定义工具、工作流基础信息维护工具、工作流引擎、工作列表处理器、工作流监控等。利用便捷的流程设计和管理的可视化组件,管理员可以快速地自定义出完全适合本单位各项办公协作和管理需求的工作流程,使办公事务处理规范化,实现协同工作;定制项目丰富,可很好地满足组织中各种事务处理流程的需要。

2.1.工作流引擎的实现机制

工作流引擎是工作流系统的核心,,它负责解释、控制并协调各种复杂工作流程的执行并且同步各个客户端的反应,其使用的J2EE可以为企业数据库提供事务完整性、安全性、扩展性、冗余与动态负荷分派。

工作流引擎包括3 个部分,即工作流引擎核心、WPDS (Workflow Process Definition Script) 翻译器、工作流引擎接口。其中工作流引擎核心负责调度流程的运行,即创建和管理实例运行、调度活动的运行并创建要处理的工作项、维护用户的工作列表、写日志;WPDS翻译器将脚本形式的过程定义的描述转换为引擎内部的表示;引擎接口为客户端的工作流应用、工作表管理器以及工作流管理工具和工作流引擎核心相交互的接口。

2.2.工作流相关数据的分析处理

工作流相关数据是指由应用程序控制的、工作流引擎使用的数据,工作流引擎通常使用工作流相关数据来控制流程。而在一个较大型的综合信息系统中,工作流相关数据与具体的应用数据密切相关。因此,需要提供一种与数据介质无关的工作流相关数据的定义和处理方法。在本系统Web WFS (Workflow Process Service) 中将对数据的操作从工作流引擎中抽取出来,形成一个独立的数据访问层。数据访问层可以分为两个层次,上层是接口管理器,下层是一组针对不同数据库类型编写的数据处理构件。接口管理器负责管理下层的各种数据访问构件,为工作流引擎提供统一的访问数据库的方法。下层的各种数据处理构件分别处理对不同类型的数据库的请求。接口管理器通过注册机制可以方便地加入对一种新的数据库类型处理的支持。

2.3.符合WFMC的工作流模型

工作流模型是整个工作流系统设计的基础,也是过程定义人员进行系统二次开发的基础,模型描述能力的强弱决定了系统所支持应用的范围以及系统的灵活度,WfMC为系统运行中的工作流模型定义了4 类基本实体:过程定义、过程、活动、任务项。当前,工作流模型语义的描述主要有两种方式:

1)用类似过程语言的逻辑及实体描述语言。将工作流作为一段语言程序,活动、数据和逻辑关系等在过程内部加以描述;

2)将活动、逻辑关系等从过程模型中抽取出来,形成独立的实体对象,这些对象之间具有特定的联系,而对象与对象之间的关系共同刻画了过程模型。

在本系统中提供对这两种方式的支持,即在过程定义时使用自定义的工作流过程定义脚本WPDS (Workflow Process Definition Script)进行过程建模,以便能够灵活地描述过程;在系统运行时,工作流引擎通过解释以脚本形式的过程定义,生成相应的系统内部的对象模型。各种Web 应用可以通过系统定义的工作流对象操作脚本语言操纵系统对象,同工作流引擎相交互。

2.4.可视化流程建模工具

工作流模型是整个工作流系统设计的基础,也是过程定义人员进行系统二次开发的基础,模型描述能力的强弱决定了系统所支持应用的范围以及系统的灵活度流程,建模工具为业务人员提供了将业务流程需求转化为数字流程的手段,系统提供了完善的流程元素组件,通过拖拽的方式即可完成业务流程的过程建模,操作简单快捷,由设计器自动生成符合XPDL标准的XML格式文件,通过远程访问流程部署接口完成流程的实施工作。

2.5.所见即所得的流程表单

表单设计器负责对流程的任务表单进行样式设置和控制数据设置,经过简单的设计即可完成与现实工作中一致的表单图形界面,并可以设置不同表单元素状态在每个环节,而系统流程所需要的其他控制数据则会隐藏在表单的底层,通过保证电子表单与纸制单据的外观一致性,减轻了用户使用流程办理工作的复杂度。

设计的每个表单都可以同时与多个任务进行挂钩,降低了后期表单维护的成本,并能够加快业务流程设计实施进程。表单设计器提供了各种标准元素,通过拖拽就可以快速完成一个表单的定制,此外还提供了更多的高级元素,如组织结构选择组件、电子签名组件、业务模块选择组件等等,为表单在线用户交互提供了有力的支持。

2.6.完善的路由支持

路由决定了任务的流转目标,也就是下一个任务由谁(谁们)来执行,灵活的路由方式会带来更广泛的业务适应能力。当前流程引擎提供了下面几种路由方式,用来驱动流程的畅通运转。

串行路由,这种方式比较简单,只需要按照顺序的任务执行

并行路由,企事业有许多作业必需平行处理以提高效率,并行路由同时为所有下一步的任务环节创建务,并为任务进行操作授权,此时这些并行节点的任务用户可以同时执行各自的不同环节任务项。

条件路由,在企业处理日常工作时,有许多步骤只有在特定条件成立时才会执行。工作流程自动化软件因此必需提供此功能。本系统对于条件路由的确认通过两种方式,一是用户在工作项办理页面手动确认下一个环节来制定路由,另一种是工作流引擎通过流程运行中分析业务数据自动选择下一步的路线。

抄送路由,比如一个发文,在交司局会签的时候,可能会抄送一份给另外的司局备案,这个过程就或额外的激活一个不影响主会签流程的“抄送任务”。

关系路由,大部分企业流程是构建在从属关系上的:申请差旅费需由部门经理核准、员工绩效由上级主管评定…等等。如果通过指定某人向某人汇报来实现关系路由显然不科学,所以能依据从属关系来决定流程传递方向的功能更显重要。

通过这几种路由方式的组合,几乎能满足所有的流程业务建模需求。

2.7.一个流程与多栏目的邦定

在流程部署后,系统自动为流程进行了二次封装,增加了一个服务层,通过这一层来解除流程与用户的偶合。在客户端,用户在操作流程任务时只需要对业务服务进行关联,在业务层的流程执行器会通过业务流程服务对象来确认流程的操作,这样的话对于用户来‘说服’务是一定的,系统也不允许它的重复,但不同的服务对象可以对应同一个流程类型,这样也就达到了一类流程的多用途使用,避免了进行再次开发和实施,降低了维护成本。

2.8.业务流程监控、查询、统计功能

系统除通过工作流引擎提供的任务处理接口完成的标准任务办理模块,还为领导提供了更高层面上的流程监控、任务查询、流程统计功能。通过各种图形分析工具,可以实时监督相关人员、流程的执行情况,进行统计分析,为领导提供决策依据。

2.9.支持工作流导入/导出

模型面板以树的方式显示模型文件

支持对模型的全选、反选功能

支持模型文件定位查询操作

2.10.流程备份功能

提供工作流数据备份/还原/移植功能,包括流程运行数据,流程控制数据,流程业务数据,流程业务文件,流程日志数据。

2.11.动态维护工作流以支持组织运作

流程的任务授权调整变更无需重新发布流程,系统在流程管理中的任务授权功能中可直接对流程任务的授权信息进行变更,提供组织结构+角色授权方式,修改后的流程并且不会影响此类流程的其他版本流程授权信息。流程运行期间对任务的授权信息进行动态解析,因此在组织机构变动后,流程引擎进行任务分配时能够获取最新的授权用户,这样就无须对流程授权进行修改。

2.12.流程任务附加功能

系统对流程任务提供了更加细粒度的控制:

任务转移,用户可以通过此功能将分配给自己的当前任务发送给指定人来完成;

任务退回,有两种情况会涉及到这个功能的使用,一是用户的表单数据填写错误,由下一个节点的操作人员将任务退回,另一种是由于业务审批不能通过被退回,两者不同是对于前一者需要将业务数据进行回滚;

任务取回,是指前一环节处理人再提交任务后发觉表单数据填写出现错误,主动将任务收回,前提条件是这个任务尚未被下一环节处理人打开过;

流程代理,用户将自己的流程任务处理权限在一定时间内转移给指定的另一个人,由他负责处理委派的流程;

2.13.多样化的流程提醒

如何将需要协作的消息传递给需要的用户,系统提供了多样化的消息机制与流程引擎进行了整合:

桌面提醒,用户能够自己进行定制需要提醒的流程,提醒的间隔时间。

短信提醒,工作流引擎通过调用段信发送接口,将流程信息发送给指定用户。

即时通讯,在用户等打开Web平台时,即时通讯工具会将需要处理的任务通过消息提醒给指定用户。

2.14.流程的图形化

流程在设计器设计生成后,流程图以静态图片进行显示,通过部署到流程服务器后,流程引擎负责解析流程环节信息时时动态生成流程监控图,显示最新的流程运行信息,节点执行情况,任务授权情况等,通过流程图,用户能全面了解流程的运行情况,减少人为的任务出错机率,提高工作效率。

2.15.固定及可自定义的报表(针对流程)

流程表报可通过制定业务流程的相关统计字段、统计规则,进行统计报表分析,在提供报表的同事辅助以图形显示,可以进行打印或导出标准格式的文档进行下载。

2.16.流程监控工具

流程监控工具提供了完善的用户管理、角色管理、过程管理、系统设置、系统安全管理、配置文件管理和日志管理,让管理者可以追踪和控管角色、活动、节点、过程实例的状态和过程实例流经的路径;可以以图形的方式再现已经完成的过程实例的路径、可以显示正在进行中的过程实例,并且提供管理的机制,让管理者得以在必要时终止或暂停某些过程实例。

同时,它提供了报表分析工具,可以确切了解企业内所有工作流程的执行情况、成本、问题,并为您提供所有工作流程在执行时的详细统计数据。这些统计信息包括每个工作流程执行所花费的时间和成本,也可以找出流程中的各个步骤所耗费的时间和成本。由此可以动态改变过程的状态,协调各个部分的关系,并进而提升行政职能的效率。

联系博和利 | 网站地图 本网站采用博和利网站群落管理平台

咨询热线:86-22-27058558 津ICP备05011245号