《工作流技术》由会员分享,可在线阅读,更多相关《工作流技术(41页珍藏版)》请在金锄头文库上搜索。
1、工作流技术WorkflowOutlinen工作流技术相关概念n工作流引擎n工作流产品分类n总结Outlinen工作流技术相关概念n工作流引擎n工作流产品分类n总结工作流(Workflow)n工作流就是工作流程的计算模型,即将工作流 程中的工作如何前后组织在一起的逻辑和规则 在计算机中以恰当的模型进行表示并对其实施 计算。n工作流要解决的主要问题是:为实现某个业务 目标,在多个参与者之间,利用计算机,按某 种预定规则自动传递文档、信息或者任务。 工作流示例工作流示例工作流管理系统 (Workflow Management System, WfMS) n工作流管理系统主要功能是通过计算机技术的 支
2、持去定义、执行和管理工作流,协调工作流 执行过程中工作之间以及群体成员之间的信息 交互。n工作流需要依靠工作流管理系统来实现。 工作流管理系统产品架构 工作流管理系统产品结构n定义工具:用来定义工作流,它生成工作流定义。在 定义时可能会参考组织或角色数据,还会引用外部应 用程序的编程接口。n工作流执行服务:用来执行工作流,可能包含多个相 互独立、并行运转的工作流引擎。它可能会参考组织 或角色数据,还会调用外部应用程序,维护工作流控 制数据,使用工作流相关数据,生成工作列表。 n工作流引擎:用来执行单独的流程实例。 n用户界面:用户操纵工作流列表的界面,可能会调用 外部的应用程序。 工作流管理系
3、统的主要功能: n建造功能:对工作流过程及其组成活动定义和 建模;n运行控制功能:在运行环境中管理工作流过程 ,对工作流过程中的活动进行调度;n运行交互功能:指在工作流运行中,WfMS与 用户(业务工作的参与者或控制者)及外部应 用程序工具交互的功能。 Outlinen工作流技术相关概念n工作流引擎n工作流产品分类n总结工作流引擎n系统的核心部分是工作流引擎,引擎是驱动流程流动 的主要部件,它负责解释工作流流程定义,创建并初 始化流程实例,控制流程流动的路径,记录流程运行 状态,挂起或唤醒流程,终止正在运行的流程,与其 他引擎之间通讯等等工作。WfMC没有针对引擎的实 现提供具体的标准,因为对
4、引擎做过多的约束并没有 多大的现实意义。nhttp:/www.wfmc.org/standards/docs.htm n一个工作流管理系统可以包含一个或多个引擎,并通 过API向外部提供五个方面的功能服务,这些功能分 别为:工作流引擎的功能n接口1流程定义的导入导出n接口2同客户端应用程序和工作列表处理程 序之间的交互n接口3软件工具和应用程序的调用n接口4不同工作流管理系统之间的协同工作n接口5管理和监视功能工作流引擎的功能n接口1流程定义的导入导出n接口2同客户端应用程序和工作列表处理程 序之间的交互n接口3软件工具和应用程序的调用n接口4不同工作流管理系统之间的协同工作n接口5管理和监视
5、功能工作流参考模型流程定义交换接口 n许多不同厂商提供的工具可以进行工作流流程 的分析、建模、描述和归档等工作。这些工具 需要识别公共的流程交换格式,以支持在这些 不同的产品之间传送工作流程流程定义。n接口1便定义了这样的交换格式。此外,接口1 还定义了设计环境与运行环境之间交换的规范 ,以使不同的建模工具产生的流程定义可以输 入到不同的工作流产品的运行环境中。工作流元数据模型n为了提供一个访问和描述工作流定义的公共方 法,需要引入一个工作流元数据模型(meta data Model),这个模型确定了流程定义中 用到的一般的实体,这些实体都有不同的属性 ,不同厂商开发的工具可以根据公共的交换形
6、 式向工作流运行环境传送这些模型,传送可以 通过API实现,也可以通过批量(Batch)传送 实现。 元模型 n工作流流程定义n工作流流程活动n过渡信息(Transition Information)n工作流参与者n组织模型n工作流应用程序n工作流相关类型n工作流相关数据n系统和环境数据n数据类型和表达式 XPDLnXML Process Definition Languagen文档编号:WFMC-TC-1025 工作流引擎的功能n接口1流程定义的导入导出n接口2同客户端应用程序和工作列表处理程 序之间的交互n接口3软件工具和应用程序的调用n接口4不同工作流管理系统之间的协同工作n接口5管理和
7、监视功能接口2与接口3 流程定义的交换 n在不同的系统之间传递流程定义数据可能需要 不同的机制,但在所有的情况下,流程定义数 据的表达必须是一致的,这些表达包括一些公 共的对象、关系及其属性。 n工作流管理系统必须提供同用户之间交互的通 道,以便用户参与到系统的运行中。接口2主 要完成这方面的功能。 接口2所提供的功能 n1、 会话的建立和与撤销;n2、 获取工作流流程定义及状态;n3、 工作流流程实例的操作,如创建、挂起、 终止流程,获取和设置流程属性等;n4、 工作流活动实例的操作,如获取和设置活 动的属性,改变活动的状态等;n5、 工作列表(worklist)及工作项(workitem
8、)的操作,如获取工作列表,处理工作项等。 接口3的功能n工作流系统在运行过程中有时需要调用外部应 用程序,以完成系统不能完成的工作(比如, 发送Email或传真,扫描文件等),或者与其 他系统集成到一起。此时可以通过接口3来完 成。 n接口3的功能同接口2的功能大部分是相同的, 因此,这两个接口有融合的趋势。接口3主要 规定了调用外部应用程序的函数规范,以及外 部应用程序返回数据的格式。 工作流引擎的功能n接口1流程定义的导入导出n接口2同客户端应用程序和工作列表处理程 序之间的交互n接口3软件工具和应用程序的调用n接口4不同工作流管理系统之间的协同工作n接口5管理和监视功能接口4 n在企业级
9、的工作流系统中,流程往往需要跨越 多个服务器或系统,比如应用于跨国公司或大 型集团公司的工作流系统经常会有这种的需求 ,此时就需要服务器或系统之间进行通讯,交 换流程控制信息和流程定义等数据,以实现流 程跨地域运行。 接口4的功能n1、 创建流程实例; 2、 获取流程实例状态; 3、 获取和设置流程实例属性; 4、 启动或终止流程实例; 5、 改变流程实例的状态; 6、 改变流程实例的属性; 7、 更新流程实例。 工作流引擎的功能n接口1流程定义的导入导出n接口2同客户端应用程序和工作列表处理程 序之间的交互n接口3软件工具和应用程序的调用n接口4不同工作流管理系统之间的协同工作n接口5管理和
10、监视功能接口5n此接口提供给用户管理和监控系统的运行状态 、查看系统运行的历史记录的功能。n审计数据在系统运行时刻由系统自动记录在数 据库或文件中,可通过系统提供的API进行统 计和查询,或者通过系统工具导出到系统外部 。 n另外,此接口还要提供统管理与流程控制的功 能,如:系统流程数据的备份和恢复,用户管 理,流程管理等等。 接口5 的功能n流程实例(Process Instance)审计信息:包括创建、启动流程实 例和子流程实例的审计数据;流程实例状态变化的审计数据;流 程实例属性变化的审计数据; n活动实例(Activity Instance)审计信息:包括活动实例状态变化 的审计数据;
11、活动实例属性变化的审计数据;n工作项(Workitem)审计信息:包括工作项状态变化的审计数据 ;工作项分配合重新分配的审计数据;工作项属性变化的审计数 据;n远程操作审计信息:包括开始和停止会话(Session)的审计数据 ;远程创建流程实例和远程改变流程实例状态的审计数据;远程 获取和设置流程实例属性的审计数据;会话管理的审计数据;n流程定义审计信息; n扩展的审计信息及专用的审计信息。 Outlinen工作流技术相关概念n工作流引擎n工作流产品分类n总结工作流产品分类n分类依据:q面向的用户q实现的业务过程q底层实现技术q采用的任务项传递机制根据面向的用户n基础的工作流系统。提供引擎、设
12、计器、相关 接口等。应用系统的开发商可以基于此类系统 开发具有工作流管理功能的应用软件。 n面向应用的应用级软件系统。应用了工作流技 术,包括内置较完整的工作流功能,直接面向 最终用户的流程化应用。同时,系统中还往往 针对应用需要,集成了其他功能。 根据所实现的业务过程n1) 管理型工作流(administrative workflow):在这类工作流中 活动可以预定义并且有一套简单的任务协调规则,例如,大学里 的课程选修,完成论文后的学位申请等。n2) 设定型工作流(ad hoc workflow):与管理型工作流相似, 但一般用来处理异常或发生机会比较小的情况,有时甚至是只出 现一次的情况
13、,这与参与的用户有关。n3)协作型工作流(collaborative workflow):参与者和协作的次 数较多。在一个步骤上可能反复发生几次直到得到某种结果,甚 至可能返回到前一阶段。n4) 生产型工作流(production workflow):实现重要的业务过 程的工作流,特别是与业务组织的功能直接相关的工作流。与管 理型工作流相比,生产型工作流一般应用在大规模、复杂的和异 构的环境下,整个过程会涉及许多人和不同的组织。 根据底层实现技术n1) 以通讯为中心:以电子邮件为底层的通讯机制。这 种类型的工作流管理系统适合于协作型工作流和不确 定型工作流,而不适于生产型工作流。n2) 以文档
14、为中心:基于文档路由,它同外界应用的交 互能力有限。许多基于表的管理型工作流可以用以文 档为中心的工作流实现。n3) 以过程为中心:这种工作流系统对应生产型工作流 。它们一般建立在数据库之上,有自己专用的通信机 制并且提供了同外部进行交互的接口。 根据采用的任务项传递机制n基于文件的工作流系统。以共享文件的方式来完成任务项传递。这种类 型产品开发得最早、发展最成熟、其产品品种较多。代表产品有FileNet 的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。 n基于消息的工作流系统。通过用户的电子邮件系统来传递文档信息。这 种类型的产品一般都提供与
15、一种或多种电子邮件系统的集成接口。代表 产品有Novell与FileNet合作开发的Ensemble、JetForm公司的InTempo 、Keyfile公司的Keyflow。 n基于Web的工作流系统。通过WWW来实现任务的协作。这一类产品起 步较晚(在95年以后),但是发展迅速,其市场前景十分看好。许多供 应商纷纷改进原有产品或开发新产品以增加对Web的支持。代表产品有 Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus 。 n群件与套件系统。虽然这一类产品与上面介绍的三种产品在任务传递方 式上有很大程度的重叠,但是在这里却有
16、必要把它们单独划分成一类, 因为这一类产品都需要依赖于自己系统的应用基础结构,包括消息传递 、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了 一个完整的应用开发环境。代表产品有IBM/Lotus公司的Lotus Notes、 Microsoft公司的Office与Exchange、Novell公司的GroupWise。Outlinen工作流技术相关概念n工作流引擎n工作流产品分类n总结工作流管理系统 与 ERP和普通的企业 管理信息系统 nERP与普通的企业管理信息系统是事务处理系统,其 主要目的是满足企业业务操作功能,提高企业事务处 理的效率和水平。从企业整体的业务流程和企业经营 目标上看,事务处理系统一般局限于解决某个或者某 些领域的问题;事务处理系统的另外一个局限性是它 一般局限于解决企业内部的具体操作问题,面向企业 内部功能,而不是面向市场和面向客户的系统。n工作流管理系统的着眼点是面向市场、面向客户,其 目标是在整个企业的业务层提高企业的业务处理水平 、强化企业的市场意识、提高对市场的应变能力。