(机械制造及其自动化专业论文)基于工作流的企业业务过程自动化关键技术研究.pdf_第1页
(机械制造及其自动化专业论文)基于工作流的企业业务过程自动化关键技术研究.pdf_第2页
(机械制造及其自动化专业论文)基于工作流的企业业务过程自动化关键技术研究.pdf_第3页
(机械制造及其自动化专业论文)基于工作流的企业业务过程自动化关键技术研究.pdf_第4页
(机械制造及其自动化专业论文)基于工作流的企业业务过程自动化关键技术研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(机械制造及其自动化专业论文)基于工作流的企业业务过程自动化关键技术研究.pdf.pdf 免费下载

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

文档简介

西北t 业人学坝j 二学位论文 摘要 摘要 工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优化、 业务过程管理与集成,从而最终实现业务过程自动化的核心技术。研究和推广 工作流技术对于促进制造业信息化具有重要的现实意义。工作漉与数据管理技 术的结合为业务过程自动化提供了技术实现手段。本文针对业务过程自动化实 现过程中涉及到的相关问题进行了研究。 本文首先分析了企业工作流模型的组成以及模型之间的相互关系。在此基 础上,结合应用实际总结了过程模型、组织模型的建立过程。 其次,本文对基于工作流的业务过程自动化实现方法进行了分析,着重研 究了基于群件l o t u sd o m i n o 的实现方法。在对基于d o m i n o 的工作流实现原理 进行研究的基础上,总结了基本的工作流实现方式一并设计了过程定义与执行 程序相互分离的流程定制方式的实现方案。针对业务过程数据管理,给出了非 结构化数掘管理和数据源集成的解决方法。 最后,本文以某飞机制造公司办公自动化系统的设计开发过程为例,对业 务过程自动化实现过程中的关键问题,如组织模型的建立、业务过程模型的建 立与分析、基于工作流的业务流程实现方法、用户权限设置、w e b 客户端设计与 实现等问题给出了具体的解决方法。该办公自动化系统运行稳定、f 常,实现 了企业办公业务的自动化。 关键词:工作流、业务过程自动化、群件 翌j ! ! 些查兰塑:! 堂些笙兰一一塑型兰垒! l a b s t r a c t w o r k f l o wt e c h n o l o g yi sak e yt e c h n o l o g y t ob u s i n e s s p r o c e s sm o d e l i n g , s i m u l a t i n g ,o p t i m i z i n g ,m a n a g e m e n ta n di n t e g r a t i o n ,f o r t h ep u r p o s eo fr e a l i z i n g b u s i n e s sp r o c e s sa u t o m a t i o n t h er e s e a r c ha n da p p l i c a t i o no fw o r k f l o wt e c h n o l o g y h a sg r e a ts i g n i f i c a n c et om a n u f a c t u r i n gi n d u s t r y t h ec o m b i n a t i o no fw o r k f l o wa n d d a t am a n a g e m e n tt e c h n o l o g yp r o v i d e sas o l u t i o nt ob u s i n e s sp r o c e s sa u t o m a t i o n s o m er e s e a r c ho nr e l e v a n tp r o b l e mo f t h i sf i e l dw a sd o n ei nt h i sp a p e r f i r s t l y ,t h ec o m p o s i t i o no fe n t e r p r i s ew o r k f l o wm o d e la n dt h ei n t e r r e l a t i o no f e a c hp a r tw a sa n a l y z e di nt h i sp a p e r b a s e do nt h ea n a l y s i so fw o r k f l o wm o d e l ,t h e p r o c e s s t ob u i l dp r o c e s sm o d e la n d o r g a n i z a t i o n m o d e lw a s s ,u m m a r i z e d s e c o n d l y , t h em e t h o d st o r e a l i z eb u s i n e s sp r o c e s sa u t o m a t i o nw e r ea n a l y z e d a n df o c u sw a sp l a c e do nt h em e t h o db a s e do nl o t u sd o m i n o ,ak i n do f g r o u p w a r e p l a t f o r m b a s e do n t h er e s e a r c ho f w o r k f l o w p r i n c i p l eo n d o m i n o p l a t f o r m ,t h eb a s i c w o r k f l o wr e a l i z a t i o nm e t h o dw a ss u m m a r i z e da n dt h es o l u t i o ni nw h i c hp r o c e s s d e f i n i t i o ni ss e p a r a t e dw i t he n a c t m e n ts e r v i c e sw a s d e s i g n e d a f t e rt h a t as o l u t i o nt o u n s t r u c t u r e dd a t am a n a g e m e n ta n dt h e i n t e g r a t i o no fm u l t i p l ed a t ar e s o u r c ew d s g i v e ni nt h i sp a p e r f i n a l l y a ne x a m p l eo fb u s i n e s sp r o c e s sa u t o m a t i o nw a sg i v e nt h r o u g ha no f f i c e a u t o m a t i o ns y s t e m a c c o r d i n gt ot h ed e v e l o p m e n tp r o c e s so ft h i s s y s t e m ,m e t h o d s w e r eg i v e no n b u i l d i n go r g a n i z a t i o nm o d e l ,b u i l d i n ga n da n a l y z i n gb u s i n e s sp r o c e s s m o d e l ,r e a l i z i n gb u s i n e s sp r o c e s sa u t o m a t i o nt h r o u g hw o r k f l o wt e c h n o l o g y , u s e r m a n a g e m e n ta n dt h ed e s i g na n dr e a l i z a t i o no fw e bc l i e n t t h eo f f i c ea u t o m a t i o n s y s t e mh a sr e a l i z e dt h ea u t o m a t i o no f o f f i c ep r o c e s sa n dr u n ss t e a d i l y k e y w o r d s :w o r k f l o w , b u s i n e s sp r o c e s sa u t o m a t i o n ,g r o u p w a r e 两北t 业大学硇1 。学位论义 第一章绪论 1 1 业务过程自动化概述 企业在经营过程中,其业务受外部和自身内部环境的约束,按照一定的业 务规则运行,形成许多特定的业务流程【l l 。对于制造业来说,其典型流程包括 原料采购、产品设计、产品生产、产品销售等。在实际业务环境中,不同的企 业对业务规则有不同的定义,即使是同一个企业在不同条件下业务规则也可能 会发生变化。业务规则的多样性和多变性决定了企业业务流程的多样性与多交 性。在传统的手工业务处理过程中,工作是否能够按照预定的业务规则良好地 执行取决于参与流程的人的自觉性。事实上由于人是最善变的因素,这就造成 了在业务的执行过程中存在着大量随意变更流程和破坏业务规则的现象。除此 之外,由于业务过程中的一些客观因素( 如参与审批的领导外出) 造成业务流 程在特定的环节被严重脱节。另一方面,伴随着企业的业务流程,产生了大量 的数据,如何对这些数据进行全面有效的管理和分析,并在此基础上实现共享 和再利用,也是企业需要解决的关键问题之一,而信息的收集与再利用只有与 特定的业务流程密切联系:才能有效地发挥作用。 制造业信息化是针对制造业整个业务流程的。针对上述问题,工作流技术 与数据管理技术的结合为企业提高业务流程效率、加强业务流程管理、实现信 息资源的管理与共享,最终实现业务过程自动化提供了技术实现手段。 工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优化、 业务过程管理与集成,从而最终实现业务过程自动化的核心技术2 1 。对企业利 用工作流方法进行业务过程的建模和深入分析不仅可以规范化企业的业务流 程,发现业务流程中不合理的环节,进而对企业的业务过程进行优化重组,而 且所建立的业务过程模型本身就是企业非常重要的知识库和规则库,可以成为 指导企业实施计算机管理信息系统的模型。同时,工作流技术作为种过程建 模和过程管理的核心技术,可以与其它应用系统有效的结合,生成符合制造企 业需求的各种业务管理系统。因此,采用工作流技术实现业务过程自动化对于 两北,i 。业人学顺j :学位论史 促进制造业信息化有重要的现实意义。 1 2 工作流技术发展概况与现状 工作流的概念起源于生产组织和办公自动化领域,是针对门常工作中具有 固定程序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务、 角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办 事效率、降低生产成本、提高企业生产经营管理水平的目的。实际上有关过程 的组织管理和流程的优化工作直在进行,只不过在没有引入计算机信息系统 支持以前,这些工作是由人工来完成的。在表述了工作流的概念之后,以下对 工作流技术的发展历程【3 l 作以简单叙述: 八十年代初期,一些企业和公司希望能够以一神无纸化的、计算机使能的 工作环境来开展其日常的业务工作,为此建立起自己专有的或者商品化的表单 传递应用系统( f o r m r o u t i n g a p p l i c a t i o n s ) 用来实现日常麦单处理的电子化 与自动化,这些系统通常以主机一终端方式运行在大型机或小型机上,用户( 业 务人员) 通过终端运行位于主机上的应用程序。这些系统可以看成是现在工作 流管理系统的雏形。但是这些系统所适用的环境比较简单,提供的功能不够全 面,性能与系统的结构也不够先进。 八十年代中期,f i l e n e t 和v i e w s t a r 等公司率先开拓了工作流产品市场。 成为最早的一批工作流产品供应商。他们把图像扫描、复合文档、结构化路由 ( s t r u c t u r er o u t i n g ) 、实例跟踪、关键字索引以及光盘存储等功能结合在一 起,形成了一种全面支持某些业务流程的集成化的软件。这种增值性质的集成 化软件系统为企业简化与重组自己的关键业务提供了种非常合适的方案。这 便是早期的工作流管理系统。 二十世纪九十年代,随着计算机网络技术的迅速发展,现代企业信息系统 的分布性、异构性和自治性的特征越来越显著,相应的企业信息资源也分布在 异构的计算机环境中。在这种应用环境和技术背景下,工作流技术转而成为同 化企业复杂信息环境,实现业务流程自动执行的必要工具,进入了一个崭新的 发展阶段。 当前,对工作流技术的研究以及相关的产品开发迸入了更为繁荣的阶段, 2 两北 一业大学埘! l 学位论文 工作流技术得到不断完善,文件管理系统,数据库、电子邮件、移动式计算、 i n t e r n e t 服务等都已被容纳到工作流管理中。作为支持企j k ) k 务过程重组 ( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ,b p r ) 、业务过程自动化( b u s i n e s sp r o c e s s a u t o m a t i o n ,b p a ) 的一种手段,工作流技术的应用同益受到学术界和企业界的 重视。 , 在工作流技术的发展过程中,1 9 9 3 年国际工作流管理联盟w f m c ( w o r k f l o w m a n a g e m e n tc o a l i t i o n ) 的成立标志着工作流技术开始进入相对成熟的阶段。为 了实现工作流技术的标准化和开放性,从而支持异构工作流管理系统与产品之 间的互操作,并且使得其他的应用可以使用该结构和定义好的a p i ( 应用编程 接口) 访问不同的工作流管理系统提供的服务,实现与其他应用的快速有效集 成,w f m c 在工作流管理系统的相关术语、体系结构及应用编程接口( w a p i ) 等方面制定了一系列的标准。以下为w f m c 提出的工作流管理系统的体系结构 图【2 】o 图1 1 工作流管理系统的体系结构图 现阶段,工作流技术主要研究课题可以归纳为三个方面o4 1 :第一方面是工 作流的理论基础,包括工作流管理系统的体系、模型和定义语言( 工作流的建 两北r 业j 人学坝_ 二学位论立 笫一章绪论 模方法、工作流模型的形式化表示、工作流定义语言) 等。第二方面是工作流 的实现技术,包括工作流的事务特性、各种先进软件技术的应用、工作流仿真。 第三方面是工作流技术的应用,包括工作流实施技术在不同领域的应用( 如在 企业经营过程重组、并行工程、敏捷制造) 方法、应用软件集成等。对工作流 技术的研究在以下几个方面取得了进展: ( 1 ) 工作流定义 研究者从不同的角度给出了工作流的不同定义,使我们对工作流的一些基 本特征有了一定了解,以下将列举几种具有代表性的定义: 工作流联盟的定义【5 】:工作流是类能够完全或者部分自动执行的业务过 程,它根据一系列过程规则,文档、消息或任务能够在不同的执行者之间进行 传递与执行。 i b ma l m a d e nr e s e a r c hc e n t e r 的定义【6 】:工作流是经营过程的一种计算机化 的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中 每一个步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤出 谁负责以及每个活动所需要的应用程序。 清华大学自动化系系统集成研究所范玉顺等的定义【2 】:工作流是种反映 业务流程的计算机化的模型,是为了在先进计算机环境支持下实现业务过程集 成与业务过程自动化而建立的可由工作流管理系统执行的业务模型。 这些不同的定义基本达成以下共识:工作流是业务过程的一个计算机实现, 而工作流管理系统则是这一实现的软件环境。这些工作流的定义分别反映了业 务过程如下几个方面的问题:即业务过程是什么、怎么做、由谁来做、做得怎 样等。 ( 2 ) 工作流模型 工作流模型是工作流的抽象表示,也即业务过程的抽象表示。工作流模型 应该完整地提出支持工作流定义的概念,为建模用户提供工作流定义所需要的 组件或元素。工作流模型必须首先描述清楚一个业务过程是怎样进行的,因此 许多工作流模型都从对过程的描述入手,如流程图、状态图、活动网络图等, 但此类模型比较简单,不能处理复杂的过程逻辑,缺乏柔性。w i n o g r a d 与f 1 0 r e s 在语言行为理论的基础上提出了一种基于对话的工作流模型i ”。这种工作流模 两北t 业火学矾i - 学位沦立 第一带 型从客户方与服务方这两个角色之问的语言行为交互上对工作流过程进行了i 义,一个业务过程由多个行为工作流环组成,这些工作流环之削存在着某种依 赖哭系。p e t r i 网也被用来建立工作流模型。除此之外,还有许多其它形式的工 作流模型如:活动树模型,a n d r e a s6 e p p e r t 等提出的b r o k e r s e tv 1 c e s 模型 等。为了便于交互和在不同格式的模型之间实现相互的转换,有的模型还提出 了规范的描述语言,比较典型的有工作流管理联盟提出的w p d l ”1 ( w o r k f 0 w p r o c e s sd e f i n i t i o nl a n g u a g e ) ,i b mf l o w m a r k 的f d l 等。 ( 3 ) 工作流系统的实现方案 确定个工作流系统的实现方案需要选择系统所基于的底层通汛基础结构 以及系统各组成部分之间的协作过程。以下是几种典型的工作流管理系统实现 方案:i b m 公司的a l m a d e n 研究中心研究开发的基于持久消息队列的分靠式工 作流管理系统e x o t i e a f m q m ( f l o w m a r k o nm e s s a g eq u e u em a n a g e o 州、佐治亚大 学计算机系研究开发的具有自适应能力的工作流管理系统一m e t e o r ( m a n a g i n g e n d t o - e n d o p e r a t i o n s ) 1 1 “、基于分布式主动数据库技术的工作流管理系统一 w i d e ( w o r k f l o wo i 1i n t e l l i g e n ta n dd i s t r i b u t e dd a t a b a s ee r t v i r o n l n e n t ) n 1 1 以及基于 状态与活动图的工作流管理系统一m t o r ( m i d d l e w a r ef o re n l e r p f i s e - w i d e w o r k a - q o w m a n a g e m e n t ) 旧。 1 3 本文研究的内容与结构 本文针对工作流技术在实现业务过程自动化中的应用,对企业工作流应用 程序开发过程中涉及到的相关问题进行了研究,主要内容包括: ( 1 ) 企业工作流模型的建立 为了实现业务过程自动化,开发者首先需要对企业的业务过程进行建模。 本文在工作流模型的建立方面首先介绍了几种常见的过程建模方法,然后对俗 业工作流模型的组成,模型之问的相互关系,过程模型、组织模型的建立方i 毒 等问题进行了讨论。 ( 2 ) 业务过程自动化实现方法 本文在工作流的实现技术上主要讨论如何在网络协同工作环境下,构建t 作流运行的软件环境c 在介绍了工作流执行月务的概念之后,本文对基于r 眺 西北工业大学碗士学位论文帮一章绪论 和c o m + 的实现方法进行了分析并重点讨论了基于l o t u sd o m i n o 的业务过程自动 化实现方法。由于业务执行过程中需要大量的数据支持并会产生大量的非结构 化数据,本文结台实际应用,对业务过程非结构化数据管理和数掘源集成等问 题进行了讨论。 ( 3 ) 工作流应用程序实现方案 在讨论了企业工作流模型的建立与业务过程自动化实现方法之后,本文结 合开发某飞机制造公司办公自动化系统的实际项目经历,对企业工作流应用程 序的实现方案进行了分析。 6 p 4 北f 业犬学坝i :学位论义 第二章企业r 作流模掣的建、7 第二章企业工作流模型的建立 2 1 工作流模型与建模方法概述 工作流是一个业务过程的全部或部分自动执行,为了实现业务过程自动化, 必须将业务过程从现实中抽象出来,并用一种形式化的方法对其进行描述,其 结果称为工作流模型。工作流模型包含了工作流执行所需要的各种信息,如活 动、控制流、数据流、角色和执行者等。从如下描述工作流全生命周期概念的 简图中可以看出,工作流建模是工作流全生命周期的第一步,是工作流全生命 周期的重要基础。 f 暮錾二,f :二= # ) ( :_ 三蠢垂囊洳 仿真( 规划的i 过程) 协作的 n 鍪鎏篓至 文档处理 图2 1 工作流全生命周期 对于工作流模型,目前还没有一个标准。w 瓤c 提出的工作流参考模型 ( w o r k f l o wr e f e r e n c em o d e l ) 和o m g 提出的工作流管理功能规范( w o r k f l o w m a n a g e m e n tf a c i l i t ys p e c i f i c a t i o n ) 只定义了工作流管理系统的一般性框架 和所提供的服务,而没有规定工作流的建模方法。事实上,在研究工作流的过 程中,研究人员先后提出过不同的形式化方法来描述现实世界中的业务过程, 建立工作流模型。以下简要介绍几种具有代表性的王作流模型和建模方法。 2 1 1 基于活动网络的过程模型 基本的活动网络图采用两类元素来建模业务过程。第一类元素称为结点 两北:j i 业大学硕士学位论义 第二帝企业l 作流模型的矬 代表业务过程中完成具体业务功能的活动。第二类元素称为连接弧,代表活动 之间的控制流,即活动之间的执行顺序和约束关系。为了描述活动之间更为复 杂的连接关系,常常需要对活动网络图进行扩展,增加建模元素和模型元素的 属性,以弥补其描述能力的不足,如在节点中引入逻辑结点,在连接弧上增加 触发条件。逻辑结点包括与结点、或结点、汇合结点等,这些结点不完成具体 的业务功能,而仅实现活动之间的控制逻辑。 活动网络图相对于在其他不同结构的过程模型( 如p e t r i 网、语义一行为模 型等) 来说,可读性最好,对于非专业人员来说是一种最直观、最自然的过程 表达方式,因此上是一种最常见的工作流建模方法。此类工作流模型适合于流 程较为固定、异常情况较少的生产型工作流的建立,有利于企业规范自身的内 部流程。需要说明的是,此类模型对异常情况的处理不够灵活,同时当系统功 能发生变化时,模型修改的工作量比较大。 下图给出了采用扩展的活动网络图建立的原料采购过程工作流模型: 图2 2 基于活动网络图的原料采购过程工作流模型 2 1 2 基于语言行为理论的工作流模型 在基于语言行为理论的工作流模型中,业务过程被分解为一系列的对话协 作过程,而每一次对话协作过程被表示为一个闭合的行为工作流环( a c t i o n 堕! ! 三些查堂塑! :兰垡笙苎 墅= :至尘些:生堕堡竺塑! ! 二l w o r k f l o w l o o p ) 。作为工作流模型的基本组成元素,工作流环连接了客户方与服 务方两类角色,被四个语言行为分为四个阶段,如下图所示: 需要阶段协商阶段 、 1 客户方 服务方 k 、 满意阶段、一一执行阶段满意阶段执行阶段 图2 3 工作流环 服务方在执行任务的过程中,还可以向其他人发出新的请求以帮助自己完 成对客户方的承诺,原来的服务方成为其他人的客户方,其他人将为这一新的 客户方提供服务,从而形成一个新的闭环,此闭环与前面的闭环相互连接。如 此延拓下去,多个不同角色的人将被涉及进来为最初的客户提供服务,一个业 务过程最终被表示为一个由多个闭合的行为工作流环相互连接而成的网络。 基于语言行为理论的建模方法适于处理非结构化的工作流,不适用于比较 固定的业务过程,并且支持层次化建模的能力不足f 2 i 3 基于p e t r i 网的工作流模型 p e t r i 网是一种适用于多种系统的图形化、数学化建模工具,为描述和研究 具有并行、异步、分布式和随机性等特征的复杂系统提供了强有力的手段。p e t x i 网在业务过程的形式化表示、正确性证明、性能评价和模型优化等方面有着重 要的应用。 对于比较简单的业务,可以使用基本的p e t r i 网进行描述。对于复杂的业务 过程,通常根据实际的应用领域定义相应的p e t r i 网模型,典型的有e l l i s 定义的 信息控制网托w ( i n f o r m a t i o nc o n t r o ln e t ) 和a a l s t 定义的工作流网( w f n e t ) 。 工作流网( w f - n e t ) 通过对基本的p e t r i 网添加约束条件而来,具体来说:工作 流网必须有一个起始点和一个终止点,进入起始库所的托肯代表着一个过程实 例的开始,而进入终止库所的托肯表明一个过程实例的结束。另一方面,工作 流网不存在处于孤立状态的活动与条件,所有的活动与条件都位于由起始点到 终止点的通路上。使用工作流网来建立工作流模型时,采用库所表示过程中的 9 西北工业大学顿j 4 学位论文 鹅- 二章企业t 作流模型的娃一 条件,变迁节点表示过程中的可执行活动,库所中的托肯代表一个过程实例的 状态。为了便于用户建模,对于流程中常见的的顺序、并行、选择和重复执行 等过程逻辑,可以构造结构化组件来实现,如下图所示; 顺序屯 o 吨壬o ( b ) 并行 ( c ) 选择 ( d ) 重复 图2 4 四种执行结构的p e t l r i 表示 p e t r i 网具有丰富而严格的模型语义,同时作为一种图形化语言又具有直观 易懂的特点。作为一种基于状态方法,基于p e t r i 网的建模方法明确定义了模型 元素的状态,并且其演迸过程也是受状态驱动的。需要特别说明的是,与其他 工作流模型相比,基于p e t f i 网的工作流模型有许多成熟而强有力的分析技术与 手段,可以用来对工作流过程的一些基本要求进行分析验证。 以上工作流模型主要是对业务过程结构的形式化描述,缺少对数据资源和 执行者组织结构的描述,为了适应大规模、动态变化的企业应用,必须对其进 行扩展。 2 2 企业工作流模型的组成 为了完整地表达一个业务过程,建立的工作流模型不仅需要明确地表达业 务过程中的活动以及活动之间的关系,而且还要对活动间所传递的信息、活动 的执行实体、活动所需要的资源等进行定义。经扩充后的企业工作流模型由组 :。 织模型、数据模型、过程模型和资源模型构成,每一种模型从不同的侧面描述 业务过程的信息,业务过程作为框架将模型中的各种实体关联起来。 两北一 业人学硕上学位论义 第二章企业i 作流模型的矬- r i 茁曩撰型 2 2 1 组织模型 i 作z 鼬鱼量 图2 5 工作流模型的组成结构 组织模型用于描述企业的组织实体、组织实体之间的关系,涉及到对企业 组织结构、基本组织单元、组织内部人员的描述。组织单元之间往往存在着从 属或协作关系,形成一定的层次结构,传统的树形组织结构如图2 6 所示: 图2 6 树形组织结构图 在建立工作流模型的过程中,为了描述清楚工作流的执行者,需要对组织 内部的各种实体以及实体之间的关系进行描述,采用实体一关系 ( e n t i t y r e l a t i o n s h i p ) 图建立的组织概念模型如图2 7 所示。现对概念模型 中一些实体和关系说明如下: 角色组:由多个角色组成的集合,属性包括名称、描述和角色列表等。 功能组:具有某些相同功能的执行者组成的集合,属性包括名称、描述和 成员列表等。 角色:是具有某种身份或权限的命名标识,属性包括名称、所属部门、能 力列表和充当此角色的执行者列表。角色的引入对于工作流组织建模具有重要 堕苎三、业盔兰堡圭兰垡堡兰 蔓三翌垒些三堑! ! 堡竺塑! ! 二l 的意义,以角色作为过渡,可以将企业组织模型和过程模型灵活地关联起来。 替代关系:连接两个执行者,表示当一个执行者不在时,由另一个执行者 来代替。 充当关系:连接执行者和角色,表示一个执行者充当某个角色。同一执行 者可以充当多个角色,一个角色也可以由多个执行者来充当。 2 2 2 数据模型 图2 7 组织模型中的实体关系 数据模型是对工作流执行过程中所访问数据对象的描述,这些数据来源于 组织模型、资源模型、过程模型中的数据结构和数据关系。数据模型是数据库 设计的基础,应该根据实际应用领域建立起相应的数据模型。 需要说明的是,在w f m c 提出的工作流参考模型中,涉及到三种类型的数 据,即工作流控制数据( w o r k f i o wc o n t r o ld a t a ) 、工作流相关数据( w o r k f l o w r e l e v a n t d a t a ) 以及工作流应用数据( w o r k f l o w a p p l i c a t i o n d a t a ) : 工作流控制数据:工作流执行服务t 作流机通过内部的工作流控制数据来 辨别每个过程或活动实例的状态。这些数据由工作流执行服务工作流机进行控 制,用户、应用程序或其它的工作流执行服务工作流机不能对其直接进行读写 操作,但是可以通过向工作流执行服务工作流机发送请求来获得工作流控制数 据的内容,例如通过实例监测工具可以获得工作流实例的状态。 西北1 1 业人学坝一【“学位论文 第二章企业t 竹溉模型的硅 工作流相关数据:工作流相关数据用来确定过程实例状态转化的条件,并 据此选择下一个将执行的活动。工作流相关数据需要在活动实例之间进行传递, 并可以被工作流应用程序访问并修改。 工作流应用数据:指由应用程序操作的数据,这些数据对象由特定的外部 应用所定义。有时为了在不同的外部应用之间交换数据,需要对其进行格式转 换。 2 2 3 过程模型 w t m c 将过程定义为:为了实现一定的业务e l 标而通过顺序或并行的方式 连接起来的一系列活动。过程模型中最基本的元素是活动以及活动之间的连接 孤。需要工作流执行者的操作来完成的活动,称之为人工活动,由应用程序自 动执行无需用户干预的活动,称之为自动活动。同一抽象层次的活动之间存在 着先序关系,这种关系定义了业务过程中的控制流和数据流。以下介绍几种在 构建过程模型时常见的基本控制结构: 顺序( s e q u e n c e ) :在同一流程中。一个任务在另一任务完成后才能被激活。 i n he 卜+ f + cl 图2 - 8 顺序 并行分叉( p a r a l l e ls p l i t ) :在流程中,需将单进程的某控制点分成可并行执 行的多进程控制,于是允许任务同时执行或以任何顺序执行。 图2 9 并行分叉 同步( s y n c h r o n i z a t i o n ) :流程中多个并行任务在某点汇聚成一个单进程 从而同步多个进程。 图2 1 0 同步 里型立型生苎兰里型兰兰燮 竺三量垒! ! ! ! :垫堡型塑些! 摊它选择( e x c l u s i v e c h o i c e ) :在流程的某一点依据一个结果或流程控 制数据,从多个分支路径中选定一个路径。 图2 1 i 排它选择一” 简单合并( s i m p l e m e r g e ) :在流程中某点,需将两个或更多可选分支聚合 而不同步:换言之,“合并”在任一入口连接触发时被触发。 图2 1 2 简单合并 多路选择( m u l t i p l ec h 。i c e ) :在工作流过程的某点依据判定或工作流控制 数据,选择个或多个分支。 图2 1 3 多路选择 过程模型中还有可能包含子过程,子过程对应于另外一个过程模型。在工 作流的实际执行过程中,如果遇到子过程,将进入予过程内部执行,如果子过 程中没有终止节点,子过程执行完成后将接着执行主过程中的下活动。 一一了i i 、7【+ m 8 、 i j ,鱼、芝,j 、 d 矗1 , 、产二二兰弋_ 7 :乏斗、乒? :t 了、1 7 i 孓、牙,言, 、专二二二二二一二二= 歹? :由于出现异常情况或者错误,活动实例被暂时挂起。 结束( c o m p l e t e d ) :活动执行完成。 亟 s u s p m l d ;l r e s l “。 l , s t a n 一三诗( 亚) 一多 ( h a sw o r ki m m ) 图3 2 活动实例状态转换图 2 业务过程自动化实现方法 工作流执行服务可以基于不同的底层支持技术来实现,例如可以基于 c o r b a 、基于c o m 、基于主动数据库技术、基于w e b 、基于群件l o t u sd o m i n 。等, 不同的底层支持技术决定了工作流系统各组成部分之间的连接方式以及工作流 实例的执行方式,直接影响到系统的性能。以下将对几种主要的实现方法进行 分析,并结合本文的应用实际着重叙述基于群件l o t u sd o m i n o 的实现方法。 堕! ! 三些查堂堡:! 兰竺婆兰 苎兰至、业箜垫堡旦型! 兰型! 王塾 3 2 1 基于c o r b a 的实现方法 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代 理体系结构) 是由o m g ( 对象管理组织,o b j e c tm a n a g e m e n tg r o u p ) 提出的应 用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以 支持异构分布应用程序间的互操作性及独立于平台歪巳绵程语言的对象重用。以 下为c o r b a 的体系结构图: 图3 3 c o r b a 体系结构图 c o r b a 规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象 内部细节的完整封装,保留对象方法的对外接口定义。对象间的通信与激活依 靠对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) 机制来实现,对象请求代理 将客户方提交的请求发送给服务方,并将服务方返回的结果传给客户方。c o r b a , 规范在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软 件在分布、异构环境下实现可重用、可移植和互操作,因而广泛地应用于工作 流系统的实现中。 以下以g e o r g i a 大学l s d i s 实验室m e t e o r 项目中开发的基于c o r b a 规范的 工作流执行系统o r b w o r k 为例,说明此类工作流实现方法。 o r b w o r k 以支持c o r b a 规范的软件产品o r b i x 作为底层的通信支持系统,使 用c o r b a 规范中对象和1 d l 接口定义来实现系统中对象间的互操作和数据源的 封装。在o r b w o r k 中,系统的所有组成部分都是以c o r b a 对象的方式实现的, 一些原有的应用系统也被封装成c o r b a 对象,在执行时被当作任务调用。o r b w o r k 谢北t 业火学顺| 学位论文 第三章业务过程臼z 曲化的实舭方法 的工作流执行系统主要包括任务管理器和任务两个部分。任务管理器负责实现 任务的激活、调用和监控并完成异常处理和错误恢复。 图3 4m e t e o r 体系结构图 随着w e b 技术迅速发展,以c o r b a 作为底层支持来封装工作流系统的主要 组件和企业的原有应用,采用w e b 作为客户端界面的工作流系统得到同益重视。 3 2 2 基于c o m + 的实现方法 c o m ( c o m p o n e n to b j e c tm o d e l ) 是微软开发的一项具有位置透明性、语言无 关性、版本升级鲁棒性等特征的系统级别的面向对象组件技术,它通过接口方式 定义并实现不同软件模块之间的通讯与协作功能。c o 卅在c o m 、d c o m ( d i s t r i b u t e dc o m ) 和m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e r ) 的基础上进一步优 化了组件管理环境与事务服务,并提供队列组件、事件模型、负载均衡、对象缓 存、内存数据库以及安全机制等服务内容扩展。c o m + 把c o m 模型推向了更高层 次,使其成为企业级分布式软件开发领域的重要技术。 文献 2 8 提出了一种基于c o m + 技术的分布式工作流系统实现框架,通过多 层结构的方式,实现了工作流系统中应用、逻辑与数据的分离。 数据层:该层由数据库、文件管理系统和消息队列三个服务器组成,构成 了工作流系统的数据基础。工作流系统状态信息都保存在数据层的服务器中, 其中数据库存储工作流模型数据、实例数据和日志纪录;文件管理系统保存文 件类型的数据;消息队列存储和管理工作流系统中的业务事件信息。 幅北工业大学颂i :学位论文 第三章业务过程凸功化的实现方泣 逻辑层:该层是工作流系统功能实现的核心部分,包括:分布式工作流执 行服务组件、工作流后台服务、自动应用适配器、队列组件、w e bs e r v i c e 和事 件发布六个基本模块。作为逻辑层的核心组成模块,工作流执行服务组件通过 将工作流相关业务逻辑封装为c o m + 服务器的方式为逻辑层其他模块和应用层提 供访问和操纵数据层的标准接口。而工作流后台服务实现一些具有延时或耗时 特性的功能,诸如时问管理、条件管理、自动应用管理、组织资源分配等。 应用层:该层由建模工具、客户应用、自动应用和管理工具组成。应用层 对工作流系统数据的操纵都是通过工作流执行服务组件提供的接口实现的。 图3 5 基于c o m + 技术的工作流系统实现框架 以c o m + 技术作为底层通讯基础实现的工作流系统可以方便地与w e b 技术相 结合,在可扩展性、可靠性、实用性方面具有较好的性能。 3 3 基于群件l o t u sd o m in o 的实现方法 群件l o t u sd o m i n o 本身可以看成是支持群组工作的简单的工作流系统,它 提供了消息协作、处理分布应用和复杂文档的能力j 尤其适合于开发支持群组 协同工作的工作流系统。结合本文的应用背景,以下将详细叙述以l o t u sd o m i n o 作为底层支持系统实现业务过程自动化的方法。在此之前,首先对d o m i n o 应用 程序的构成与运行方式作以介绍。 两a 1 1 业夫学便士学位论文 第三市业务过程日动化的实m 疗“: 3 3 i d o m i n o 应用程序的构成与运行方式 d o m i n o 应用程序的基础是d o m i n o 文档数据库,一个应用程序一般由一个 或多个数据库组成。d o m i n o 数据库是包含应用程序的数据、逻辑关系和设计元 素的容器,数据库的构成如下图所示: 图3 6 文档数据库结构图 存储在d o m i n o 数据库中的数据称之为文档,一个文档类似于关系数据库中 的一条记录,每一个文档都具有一个由3 2 位十六进制数构成的睢一标识符 u n i d ( u n i v e r s a li d ) 。数据库设计元素作为应用程序的构建单元,也存储在数 据库中。这些设计元素包括:表单、视图、文件夹、代理、共享资源等。由于 这些设计元素与关系数据库中的不尽相同,现将应用程序开发过程中涉及到的 几种关键设计元素说明如下: 表单:表单提供了用于创建和显示文档的结构。用户向表单中填入信息保 存后,填入的信息就被作为文档保存:当用户打开某一文档时,文档将根掘存 储在文档中f o r m 域的域值选取对应的表荜作为模板来提供显示数据的结构。 域:域存在于表单之中,用于收集数据。域的类型决定了此域能够接受的 信息类型,例如:文本、数字、日期时间、姓名或r t f 文本等,每个域只能存 储一种类型的数据。当用户( 通过n o t e s 客户机或w e b 浏览器) 在表单域中 填入信息并保存后,域中的数据将被存储于单个文档中。域的内容可以在文档 或视图中显示,或者被提取出来用于公式中。可以创建共享域用于数据库中的 多个表单。 视图:视图提供了选择数据库中文档的机制,并且是对存储在数据库中的 西北工业大学硕一j :学位论文 第三章业务过程自动化的实现方法 数据进行访问的入口。在视图中可以排序和分类文档。 代理:代理是在个或多个数据库中执行特定任务的独立程序,可以在前 台由用户运行,或者在后台作为定时代理自动运行。代理不与特定的设计元素 相关联,在特定的服务器、多个服务器、工作站或w e b 上均可运行并可以调用 其他代理。代理通常采用n o t e s 公式、l o t u s s c r i p t 脚本语言、j a v a 语苦来编 写。需要说明的是表单对应有w e b q u e r y o p e n 和w e b q u e r y s a v e 两个事件,分别 对应于w e b 用户打开和保存文档的操作。可以编写代理与w e b q u e r y o p e n 或 w e b o u e r y s a v e 事件对应起来。与w e b o u e r y o p e n 事件对应的代理在用户向服务器 发出打开某一文档的请求,d o m i n o 服务器将文档转换为h t m l 并发送到浏览器 之前运行。与w e b q u e r y s a v e 事件对应的代理在用户将h t m l 表单数据提交给服 务器,服务器将文档保存到磁盘之前运行。 基于d o m i n o 开发的应用系统可以采用客户机r 务器或浏览器服务器的模 式运行。此时,构成应用程序的d o m i n o 数据库存储于服务器上,客户机与服务 器之间通过i n t e r n e t i n t r a n e t 相互连接,用户借助于客户机上的n o t e s 客户 端或w e b 浏览器通过网络与服务器上的应用程序进行交互。结合本文应用实际, 以下介绍客户端采用浏览器时的应用程序运行方式。 c l i e n t s 田o t , s b r o r = r ) 图3 7 d o m i n o 应用程序运行方

温馨提示

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

评论

0/150

提交评论