(计算机软件与理论专业论文)基于全局流程集成平台的流程监控.pdf_第1页
(计算机软件与理论专业论文)基于全局流程集成平台的流程监控.pdf_第2页
(计算机软件与理论专业论文)基于全局流程集成平台的流程监控.pdf_第3页
(计算机软件与理论专业论文)基于全局流程集成平台的流程监控.pdf_第4页
(计算机软件与理论专业论文)基于全局流程集成平台的流程监控.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机软件与理论专业论文)基于全局流程集成平台的流程监控.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于全局流程集成平台的流程监控 专业:计算机软件与理论 硕士生: 指导教师: 陈桂健 李磊教授 摘要 业务流程的多变性向企业的信息化业务系统提出两方面要求,一是可配置 性,即业务系统无需大规模重新编码就能适应业务的变化;二是对业务流程进行 监控分析的能力,使流程的瓶颈得以发现并改善,从而提高流程效率。 全局流程集成平台以改进的有限状态机作为理论基础,以表单在其生命周期 中的状态变化过程来为流程建模。通过划分流程的状态,全局流程集成平台能够 以说明性的方式描述流程,由此开发出的业务系统能够方便地适应业务的变化。 全局流程集成平台所配备的控制台是对流程进行监控分析的工具,它实现了 实时监控、流程统计和异常处理三大功能。其中在流程统计方面,针对业务系统 中管理员众多、且各个管理员的监控权限和统计需求各有不同的特点,本文提出 了自定义流程统计模型。该模型抽象出数据视图、操作方法、显示格式、审计事 件和统计人员五大流程统计的要素。通过这五大要素的自定义组合,可以实现各 种类型的流程统计功能。在异常处理方面,控制台采用了人机结合的异常处理模 式。通过向状态推导引擎发布指令,可对表单的状态或数据项进行修改,使其符 合状态调度的条件,从而脱离异常的状态。 关键词:实时监控,流程统计,自定义流程统计模型,异常处理 p r o c e s sm o n i t o r i n gb a s e d o hg l o b a lb u s i n e s sp r o c e s s i n t e g r a t i o np l a t f o r m m a j o r :c o m p u t e rs o f t w a r ea n dt h e o r y n a m e :c h e ng u i j i a n s u p e r v i s o r :p r o f l ib c i a b s t r a c t t h ec h a n g e a b i l i t yo ft h eb u s i n e s sp r o c e s s e sp o s e st w od e m a n d sf o rt h eb u s i n e s s s y s t e m so ft h ee 珊印r i s t h e 触o n ei se o n f i g u r a b i l i t y , i e ,t h ea b i l i t yt oa d a p tt o b u s i n e s sc h a n g e sw i t h o u tl a r g e - s c a l er e e 州i n g ;t h eo t h e ri st h ea b i l i t yt om o m t o ra n d a n a l y z et h eb u s i n e s sp r o c e s s e s , s ot h a tt h eb o t t l e n e c k so f t h ep r o c e s s e sc o u l d b ef o u n d a n dc o r r e c t e d ,h e n c ei m p r o v i n gt h ee f f i c i e n e i e so f t h ep r o c e s s e s g l o b a lb u s i n e s sp r o c e s si n t e g r a t i o np l a t f o r m ( g b p i p ) i sb a s e do naf o u n d a t i o no f f i n i t es t a t em a c h i n e ( f s m ) t h e o r y p r o c e s sm o d e l i n gi ng b p i pi sa t t a i n e db y f o l l o w i n gt h es t a t et r a n s i t i o nh i s t o r yi nt h el i f ec y c l eo ff o r m s ap r o c e s sc o n s i s t so f s e v e r a ls t a t e s a n dt h eo r d e ro ft h es t a t e sc a nb cf e c o n f i g u r e di fn e e d e d i ns u c ha d e s c r i p t i v ew a y , t h eb u s i n e s ss y s t e m sd e v e l o p e do ng b p i pc a l le a s i l ya d a p tt o b u s i n e s sc h a n g e s t h ec o n s o l eo fg b p i pi su s e df o rm o n i t o r i n ga n da n a l y z i n gp r o c e s s e s i tp r o v i d e s t h r e ef u n c t i o n s :r e a l t i m em o n i t o r i n g ,p r o c e s ss t a f f s t i e sa n de x c e p t i o nh a n d l i n g a s b u s i n e s ss y s t e m su s u a l l yi n v o l v em a n ya d m i n i s t r a t o r s ,a n de a c ho f t h e mh a sd i f f e r e n t m o n i t o r i n ga u t h o r i t i e sa n ds t a t i s t i c sp r e f e r e n c e s ,t h ea u t h o rp r o p o s e dac u s t o m i z e d p r o c e s ss t a t i s t i c sm o d e l ( c p s m l c p s ms u m m a r i z e sf i v ed e m e n t so fp r o c e s s s t a t i s t i c s :d a t av i e w s ,o p e r a t i o n s ,d i s p l a yf o r m a t s ,a u d i te v e n t sa n di n i t i a t o r s t h e s e f i v ee l e m e n t sc a nb ec o m b i n e da tt h ea d m i n i s t r a t o r sd i s c r e t i o nt or e f l e c td i f f e r e n t s t a t i s t i c sr e q u i r e m e n t s a sf o re x c e p t i o nh a n d l i n g , t h ec o n s o l eu t i l i z e sac o o p e r a t i v e p a t t e mb e t w e e nh u m a na n dc o m p u t e r b ys e n d i n gi n s t r u c t i o n st ot h es t a t ed e r i v a t i o n e n g i n et oc h a n g et h ef o r ms t a t eo rd a t ai t e m s , t h ed e r i v a t i o ne o u s t m i n t so f t h ef o r m s c a nb em e t ,a n de x c e p t i o n sa r ec l e a r e d k e y w o r d s :r e a l - t i m em o n i t o r i n g , p r o c e s ss t a t i s t i c s , c u s t o m i z e d p r o c e s s s t a t i s t i c sm o d e l , e x c e p t i o nh a n d l i n g i i 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究 工作所取得的成果。除文中己经注明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的作品成果。对本文的研究作出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:豫柘l 龟 日期:z 口口7 年亨月2 j 日 中山大学硕士学位论文龋于全局流程集成平台的疏程监控 1 1 研究的背景 第1 章绪论 当今的社会瞬息万变,对于企业来说,业务变化不仅仅意味着业务信息的更 新,而且常常使业务流程发生重大钓改变。正是由于这样的原因,企业应对业务 变化的能力,决定着它在竞争激烈的市场上的生存能力。具体来说,业务变化为 企业带来两方面的挑战:一是企业需要拥有被动地快速适应流程变化的能力:二 是企业需要对自身的业务流程进行分析总结,找出可改善的地方,主动加以改善, 并以此提高流程效率,做到先发制人。 这些业务上的需求反映到企业的信息化业务系统上,一方面要求业务系统具 备柔性( f l e x i b i l i t y ) t n ,即不需要大规模重新编码而能够方便地适应业务的变化: 另一方面,也要求业务系统能够监控和分析系统的运行情况,及时对异常的流程 加以修正,并针对系统长期的运行情况,给出改善流程的建议。 传统的信息化业务系统是不能满足这些新需求的。一方面,传统的系统在编 写业务流程时,常常将业务规则固定地嵌入到程序代码中1 2 。这样的做法使业务 系统的扩展性和维护性极差。一旦业务流程发生变化时,程序员必须重新修改代 码;而且在很多时候,某个模块的修改会牵涉许多与之有关联的模块,造成“牵 一发而动全身”另一方面,传统业务系统的系统监控功能相对简单且缺乏灵活 性,通常系统仅提供预先定义的有限的监控数据用户仅能通过固定的界面查看 这些数据。另外,监控功能一般需要用户主动触发,系统无法在一些关键的时刻 自动地进行监控【3 】这种被动的监控往往滞后于现实,不能及时发现有用的信息 或潜在的问题,使企业错失机会,蒙受不必要的损失。 针对业务系统的这些新的需求中山大学软件研究所研究和开发了全局流程 集成平台( g l o b a lb u s i n e s sp r o c e s si n t e g r a t i o np l a t f o r m ,简称g b p i p ) 【4 j 。全局流 程集成平台最适用于开发具有柔性的业务系统。它以业务流程的操作对雾最 单为研究对象。表单在其生命周期中所经历的状态变化过程即为一个流程。 在一个正在运行的基于全局流程集成平台的业务系统中,存在着多个流程,每个 l j 山大学硕士学位论文皋于全局流样集成平台的流程监控 流程又存在着多个表单的例。巧i 同于以往的硬编码系统,全局流程集成平台对于 流程的描述是说明性的( d e s c r i p t i v e ) ,程序员可以像砌积木一样将流程组装起来, 因此,全局流程集成甲台可以轻易地适应流程的变化。 除此之外,全局流程集成平台还提供了控制台工具。控制台是全局流程集成 平台的管理员对平台中各类资源( 流程、表单、用户等) 进行监控统计的工具 在控制台中,一方面可以对平台中的各类资源进行实时监控,当发现流程存在异 常情况时,可以通过发布指令来修正异常另一方面,可以定义统计规则,使控 制台在一定的时机主动触发流程的统计操作。统计规则中的统计数据、操作方法、 表现形式、统计时机和统计人员等元素都是可灵活定义的,这使控制台的流程统 计功能具有强大的功能和极高的灵活性 1 2 论文的组织结构 本文共分六章,后续各章的内容安排如下: 第2 章介绍流程建模和流程监控的背景知识和研究现状。其中流程建模重点 介绍了工作流建模和基于状态机的建模;流程监控则着重介绍了工作流管理系统 的监控和异常处理。 第3 章讨论了全局流程集成平台的设计和实现。全局流程集成平台以宾语为 视角对流程进行建模,并使用改进的有限状态机对流程进行调度。第3 章也介绍 了全局流程集成平台的系统结构,并给出了使用全局流程集成平台开发业务系统 的方法和步骤。 第4 章是本论文的重点,它介绍了全局流程集成平台中流程监控功能的设 计。监控功能分实时监控、流程统计和异常处理三部分内容。其中,实时监控采 用了树形的监控方式j 流程统计基于自定义流程统计模型,能够实现多样化、主 动性的统计功能;异常处理则通过指令实现,指令分为前进指令、回滚指令、数 据项修改指令三种 第5 章讨论了流程监控功能的实现。它介绍了监控模块的系统结构,并讨论 了流程统计和异常处理的算法,最后给出了两个流程统计的例子。 第6 章是总结与展望,主要是对整篇论文进行总结,并指出需要进一步研究 的内容。 2 中山大学硕士学位论文 摹于全埔流程集成平台的流程监控 第2 章背景知识及研究现状 要在计算机中表现企业中的业务流程,必须先让计算机“认识”这些业务流 程,这就需要使用适当的方法对业务流程进行建模。本章将会介绍各种流程建模 的方法,并指出各自的优缺点。此外,本章也将指出流程监控在业务系统中所发 挥的重要作用,并总结各种流程监控方法的研究现状和存在的问题。 2 1 流程建模 2 1 1 流程及流程建模的概念 “流程”一词最初用于工业生产领域,而从h a m m e r 【5 1 在1 9 9 0 年提出“重组” 的概念开始,“流程”被广泛应用于计算机领域。根据美国生产及存货管理协会 ( a m e r i c a np r o d u c t i o na n di n v e n t o r yc o n t r o ls o c i e t y ) 的定义 6 1 ,流程是为完成某 一目标而经历的若干阶段的有序集合。整个流程是由若干阶段组成的;而阶段则 由若干任务组成,这些任务的全部完成标志着阶段的完成。 所谓流程建模【7 】,是指对实际的或预计的由人或机器所执行的流程的一种抽 象描述。流程建模时会排除一些无关重要的细节,这一方面突出了流程中的某部 分要素( 如组织角色、操作与活动,或者数据与信息等等) ,另一方面也降低了 人或计算机对流程的理解难度。 目前已经出现了大量的流程建模方法,在【8 冲对它们进行了回顾与比较。 不同的流程建模方法突出了不同的流程要素,同时也会使其他要素弱化或隐藏, 因此,难以用一种流程模型来表达流程的所有要素1 9 1 。选择何种流程建模方法取 决于实际业务系统的需要。 下面两节将讨论两类常用的流程建模方法:工作流建模和基于状态机的建 模。 中山大学硕士学位论文 基于全局流张集成平台的流程监控 2 1 2 工作流建模 工作流是当前计算机支持的协同工作( c o m p u t e rs u p p o r t e dc o o p e r a t i v e w o r k ,简称c s c w ) 领域的研究热点。工作流管理的主要目标是通过合理地调 用和分配有关的信息资源和人力资源来协调业务流程中的各个活动,促使业务流 程能得到高效的实现。 按照w f m c 的定义【埘,工作流是一类能够完全或者部分自动执行的经营过 程,根据一系列流程规则,文档、信息或任务能够在不同的执行者之间传递、执 行。工作流实际上是流程建模的一种特殊方式,它以谓语的角度对流程进行描述, 即说明了流程需要“傲什么”。因此,工作流是由一系列的活动构成的。所谓活 动【1 1 】,是指业务流程中的一个逻辑步骤或环节,例如在新生入学的体检流程中, “抽血”就是一个活动。 工作流的定义和执行是在工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m , 简称w f m s ) 0 0 1 中进行的。w f m s 的作用,一方面是定义工作流,即把现实世界 中的业务流程转化为某种计算机化的形式进行表示,另一方面则是在此形式的驱 动下完成工作流的执行和管理。 日接四固 臣鱼鱼 图2 - l 工作流系统参考模型 根据工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,简称w f m c ) 1 2 1 在 1 9 9 4 年发布的工作流系统参考模型( w o r k f l o wr e f e r e n c em o d e l ) 1 1 3 l ,其中给出 4 中山大学硬士学位论文基于全局流挥集成平台的流程监控 了工作流管理系统的各主要组成部分、各部分的功能发相互之问的接口,如图 2 1 所示。 在工作流系统参考模型中,留缸程定义工具的主要功能是给用户提供一种对实 际业务流程分析、建模的手段,并生成业务流程的可被计算机处理的形式化描述: 工作流执行服务为工作流的执行提供了一个运行时环境,它借助于一个或多个工 作流引擎来激活并解释过程定义的全部或部分,并同外部的应用程序进行交互来 完成工作流实例的创建、执行与管理;客户端应用的作用是给用户提供一种手段 来处理工作流实例运行过程中需要人工干预的任务;调用应用指工作流执行服务 在工作流实例的运行过程中调用的、用于对应用数据进行处理的应用程序;管理 监控工具的功能是对w f m s 中工作流实例的状态进行监控与管理。如用户管理、 角色管理、审计管理、资源控制等。 2 1 3 基于状态机的建模 所谓的状态是一个抽象的概念,它反映了一个事物在某个时刻所具有的特 性。事物在不同的时刻具有不同的特性由此区分出不同的状态。当一个流程被 开始执行后,它就不断地由一个状态转化为另一个状态。基于状态机的建模就是 依据状态的变化过程来刻画流程,它反映了流程执行过程中的动态特性。 基于状态机的建模源于经典的有限状态机( f i n i t es t a t em a c h i n e ,简称f s m ) 理论。所谓的有限状态机1 】,是指由有限数目的状态、状态间的转移( t r a n s i t i o n ) 以及动作所构成的行为模型。其中,转移是指当条件满足时( 如在某状态下获得 某个特定的输入) ,状态机从一个状态转变为另一个状态的过程;而动作是指在 某个时刻所发生的活动,该活动可以在进入状态、离开状态、外部输入或状态转 移时发生。 形式化地说,有限状态机m 是一个五元组; m = ( s ,盯,f ) ( 2 。1 ) 其中: s 是状态的菲空集合,v s s ,s 称为嬲的一个状态; 是输入字母表( i n p u t a l p h a b e t ) : 是肘的开始状态( i n i t i a ls t a t e ) ,s ; 中山大学硕士学位论文摹于全局流程集成半台的流程监控 f 是肘的终止状态( f i n a ls t a t e ) 集合,f s ,v s f ,j 称为m 的终止 状态: 盯是状态转移函数( t r a n s i t i o nf u n c t i o n ) ,盯:s _ s 。v ( s ,口) s , 盯( s ,4 ) = f 表示m 在状态s 下,若输入字符口则将状态变为t ,并将读头向右移 动一个方格而指向输入字符串的下一个字符。 经典的有限状态机最初被用于词法分析程序,因此它是以字符作为处理对象 的。经过几十年的改进,有限状态机的功能被不断扩充和改良如今,有限状态 机广泛地应用于反应式系统( r e a c t i v es y s t e m s ) ,即根据外部输入( 事件或消息 等) 和系统当前状态而作出响应的系统。 d a v i di - l a r e l l l 5 l 对经典的有限状态机作了大量扩充,提出了s t a t e e h a r t 的概念。 s t a t e c h a r t 将状态机中的多个小状态合并为一个大状态,即为状态图带来层次关 系,从而简化了状态图的复杂性。s t a t e h a r t 也允许状态机中分属不同大状态的 若干个小状态并发执行,并引入了状态间进行通信的方法。s t a t e e h a r t 大大增强 了有限状态机的描述能力,这使它特别适用于复杂的、由离散事件驱动的系统。 u m l 中的状态机视图( s t a t em a c h i n ed i a g r a m ) 1 6 1 的关注目标是面向对象的 系统中的类对象,它对类对象的生存周期进行建模,以此来描述对象随时间变化 的动态行为。当对象探测到一个事件发生时,它依照当前的状态做出反应,反应 包括执行一个动作或转换到一个新的状态。状态机视图是由结点和边所组成的有 向图,其中结点代表状态( 包含开始状态和结束状态) 。边则代表转移。边上还 可添加监护表达式( g u a r de x p r e s s i o n ) 作为状态转移的前提条件,即在满足监 护表达式的情况下,状态转移才能发生。在状态转移时可触发一定的动作,从而 完成一定的业务操作。 2 2 流程监控 2 。2 1 流程监控的原因 完成了对业务流程的建模,并在计算机中建立起基于流程的业务系统后,业 务系统的正常运行尚未能得到保证。要使业务系统正常、高效地运行,还须考虑 以下几方面的挑战: 6 中山大学硕士学位论文基于全局流程集成平台的流程监控 ( 1 ) 对流程的实时监控 基于流程的业务系统提供的是一个复杂的、需要多人协作的计算机环境1 1 7 l 。 这些系统中定义的流程数量众多、涉及的资源庞大、流程的参与者及其所属的角 色也很多例如,一个典型的企业会雇佣数以百计的员工,每名员工都负责业务 流程中的不同阶段,具有不同的权限:员工有可能遍布全国各地,通过网络来访 问企业的业务系统。在这样的环境下,如何对这些流程和用户进行实时的监控和 管理,成为保证系统正常运行的关键。例如,当发现系统中等候张三操作的流程 实例太多,张三已经成为系统性能的瓶颈时,需考虑为张三增派助手以提高效率。 ( 2 ) 异常的处理 在复杂的业务系统中,由于涉及的人员及资源众多,异常情况的出现在所难 免。例如,由于执行条件不满足,某流程错误地进入了一个异常的状态,且不能 释放它已经占有的资源。此时,必须要有自动或手动的异常处理机制,使该流程 重新进入正常的状态,并在适当的时候释放资源。 ( 3 ) 流程的改进 业务系统中流程的定义和执行并不是一蹴而就的,一个完整的流程生命周期 需经过流程设计、流程定义、流程运行、流程挖掘。流程再造等阶段【瑚。当流程 被初步定义出来并运行了段时间后,需根据其运行的情况进行流程改进。这就 需要对流程运行的历史数据进行分析与挖掘,找出瓶颈和冗余点,进行修正及改 进。 由此可见,流程监控是保证业务系统正常高效运行的必要环节在下面几节 中,将分别讨论工作流系统中的流程监控和异常处理的研究现状。 2 2 2 工作流监控 工作流系统参考模型中定义了管理监控工具1 1 3 l ,用于对工作流管理系统进行 流程监控。因此,一般的工作流管理系统都实现了该工具。在实现上,主要采用 两种方法:基于a g e m 的监控和基于e c a 规则的监控。 ( 1 ) 基于a g e n t 的监控 所谓的a g e n t l l 9 1 ,是指具有如下特征的计算机系统:自治性( a u t o n o m y ) 、 可通信性( c o m m u n i c a b i l i t y ) 、反应能力( r e a c t i v i t y ) 和自发行为( p r o - a c t i v e n e s s ) 。 7 中山大学硕士学位论文 基于全局流程集成平台的流程监控 d o n g m i n gx u 等研究人 2 0 j 提出了一种基于多a g e n t 的框架。在该框架中, 多个智能a g e n t 相互协作,共同完成工作流监控的功能。其中,工作流监控a g e n t 负责追踪和监控所有a g e n t 的状态和工作流中的进行的操作。它会根据知识判断 一个工作流管理系统的操作成败并生成分析报告。当它发现不正常情况时,会通 知诊断a g e n t 。由它来找出问题根源并作出处理。 m i n h o n gw a n g 等研究人员1 2 l 】在 2 0 】的基础上作出了改进为满足不同用户 不同的监控需求,它提出了监控计划的概念。用户向用户a g e n t 输入他们的监控 需求,然后由计划a g e n t 生成相应的监控计划。例如。用户如果要求订货流程中, 需要特别留意订货金额的值是否超过一定的数额,那么,计划a g e n t 所生成的监 控计划就会记录下此需求。监控a g e n t 对工作流的监控分为初步监控和深入监控 两种,对于一般的工作流实例,只需使用初步监控,以提高监控的效率;而对于 初步监控中所发现的问题、或者用户所指明的特殊需求,则需使用深入监控。监 控a g e n t 所发现的问题也交由诊断a g e n t 来处理。 ( 2 ) 基于e c a 规则的监控 基于事件条件动作( e v e n t - c o n d i t i o n - a c t i o n ,简称e c a ) 规则的监控,又 称基于事件的监控或基于触发的监控。这种监控是以e c a 规则为基础的,其核 心思想是:当事件( e v e n t ) 发生时,判断条件( c o n d i t i o n ) 是否满足;若条件 满足,则执行动作( a c t i o n ) u m e s h w a r d a y a l 等研究人员【2 2 e c a 规则应用到工作流管理系统中的监控 功能,并给出e c a 规则的详细定义。 k y e o n g s e o kh o n g 等研究人员】提出在工作流系统的监控中,要区分用户 级的监控和系统级的监控。除了传统的用户级监控外,还需为工作流系统添加系 统级的监控系统级监控采取“推”方式,它所传送给用户的信息不只是系统中 各工作流的实时状态,还包括了系统负载和性能等的统计信息。他们将工作流的 监控系统划分为三个模块:信息收集模块、信息处理模块和信息表示模块。 w o n c h a n gh u r 等研究人员【2 4 疑出了一套可自定义的工作流监控模型。该模 型由四部分组成:( 1 ) 要监控的数据;( 2 ) 要使用的分析方法;( 3 ) 分析结果的显 示风格;“) 执行监控任务的时机。该模型实现了数据提取、数据处理和数据显 示三种逻辑之间的分离,使流程监控能以说明性的方式进行。 8 中山大学硕士学位论文摹于全局流稃集成平台的流程监控 2 2 3 工作流异常处理 工作流异常【2 5 】是指由于工作流系统外部异常、工作流系统异常或活动执行异 常所引起的工作流活动失败和或工作流程失败,导致工作流不能按照预定义的 工作流模型正常执行的情况。处理工作流的异常,主要有以下几种方法: ( 1 ) 柔性事务方法 柔性事务( f l e x i b l et r a n s a c t i o n ) 方法1 2 棚的核心思想是为每一个子事务提供 备用的执行路径。如果一个子事务发生异常,就调用它的备用事务来继续执行。 使之能完成任务。子事务或其备用事务之一执行成功,即表示该柔性事务执行成 功。 ( 2 ) e c a 方法 e c a 方法的核心思想也是2 2 2 节中所介绍的e c a 规则。其中事件代表可 能出现的异常情况,条件用于判断所出现的事件是否属于异常,动作代表处理异 常所要执行的操作。基于e c a 方法的异常处理机制【2 7 】有三个层次:通过动态更 新角色或资源等信息以维持工作流的执行:动态改变工作流的执行行为( 如执行 备用路径或取消活动等) ;动态进化工作流的模型( 对于重复出现的异常,通过 修改模型的错误来避免其再次出现) 9 中山大学硕士学位论文娃于全局流程集成平台的流程监控 第3 章全局流程集成平台 如1 1 节所述,传统的信息化业务系统面临着业务错综复杂且经常变化的挑 战。为应对这场挑战,中山大学软件研究所研究和开发了全局流程集成平台 ( g l o b a lb u s i n e s sp r o c e s si n t e g r a t i o np l a t f o r m ,简称g b p l p ) 。 与一般的管理信息系统( m a n a g e m e n ti n f o r m a t i o ns y s t e m ,简称m i s ) 2 s l 不 同,全局流程集成平台特别适用于开发大型的业务系统,这些系统除了管理企业 业务动作中产生的信息以外,还要管理这些动作的过程( 称为流程) 1 4 j 在传统 的大型业务系统中,由于各流程之间相互关联,某些业务操作很容易引起全局数 据的变化一旦系统的需求发生变化,这些操作以及与它们关联的全局数据都会 受牵连,这将为系统的开发和维护带来极大的困难。全局流程集成平台提出了全 局流程和局部流程的概念,明确区分了它们之间的界限。全局流程集成平台尽量 减少全局数据,使一些只修改局部数据的流程( 称为局部流程) 不对全局数据产 生副作用;局部流程之间使用消息机制来相互通信,这使各流程之间的耦合性降 低、交互性增强 本章将分别从流程建模、流程调度及流程监控等角度介绍全局流程集成平 台 3 1 流程建模 3 1 1 相关的概念 在讨论全局流程集成平台中的流程建模之前,有必要先定义建模中涉及到的 各种概念; 表单( f o r m ) 是指在企业的业务流程中所用到的各种表格、凭证、单据等 流程操作对象。表单是一个集合的概念,例如在新生入学的体检流程中,“体检 表”表示了该批新生中每个人的体检表的集合。表单的例( f o r mi n s t a n c e ) 是 指表单的一个具体实例,例如张三的体检表就是“体检表”的例。 i o 中山大学硕士学位论文 摹于全局流利集成平台的流程监控 状态( s t a t e ) 用于标识表单的例在某个特定时刻所具有的属性。例如,张 三的体检表在9 月1 0 日下午三点处于“已抽血”状态,是由于当时张三的体检 表的“是否已抽血”一栏上填写了“是”一类表单的状态合集记为s 。在任一 时刻,该类表单的任一个表单的例都只能处于唯一的一个状态s ,且j es 。在 全局流程集成平台中,表单的每个状态都对应着一个用户界面,用户对表单的所 有操作都在这个界面中进行。这个用户界面称为该状态的状态程序。 事件( e v e m ) 是指对某一时刻所发生的能引发表单状态改变的事情的抽象 化描述。一类表单的所有可能发生的事件的合集记为e ,其中的某个事件记为已 在上述的体检流程中,“抽血”就是一个事件,它使体检表的状态由“未抽血” 变为“已抽血”在全局流程集成平台中,每个事件都对应着一段事件程序,用 于处理在状态改变的过程中需要进行的业务操作。如上述“抽血”事件的事件程 序可能会调用子程序来完成“抽血”的功能。 业务流图( b u s i n e s sf l o wd i a g r a m ,简称b f d ) 是一种由点和边构成的有 向图g ,它表示某类表单在其生存周期中可能出现的状态变化过程。例如图3 一l 就是一个业务流图的例子。业务流图中的所有点的集合表示状态集s ,s o s 表 示的是开始状态,& s 表示的是终止状态的集合;所有有向边的集合表示事 件集e ,并标识着状态变化的先后关系。在全局流程集成平台中,业务流图是业 务流程的直接体现。业务流图的例( b f di n s t a n c e ) 是指某个表单的例在其生存 周期中实际出现的状态变化历史,形象地说,它是业务流图中由开始状态到终止 状态的一条路径。 s 5 图3 - 1 业务流图的例子 可以看出,业务流图与2 1 3 节中经典的有限状态机十分相似。实际上,全 局流程集成平台基于改进的有限状态机模型2 叼来对流程进行建模。在全局流程集 成平台中,业务流程体现为业务流图,它表示了一类表单可能出现的状态变化过 中山大学硕士学位论文 基于全局流程集成平台的流程监控 程。与工作流的建模方法相比,工作流采用的是基于活动的建模,流程是活动的 集合,这种方法是以流程中的谓语作为视角的。而全局流程集成平台采用的是基 于表单的建模,它是以流程中的宾语作为视角的。基于宾语的流程建模具有如下 优点: ( 1 ) 在企业的业务流程中。表单既作为所有操作的对象,又作为所有操作的 凭证,操作与表单是相互依存的关系。因此,表单的状态变化对操作人员来说是 业务流程最直接的反映,建模时最容易被操作人员接受与理解,降低了建模的难 度。 ( 2 ) 以表单状态变化作为流程,在计算机领域中有有限状态机作为坚实的理 论基础,设计和实现的难度相对降低。另外,改进的有限状态机大大增强了流程 的描述能力,可以实现线性流程、主从流程和对等流程 4 1 等。 3 1 2 改进的有限状态机 经典的有限状态机m 的输入是字符,而改进的有限状态机m 。则以事件作为 输入,此外,肘,还添加了一个谓词来表示约束条件。 形式化地说,m 。是一个六元组: m e = ( s ,o r ,f ,妒) ( 3 - 1 ) 其中; s 是状态的非空集合,v s e s ,s 称为 。的一个状态; 是有穷的事件输入集( i n p u te v e n ts e t ) ; 岛是肘e 的开始状态( i n i t i a ls t a t e ) ,s o s ; f 是m ,的终止状态( f i n a ls t a t e ) 集合,f s ,怕e f ,s 称为m e 的终 止状态; 矿:哼b o o l 是一个谓词: 盯是状态转移函数( t r a n s i t i o nf u n c t i o n ) ,盯:s e s 。v ( s ,p ) s x , 仍盯( s e ) = f 表示m 在状态s 输入事件p ,若尹( s ) = t r u e ,则将状态变为,并 等待下一个事件输入;若烈s ) = f a l s e ,则状态维持在s ,并等待下一个事件输入 基于改进的有限状态机,可得到全局流程集成平台中流程的核心调度公式: 。s ,e ie e ,c ,c , c , o r ( s 。x e ,) = j j + i ( 3 - 2 ) 1 2 中山 学硕上学位论立 基于全局流挥靠成平台的流程监控 其中s 是业务流图的状态集,是业务流图的事件集,c 是业务流图的约 束集,口:s x e _ s 是状态转移函数。 公式( 3 - 2 ) 的语义是:当表单的例处于状态暑且事件q 被触发时,若约柬条件 c 被满足,则执行q 对应的事件程序,并根据转移函数,将表单的例的状态更新 为。 3 1 3 可视化建模工具 为简化流程建模的复杂度,全局流程集成平台提供了一个可视化的流程建模 工具b f dt o o l 。b f dt o o l 提供了一个可视化的建模环境。建模人员可以通 过拖曳的方式轻松地建立流程的业务流图。 如图3 - 2 是使用b f d t o o l 建立的定购系统中定购单检验流程的业务流图。 3 2 流程调度 图3 2 定购单检验流程的业务流图 业务流图是模式( s c h e m a ) 级别的概念,实际参与执行的是表单的例,因 j 一 一 一 艄 一 、一 一 ,= 一 吣蠲 ,= 。 齄乒 中山大学硕士学位论文基于全局流程集成平台的流程监控 此,为流程建模并得到业务流图后,还需创建表单的例并使之参与调度,系统才 能开始运行。创建及调度表单的例,需要调用全局流程集成平台的核心部件一 状态推导引擎( s t a t ed e r i v a t i o ne n g i n e ) 。 状态推导引擎主要提供了两个功能:表单生成和表单调度。下面分别对它们 进行介绍。 3 2 1 表单生成 触发表单生成的来源有两种:一是用户在业务系统的界面上查找到他有权限 操作的业务流图,然后点击“新建表单”按钮;二是在流程交互刚中,另一个表 单的例向消息队列发来“新建表单”的消息。在这两种情况下,状态推导引擎的 “表单生成”接口都将被调用此接口负责处理表单的例的新建操作,主要包括 以下步骤: ( 1 ) 分配新的表单标识号; ( 2 ) 表单状态设置为“开始状态”( ) ; ( 3 ) 把表单的系统状态设置为“就绪态”; ( 4 ) 把这些信息注册到表单元信息中: ( 5 ) 最后向应用程序返回开始状态对应的用户界面地址。 新建表单的例后,用户会被引导至该例的开始界面( s 。的状态程序) ,正式 开始对该例的操作。 3 2 2 表单调度 表单的例一经创建就参与流程运行。运行中的表单的例,必须通过状态推导 引擎的“表单调度”接口来改变状态。 从3 1 2 节的讨论中可以看出,“表单调度”接口是由事件触发的。全局流程 集成平台中的事件分为内部事件和外部事件两种。顾名思义,内部事件是指在业 务系统内部发生的事件,包括用户操作所引发的事件、流程交互中消息的送达、 异常处理中指令的发布等:相反地,外部事件是指发生在业务系统以外的事件, 例如系统时钟的报时、与另一套业务系统的交互等。在系统日常运行的过程中, 1 4 中山大学硕士学位论文基于全局流张集成平台的流程监控 最常见的事件是由用户操作所引发的事件。下面详细说明该种事件的处理过程: 假设表单的例处于状态j 。用户在该例的界面中完成操作( 例如添加或修改 数据) 后,点击界面上的按钮向系统提交操作的结果,这个过程在全局流程集成 平台中称为一个动作。该动作经过平台中的事件引擎计算得到并触发了唯一的一 个事件,该事件的触发使“表单调度”接口得以调用。“表单调度”接口负责处 理有关表单状态变化的一系列工作,包括: ( 1 ) 检查表单的例的系统状态。如果是“挂起态”,则停止调度直接返回,表 单的例维持在状态s :否则继续; ( 2 ) 把表单的例的信息和动作提交给事件引擎事件引擎通过判断权限和处 理“判断分支型”事件,计算得出在丑下唯一一个能产生转换的事件q ,然后返 回q ; ( 3 ) 如果略非空,则从表单的消息队列中取下相关消息,判断e ,的约束条件 是否满足: ( 4 ) 如果满足,则由丑和p 。推导出下一状态s 。: ( 5 ) 执行q 对应的事件程序,如果q 中需要发送消息( 用于流程交互) ,则向 消息队列发送相关消息; ( 6 ) 更新表单的例的状态值为墨。,并设置该例的系统状态( 当在第( 5 ) 步中 发送了消息且消息为同步消息时,设置为“挂起态”;否则设置为“就绪态”) ; ( 7 ) 更新该例的表单元信息,并记录它的执行历史; ( 8 ) 最后返回j 。的状态程序( 即用户界面) 地址。 调度完成后,用户会被引导至该例的s 。状态的界面地址。 3 3 平台结构 每个企业的业务流程都各不相同,因此要开发出套直接适用于各个企业的 业务系统是没有可能的。全局流程集成平台是一套辅助业务系统开发的通用平 台,它的用户并非业务系统的最终用户,而是开发这些业务系统的程序员。平台 仅提供了一套通用的用于流程建模和流程调度的接1 :3 ,要利用这些接口来构建特 定的业务系统,程序员必须要进行二次开发,为系统添加与实际业务相关的部分。 因此,全局流程集成平台明确划分为应用层和平台层两部分,平台层是流程建模 中山大学硕士学位论文 基于全局流程集成平台的流程监控 和流程调度的通用框架,而应用层则为开发特定的业务系统预留了足够的空间。 虽然开发流程分成了平台层和应用层两大部分,看似更复杂了,但由于全局流程 集成平台采用了说明性的流程描述、自动化的流程调度,实际上的开发难度大大 降低了 全局流程集成平台的系统结构如图3 3 所示: 图3 - 3 全局流程集成平台的系统结构 可以看出,全局流程集成平台分为应用层和平台层两部分,它们之间通过映 射层来交互。平台层有状态推导引擎、事件引擎、约束机制、消息机制、控制台、 背板、e - b a s e 数据库等模块;应用层必须实现平台所需的事件程序( 业务处理程 序及流程的分支检查程序) 和状态程序( 即用户界面及界面上的脚本等程序) , 1 6 中山大学硕士学位论文基于全局流程集成平台的流程监控 另外还可以添加其它模块以适应特定的业务系统。 下面简要描述平台层中的各部分的功能。 3 3 1 状态推导引擎 状态推导引擎是平台的核心部分它的功能是读入流程建模产生的业务流 图、新建表单的例、检查约束条件、动态地根据当前状态及所触发的事件推导出 下一步的状态、执行可能存在的业务处理逻辑、发送并提取消息、完成状态转换 等。这些功能都在“表单生成”和“表单调度”两个编程接口中实现 3 。3 2 事件引擎 事件引擎的作用是根据用户在界面上的操作( 称为动作) 计算出对应的事件。 动作和事件之间是一对多的关系,但是,经事件引擎计算出来的符合条件的事件 只有一个。例如在图3 - 4 所示的流程片段中,状态“待录入资料”中的动作“提 交”对应着“批准”和“拒绝”两个事件。当用户触发“提交”动作时,事件引 擎会根据当时的条件选择“批准”或“拒绝”之一作为返回结果。若“余额1 0 0 ” 时,会返回“批准”;反之,会返回“拒绝”。 3 3 3 约束机制 图3 4 动作与事件的关系 约束机制记录并管理系统的各种约束和权限。约束主要针对业务流图,它用 于描述表单的例在发生状态转换时所需要满足的条件和规则。权限则规定了用户 中山大学硕士学位论文基于全局流程集成平台的流程监控 对系统中各流程的访问限制。全局流程集成平台中的权限分为三层,分别为流程 权限、状态权限和事件权限。流程权限定义了用户对整个流程的访问权限,而状 态权限定义了用户对流程中各状态的访问权限,事件权限则定义了用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论