《ERP系统工作流基本知识介绍.doc》由会员分享,可在线阅读,更多相关《ERP系统工作流基本知识介绍.doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、上海益达网络科技有限公司 目录1工作流基本概念41.1工作流的起源41.2工作流的定义42工作流管理系统基本概念82.1工作流管理系统的定义82.2工作流管理系统的分类93工作流管理系统参考模型103.1工作流管理系统体系结构103.2工作流参考模型113.3过程定义133.3.1过程定义工具133.3.2工作流定义转换(接口1)143.4工作流执行服务与工作流引擎153.5工作流客户端功能173.5.1工作流客户应用173.5.2客户端应用接口183.6应用程序调用功能183.6.1应用程序调用183.6.2应用程序调用接口193.7系统管理203.7.1管理和监控工具203.7.2管理和监
2、控工具接口214过程定义语言235益达网络EOS工作流265.1益达网络EOS概述265.2EOS工作流组成275.3EOS工作流特性275.4EOS工作流优势315.5EOS工作流应用范围326工作流的发展趋势和应用346.1工作流的发展现状346.2采用工作流的好处356.3工作流与ERP系统的应用35参考文献37附录:术语表381 工作流基本概念1.1 工作流的起源工作流的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。实际
3、上,自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一直在进行,这是企业管理的主要研究内容之一,只是在没有引入计算机信息系统的支持之前,这些工作都是由人工来完成的。在计算机网络技术和分布式数据库技术迅速发展,多机协同工作技术日益成熟的基础上,于20世纪80年代中期发展起来的工作流技术为企业更好地实现这些经营目标提供了先进的手段。工作流技术一出现马上就得到广泛的重视和研究。至今工作流管理技术已成功地运用到图书馆、医院、保险公司、银行等行业,然而它更重要的应用还是在工业领域,特别是制造业领域。目前,在全球范围内,对工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,更多更新的技术被
4、集成进来,文件管理系统、数据库、电子邮件、Internet服务等都已被容纳到工作流管理系统之中。工作流产品的市场每年以两位数字的速度迅猛增长。市场上工作流产品发展迅速,据统计,1997年工作流产品的增长率超过35。作为支持企业经营过程重组(Business process reengineering, BPR)、经营过程自动化(Business process automation, BPA)的一种手段,工作流技术的研究应用日益受到学术界与企业界的重视。1.2 工作流的定义根据国际工作流管理联盟(Workflow Management Coalition,WfMC) 的定义,工作流(Workf
5、low)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。我们从工作流定义中可以看出,工作流是经营过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。使用工作流来作为经营过程的实现技术首先要求工作流系统能够反映经营过程的如下几个方面的问题,即经营过程是什么(由哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、由谁来做(人或计算机应用程序,也就
6、是组织角色的定义)、做得怎样(通过工作流管理系统对执行过程进行监控)。图1-1给出了一个称为工作流伞的示意图,反映了工作流覆盖的经营过程的范围与对应的工作流研究领域。图1-1 工作流伞在企业应用中,工作流经常与经营过程重组相联系,完成对一个组织(或机构)中核心经营过程(或者成为关键经营过程)的建模、评价分析和操作的实施。虽然并非所有的BPR都需要采用工作流的方式进行实施,但是,工作流技术通常是实施BPR的一个较好的方法,因为工作流提供了经营过程逻辑与它的信息支撑系统的分离,并实现了应用逻辑和过程逻辑分离,这种方式在进行企业实际应用时具有显著的优点。它可以在不修改具体功能模块实现方式(硬件环境、
7、操作系统、数据库系统、编程语言、应用开发工具、用户界面)的情况下,通过修改(重新定义)过程模型来改进系统性能,实现对生产经营过程部分或全部地集成管理,有效地把人、信息和应用工具合理地组织在一起,提高软件的重用率,发挥系统的最大效能。如上所述,工作流主要是用来描述经营过程的,因此,一个工作流就可以看成是企业的一个具体的经营过程的抽象或图示化的表示。那么如何才描述清楚一个企业的经营过程呢?主要应该说明以下几个问题:这个经营过程要做什么?即其目标或想达到的目的是什么?这个经营过程是如何完成的,有哪些任务并经过哪些步骤完成?这个经营过程有谁参与完成,有哪些部门参与?这个经营过程用了哪些方式或手段来完成
8、?为了说明以上四个问题,并且以计算机可以识别的方式建立企业经营过程模型,在工作流中必须定义一系列的基本概念和术语来描述模型的组成,从而实现对企业经营过程的建模。首先是工作流的定义,如我们在前面介绍的,工作流就是将一组任务组织起来完成某个经营过程。所以,工作流整个模型就是为了说明经营过程的目的,或者说这个模型描述的经营过程的目标。工作流中两个最基本的元素是活动和活动之间的连接关系。活动对应于经营过程中的任务,主要是反映经营过程中的执行动作或操作。活动之间的连接关系代表了经营过程的规则和业务过程。当然,一个企业的业务过程不是仅有活动和活动之间的连接关系就能够描述清楚的。一个企业的经营过程还要涉及参
9、与操作的人员、组织、所操作的数据、使用了哪些计算机程序等。在工作流模型中通过定义活动的角色(操作人员)和组织单元(组织机构、部门)来描述企业的经营过程是由谁来完成的。另外,通过定义工作应用程序来说明采用说明手段完成经营过程。下面我们用一个简单的例子来说明可以采用工作流建模方法进行描述的经营过程。例:客户到银行取款的处理过程。图1-2 银行客户的取款过程该流程的具体意义如下:1) 客户填写取款单;2) 银行出纳接收取款单和客户的存折;3) 银行出纳检查客户存款信息; 如果余额不足,要求客户重新填写取款单,返回步骤1); 存款余额足够,则继续进行;4) 客户输入密码; 如果密码正确,继续进行; 如
10、果密码有误,重新输入,如果连续三次输入错误,则退出;5) 出纳取出相应的现金,并在客户的存折上进行记录;6) 将存折和现金交给客户。上面例子中的方框表示经营过程中的任务,它们对应于工作流中的活动。方框之间的连接弧表示活动之间的关联。这个例子表明了工作流技术具有广泛的应用背景,它可以用直观的、用户非常容易理解的方式来描述日常的事务处理活动和企业的经营过程。2 工作流管理系统基本概念2.1 工作流管理系统的定义根据WfMC的定义,工作流管理系统(Workflow Management System, WFMS)是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作
11、流实例的执行。通常,工作流管理系统是指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,但它们具有很多共同的特性。从比较高的层次上来抽象地考察工作流管理系统,可以发现所有的工作流管理系统都提供了3种功能(如图2-1):1) 建立阶段的功能:主要考虑工作流过程和相关活动的定义和建模功能。2) 运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个过程中活动的排序和调度功能。3) 运行阶段的人机交互功能:实现各种活动执行过程
12、中用户与IT应用工具之间的交互。图2-1 工作流管理系统的特性2.2 工作流管理系统的分类根据所实现的业务过程,工作流管理系统可分为四类:1) 管理型工作流:在这类工作流中活动可以预定义,并且有一套简单的任务协调规则。2) 设定型工作流:与管理型工作流相似,但一般用来处理异常或发生机会比较小的情况,有时甚至是只出现一次的情况,这与参与的用户有关。3) 协作型工作流:参与者和协作的次数较多。4) 生产型工作:实现重要的业务过程的工作流,特别是与业务组织的功能直接相关的工作流。根据底层实现技术,可将工作流产品分为三类:1) 以通信为中心:以电子邮件为底层的通信机制。这种类型的工作流管理系统适合于协
13、作型工作流和不确定型工作流,而不适合于生产型工作流。2) 以文档为中心:基于文档路由,它同外界应用的交互能力有限。许多基于表的管理型工作流可以用以文档为中心的工作流实现。3) 以过程为中心:这种工作流系统对应生产型工作流。根据不同工作流系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为四类:1) 基于文件的工作流系统:以共享文件的方式来完成任务项传递。2) 基于消息的工作流系统:通过用户的电子邮件系统来传递文档信息。3) 基于Web的工作流系统:通过WWW来实现任务的协作。这类产品起步较晚,但发展迅速,市场前景十分看好。4) 群件与套件系统:虽然这类产品与以上三种产品在任务传递方
14、式上有很大程度的重叠,但是,在这里却有必要把它们单独划分成一类。3 工作流管理系统参考模型3.1 工作流管理系统体系结构图3-1为WFMC提出的工作流参考模型的体系结构图。这个参考模型的体系结构给出了抽象的工作流管理系统的功能组成部件和接口,它能够满足工作流管理系统和产品应该具有的主要功能,可为实现工作流产品之间的互操作提供公共的基础。必须指出,组成工作流管理系统的每个功能部件可以在不同的软硬件平台上采用不同的方法实现,同样接口也可以在不同的软硬件平台上采用不同的设计技术和编程语言进行编程。一般说来,工作实现不同工作流产品之间的集成,它们会按照互操作和协作的不同要求在一定层次上开放其接口。图3
15、-1 工作流管理系统的体系结构图从图3-1可以看出,工作流管理系统主要由三类构件组成:1) 软件构件:完成工作流管理系统不同组成部分功能的实现;2) 系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据;3) 应用与应用数据:对于工作流管理系统来说,它们不是工作流管理系统的组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成整个和部分工作流管理的功能。3.2 工作流参考模型图3-2给出了WFMC提出的工作流参考模型。接下来介绍一下模型中所涉及到的三种数据和五种接口。图3-2 工作流参考模型工作流执行服务器周围的接口是WAPI(Workflow APIs),通过这些接口可以访问工
16、作流系统的服务,这些接口还控制工作流控制软件与其他系统组件间的交互。在这5个接口中的许多功能,都是被2个或更多个接口同时拥有的,因此WAPI可以看作是统一的服务接口,可以交叉使用这5个接口来支持工作流管理功能,而不是单独的使用其中某个接口。API与五种接口:1. 接口1:过程定义输入输出接口这个接口为在不同物理或电子介质之间传递过程定义的信息提供了交互的形式和API调用函数。工作流管理联盟提供的API函数在建模方面主要覆盖了以下几个功能:1) 通信建立:各个参与的系统之间通信的建立与断开。2) 工作流模型操作:过程模型名称检索、对过程模型对象的读/写等。3) 工作流模型对象操作:在建模工具中创
17、建、检索和删除对象;创建、设置和删除对象的属性。2. 接口2:客户端函数接口1) 通信建立:各个参与的系统之间通信的建立与断开。2) 工作流定义操作(对过程模型定义操作):对于过程模型的名称和属性的查询和检索功能。3) 过程实例管理功能:创建/开始/结束一个过程实例;挂起/重新激活一个过程实例;强行改变过程实例或活动实例的状态;查询过程实例或活动实例的属性。4) 过程状态管理功能:设置过滤条件,打开/关闭对一个过程实例或活动实例的查询;设置过滤条件,获得部分过程实例或活动实例所需的详细信息;获得过程实例或活动实例的详细信息。5) 任务项列表/任务项处理功能:设置可选的过滤条件,打开/关闭一个任
18、务项列表查询;设置过滤条件,获得任务项列表中的项目;对任务项的选择/重新分配/完成等消息的通知;设置和查询一个任务项属性。6) 数据处理过程:查询/返回工作流相关数据、工作流应用数据。7) 过程监控功能:改变一个过程模型和其现存的实例的运行状态;改变某种特定类型的过程实例或活动实例的状态;改变某种特定类型的过程实例或活动实例的属性;结束所有的过程实例。8) 管理功能:其他的管理功能。9) 应用程序激活。3. 接口3:激活应用程序接口1) 通信建立:建立/断开与应用程序(或应用程序代理)的通信。2) 活动管理功能:开始活动;挂起/重新激活/退出活动(需要一个非同步的应用程序界面);通知活动结束;
19、查询活动属性、消息事件(如同步信息等)。3) 数据处理功能:提供工作流相关数据(在活动执行前向应用程序提供数据,活动结束后从应用程序中获得所需数据);提供工作流应用数据或提供数据地址。4. 接口4:工作流执行服务之间的互操作接口1) 连接的建立;2) 对工作流模型和其中对象的操作;3) 过程实例控制和状态函数;4) 活动管理函数;5) 数据处理函数。5. 接口5:系统管理与监控接口1) 资源控制:设置/取消/修改过程或活动实例的并发层次。2) 角色管理:定义、删除和修改角色-参与者的关系;修改角色属性。3) 用户管理:建立、删除、暂停和修改用户或工作组的权限。4) 过程实例的管理:对过程模型进
20、行实例化;修改过程实例或活动实例的状态;终止过程实例。5) 状态管理:查询过程或活动实例的运行状态。6) 审核管理:查询/打印/删除/启动新的统计过程轨迹或日志。3.3 过程定义3.3.1 过程定义工具有许多不同的工具可以用来分析、建模、描述业务过程;这样的工具有很大的不同从非正式的(铅笔和纸)到成熟的、十分专业的。工作流模型不关心这些工具的特性,也不关心在过程建立时期他们是如何交互的。在以前指出过,这些工具可以作为工作流产品的一部分来提供,或者一个单独的产品,例如BPR工具集。有的工作流产品提供了其自己的过程定义工具,从而过程定义一般是保留在 工作流产品范围内的,并且可能或者不能被读/写信息
21、的编程接口所访问。而使用单独的过程定义和执行服务器产品,过程定义能够在不同的产品间进行转换,并可以被其他产品访问。设计活动和最后的过程模型输出,称为过程定义。在运行时期过程定义可以被工作流引擎解释。过程分析工具、建模工具和定义工具,都要有在一个组织结构中模拟过程的能力(尽管这不是工作流参考模型规定必须有的)。如果组织模型集成到了这些工具中,那么过程定义将包含组织相关对象,例如角色。这些都是与系统相关的控制数据,例如角色: 活动者间的关系,可能会在过程执行期间被引用。3.3.2 工作流定义转换(接口1)在建模或定义工具与运行时期工作流管理软件间的接口,被称为过程定义导入/导出接口(图3-3)。这
22、个接口的特点是:转换格式和API调用,从而支持过程定义信息间的互相转换。这个接口也支持已完成的过程定义间的互相转换,或过程定义的一部分。例如,过程定义的改变或者活动中属性的改变。图3-3 过程定义交换接口访问过程定义的API(APIs to access Process Definitions)用来支持访问过程定义数据的API命令集。希望规范中包含下边列出的通用类型功能。命令集应该提供命令操作表和操作的对象、属性。建立会话(Session Establishment) 连接/断开参与系统间的会话工作流定义操作(Workflow Definition Operationis) 从过程定义库或者其
23、他资源中,获得工作流过程定义的名称列表 选择工作流过程定义,为更多的对象级操作提供会话句柄 读/写上层工作流过程定义对象工作流定义对象操作(Workflow Definition Object Operations) 创建、恢复、删除工作流定义中的对象 恢复、设置、删除对象的属性基本元模型WFMC开发了一个过程定义的元模型。元模型中定义了基本的对象类型集,来满足简单的过程定义相互转换。或者有开发者具体扩展,或者在增加的功能中定义另外的一直性级别来增加更多的对象类型。图3-4为工作流管理联盟定义的过程元模型。该模型包含了以下几个基本实体:图3-4 过程定义元模型1) 工作流定义(过程模型):它一
24、般包含诸如工作流模型名称、版本号、过程启动和终止的条件、系统安全、监控和控制信息等一系列基本属性。2) 活动:主要属性有活动名称、活动类型、活动的前后条件、调度约束参数等。3) 转换条件:主要负责为过程实例的推进提供导航依据,主要参数包括工作流过程条件、执行条件和通知条件。4) 工作流相关数据:工作流引擎根据工作流相关数据和转换条件进行推进。5) 角色:角色属性主要包括角色的名称、组织实体、角色的能力等。6) 需要激活的应用程序:主要属性包括应用程序的类型、名称、路径及运行参数等。3.4 工作流执行服务与工作流引擎工作流执行服务是工作流管理系统的核心。实际上它是企业经营过程的任务调度器,在某种
25、程度上还是企业起源分配器。在采用工作流管理系统支持经营过程运行的企业中,工作流执行服务可以看成是企业的业务操作系统。企业的业务过程在它的管理、监控和调度下运行,因此,工作流执行服务系统的性能和可靠性就直接决定了企业经营过程的运行效率和安全性。工作流执行服务由一个或多个工作流引擎组成,它提供了过程实例执行的运行环境,主要完成以下功能:1) 实例化及执行过程模型:解释企业经营过程定义,根据过程执行需要的初始条件和执行参数生成过程实例,运行过程实例并管理其运行过程。2) 为过程和活动的执行进行导航:根据过程定义和工作流相关数据,为过程实例的运行进行导航。3) 与外部资源交互完成各项活动:工作流执行服
26、务通过两种途径完成与外部资源和用户的交互:客户应用接口和直接调用应用接口方式。4) 维护工作流控制数据和工作流相关数据:工作流在执行过程中要维护不同过程和活动实例的内部状态信息,以及用于协调和恢复的各种检查数据和恢复/重启信息,还包括用户传送的必要的相关数据。所谓工作流引擎是指工作流作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎是一个为工作流实例的执行提供运行服务环境的软件或“引擎”。它主要完成以下任务:1) 对过程定义进行解释。2) 控制过程实例的创建、激活、挂起、终止等。3) 控制活动实例间的转换,包括
27、串行或并行的操作、工作流相关数据的解释等。4) 提供支持用户操作的接口。5) 维护工作流控制数据和工作流相关数据,在应用和用户间传递工作流相关数据。6) 提供用于激活外部应用程序和访问工作流相关数据的接口。7) 提供控制、管理和监督工作流过程实例执行情况的功能。过程实例的运行状态:1) 起始:一个过程实例已经生成,但该过程实例目前还没有满足开始执行的条件;2) 准备运行:该过程实例已经可以执行,但是还不满足开始执行第一个活动并生成一个任务项的条件;3) 运行中:一个或多个活动已经开始执行;4) 挂起:该过程实例正在运行,但处于静止状态,除非有一个“重启”的命令或者外部事件促使该过程实例回到准备
28、运行状态,否则所有的活动都不会执行。5) 结束:该过程实例执行已经完成,并且满足了结束该实例的条件,工作流管理系统将执行过程实例结束后的操作,并删除该过程实例;6) 终止:该过程实例在正常结束前被迫终止,工作流管理系统将执行补救措施,并删除该过程实例。活动实例的运行状态:1) 未开始:一个活动实例已经完成,但还没有被激活;2) 运行中:该活动实例已经被激活,正在运行;3) 挂起:由于出现一场情况或者错误,该活动实例被暂时挂起,活动处于静止状态;4) 结束:该活动已经执行完毕,工作流管理系统将进行活动结束后的导航工作,激活下一个符合启动条件的活动实例。3.5 工作流客户端功能3.5.1 工作流客
29、户应用工作流管理系统的客户端功能是指用户操作工作流管理系统分配的任务或者活动的功能。它由工作流任务表管理器和用户操作共同完成。工作流任务表是指分配给一个特定用户(或一组用户)处理的由任务项组成的队列。工作流任务表管理器是一个软件模块,负责管理工作流任务表,并完成与最终用户的操作进行交互。工作流任务表管理器可以作为工作流管理系统的一部分提供给用户,也可以是用户自己编写的程序。在工作流模型中,客户端应用与工作流引擎的交互通过定义良好的接口完成。这个接口就是工作流任务表。通过任务表管理器来进行任务处理的方式使用于需要人员参与的活动。这种情况下,工作流引擎通过任务表管理器对活动进行控制。激活工作流任务
30、表中任务项的过程可以由工作流客户应用或最终用户来进行控制,激活的过程涉及启动应用程序、连接工作流相关数据等操作。为了实现新的任务项到工作流任务表的加入、已经完成执行的任务项删除、未完成活动挂起等操作。3.5.2 客户端应用接口在与某个具体的工作流系统进行连接时,使用标准化的API接口中的函数实现应用参数到工作流系统的映射,通过不同的通信机制来实现参数的传递和连接。客户端应用接口(图3-5)提供的一些基本操作包括:建立连接、工作流定义、过程控制、过程状态查询、任务表/任务项处理、过程监控、数据处理与管理。图3-5 客户端应用接口3.6 应用程序调用功能3.6.1 应用程序调用所有的WFM产品都没
31、有足够的逻辑单元,知道如何调用所有的应用程序,这些应用程序存在异种的产品环境中。这就需要,能够处理在所有平台下和网络环境中进行调用的逻辑,并需要能使用公共格式和编码进行应用数据或相关数据传递的方法。然而,许多工作流系统能够使用了更多受限制的应用程序,特别是那些采用强制数据类型和直接与应用程序相连的系统。在其他情况中,应用程序对操作的调用,可能是通过标准的交换机制来实现的,例如OSI TP协议或者X400。一些实现使用了“应用程序代理(Application Agent)”,把这些在在标准接口之后的各种方法包含在工作流执行服务器中。也有可能开发“Workflow enabled”应用工具,这种工
32、具使用标准的API集来与工作流执行服务器进行通信,来接收应用程序数据、信号和响应活动事件等。这些API可以被应用工具直接调用;也可以被应用程序代理过过程调用,作为与其他应用程序(不包含任何工作流技术的程序)交互的前端。3.6.2 应用程序调用接口图3-6 应用程序调用接口在简单的情况中,工作流引擎在本地处理应用程序调用,使用过程定义中的信息来确定,活动的性质、将要调用的应用程序的类型和所需的数据。被调用的应用程序可能存储在工作流引擎中,或者与工作流引擎一同存储在相同的平台下,或者存放在一个独立的网络访问的平台中;过程定义中有足够的应用程序类型和寻址信息(工作流引擎的特殊需求),来实现应用程序调
33、用。在这种情况下,应用程序命名与寻址的协定是处于,工作流引擎与过程定义之间的。应用程序调用API的详细语法、语义作为WFMC规范的一部分给出。操作覆盖了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是异步的。API的操作可以是单线程的,也可以是多线程的,后者使用活动ID来区分线程。下边是应用程序调用可以使用的一些命令概括:创建会话(Session Establishment) 连接/断开应用程序会话活动管理功能(Activity Management Functions) 开始活动 挂起/恢复/放弃 活动 活动完成通知 信号事件 查询活动属性数据处理功能(Data Hand
34、ling Functions) 提供工作流相关数据 提供应用程序数据或数据地址更复杂的情况,异种工作流引擎间的协同工作,可能需要在工作流引擎间传递应用程序调用信息,或者作为运行时期数据交换的一部分,或者通过在过程定义阶段后导入过程定义来实现。3.7 系统管理3.7.1 管理和监控工具工作流系统管理与监控工具能够对工作流在整个组织内的流动状况进行监视,并提供一系列的管理功能,实现安全性、过程控制和授权操作等方面的管理。它包括以下几个方面的功能:1) 建立、设置和优化组成工作流管理系统的各个软件。2) 对过程模型进行实例化。3) 将过程模型中的角色实例化。4) 将运行中的过程实例、活动实例和数据分
35、发到各个工作流引擎中。5) 启动、挂起、恢复和终止过程实例。6) 管理正在执行的过程实例,并对正常结束或异常退出的过程实例的历史数据进行统计和分析。3.7.2 管理和监控工具接口图3-7 工作流系统管理与监控接口结构除了上图中描述的外,管理应用程序可以执行其他的一些管理功能,例如可以管理工作流过程定义、作为资源库、通过接口1中的操作为各种不同的工作流执行服务器分配过程定义。对此接口还需要进一步的研究,但此接口中至少应包含以下类型的操作:用户管理操作(User Management operations) 建立/删除/吊销/修改用户或工作组的权限角色管理操作(Role Management op
36、erations) 定义/删除/修改 角色的参与者 设置或取消角色属性审查管理操作(Audit Management operations) 查询/打印/新建/删除审查记录或事件日志,等资源控制操作(Resource Control operations) 设置/取消/修改 过程或活动并发级别 访问资源控制数据(数量、开始、使用参数等)过程管理功能(Process Supervisory Functions) 改变工作流过程定义或其扩展过程实例的运行状态 使用/不使用 某个版本的过程定义 改变某一类型的所有过程/活动实例的状态 为某一类型的所有过程/活动实例的属性赋值 终止所有的过程实例过程状
37、态功能(Process Status Functions) 打开/关闭 过程/活动实例查询,设置过滤标准 取得过程/活动实例的详细信息 取得特殊过程或活动实例的详细信息4 过程定义语言业务流程将相互独立的不同业务部门按照一定的流程关系相互联系在一起。业务流程定义是流程控制的基础。业务流程引擎是进行流程控制的执行体,它是按照业务流程的定义来执行的。XML在流程控制中的主要应用是对业务流程定义的规范,以解决不同业务流程之间的相互协调和更高的集成。 显然,如果不同部门采用不同的业务流程描述方法,在业务流程中相互协作就变得相当困难。为了一致化业务流程定义的描述,以解决不同应用系统之间业务流程互通的问题
38、,许多标准组织都着手制定业务流程定义语言。在XML标准中,涉及到流程控制的有: WPDL XPDL BPML ebXML BPSS(Business Process Specification Schema) WSFL XLANG BPEL4WS WSCI随着XML的应用和推广,出现了很多基于XML的业务流程语言标准。与Webservices相关的业务流程管理系统的标准有:ebXML BPSS、WSFL和XLang。2002年8月9日,微软和IBM共同发布了一个新的规范BPEL4WS,融合了XLANG和WSFL。其它与业务流程控制相关的标准有XPDL和BPML等。XPDL是WfMC所发布的标准
39、,BPML是BPMI组织发布的。WfMC和BPMI在2002年6月26日宣布将合作制定业务流程和工作流标准,即采用BPML来描述工作流过程,同时采用XPDL所定义的工作流模型。可见,基于XML的业务流程标准在不断的发展过程中,需要一段相互融合、达成统一的规范时期,值得关注。示例:下面是一段BPEL4WS的协作流程定义:以上为一个借款审批流程。参与者是customer和approver,在partner节点中定义。定义的借款流程如下: 由customer发出请求,请求内容的格式为:loandef:CreditInformationMessage执行审批过程,审批结果的格式为:apns:appro
40、valMessage将结果返回给customer,内容为apns:approvalMessage5 益达网络EOS工作流5.1 益达网络EOS概述益达网络EOS是一个面向互联网应用的业务基础平台,包括业务框架、一组可复用的业务构件库、以及构件管理与集成平台等,它具备可视化、构件化的特点。其中,构件管理与集成平台集展现逻辑、业务逻辑、数据服务、工作流部署能力于一体,使得构件能够在企业应用中重复使用和可扩展。构件库是基于构件复用技术、为实现快速开发和高度复用的目标而建立的核心软件知识库;构件可以被组合成新的处理逻辑从而解决新的需求。业务框架则用以支撑整个系统的运作,实现了流程驱动的业务流程自动化。
41、益达网络EOS专业版包含以下内容: 1) EOS集成开发环境2) EOS应用运行环境3) EOS应用管理工具4) EOS基础构件库5) EOS选件其中EOS基础构件库提供以下6类可复用资源:1) Tag 库2) 数据操作构件3) 辅助计算构件4) 数据库操作构件5) 工具构件库6) 权限构件库EOS选件旨在为不同业务领域的互联网应用提供可选的、具有良好可扩展性的业务构件和业务框架,以进一步提高开发效率和降低成本,并适应业务的快速变化,包括:1) EOS工作流引擎2) EOS分析构件库3) EOS管理构件库5.2 EOS工作流组成EOS工作流包括工作流定义工具(与Studio集成)、工作流业务处
42、理客户端、工作流管理与监控工具、工作流引擎、工作流构件库五大部分(如下图5-1)。图5-1 EOS工作流整体结构图工作流定义工具包括业务流程定义、业务流程提交到数据库、从数据库提取业务流程、业务流程部署。工作流业务处理客户端和工作流监控与管理工具都为用户提供基于Web的业务处理页面以及管理和监控功能。工作流构件库包括运算逻辑构件库和Tag构件库,包括工作流的定义构件库、工作流管理和监控构件库、工作流客户端业务处理构件库。机构及角色系统将不作为EOS工作流的一部分,但是EOS工作流将通过调用机构及角色系统的接口与组织机构及角色系统进行交互。5.3 EOS工作流特性1. 总体特性1) 与益达网络EOS无缝集成l 无需Coding,快速开发工作流应用l 享受EOS Server带来的高性能和高可靠性l 可视化流程开发与应用管