(计算机应用技术专业论文)工作流引擎osworkflow在管理系统中的研究与应用.pdf_第1页
(计算机应用技术专业论文)工作流引擎osworkflow在管理系统中的研究与应用.pdf_第2页
(计算机应用技术专业论文)工作流引擎osworkflow在管理系统中的研究与应用.pdf_第3页
(计算机应用技术专业论文)工作流引擎osworkflow在管理系统中的研究与应用.pdf_第4页
(计算机应用技术专业论文)工作流引擎osworkflow在管理系统中的研究与应用.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)工作流引擎osworkflow在管理系统中的研究与应用.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第l 页 摘要 工作流是一类能够完全或部分自动执行的经营过程,根据一系列过程规 则对文档、信息或任务在不同的执行者之间传递与执行。工作流引擎是工作 流管理系统的核心软件部件,是驱动流程流动的主要部件。 本文介绍了j 2 e e 技术框架的四层结构、w f m c 的标准体系结构和参考模 型以及工作流管理系统的功能。重点介绍了本文所要研究的主要内容 o s w o r k f l o w 工作流引擎,对其基本元素的概念,关键包用途和常用类的功 能作了具体的分析和深入的研究,并讨论了引擎的主要x m l 配置文件以及核 心思想,然后给出了有关表的数据库模型。 通过使用o s w o r k f l o w 工作流引擎,把工作重心放在业务和规则定义上, 而不需再通过硬编码的方式实现一个p e t r i 网或是一个有穷自动机,从而提高 开发效率。本文的主要目标是对o s w o r k f l o w 引擎进行研究并应用于某信息 管理系统。主要研究工作有:对信息管理系统进行需求分析,包括项目业务 概述、业务流程分析并用u m l 的用例模型对系统业务功能建模,最后得出 系统的功能模型;在分析和研究基于j 2 e e 工作流管理系统模型的基础上, 把工作流引擎o s w o r k f l o w 技术和系统采用的j 2 e e 技术架构整合,并给出系 统的技术架构;同时介绍系统所采用的数据库技术;最后本文采用 o s w o r k f l o w 工作流引擎和j 2 e e 技术,对信息管理系统项目策划管理部分的 流程采用o s w o r k f l w o 引擎所支持的x m l 文件进行流程定义,详细描述其执 行过程,并最终给予实现。 通过系统应用表明o s w o r k f l o w 是轻量级引擎,它能以最小的代价整合到 j 2 e e 系统框架中,而且能够对流程部分进行控制管理,使软件开发更关注业 务逻辑,因此能使系统功能更完善,开发效率更高。 关键词:工作流:工作流管理系统;o s w o r k f l o w 引擎;j 2 e e 西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t w o r k f l o wi sak i n d o fm a n a g i n gp r o c e s st h a tc a l l f u l l yo rp a r t i a l l yb e a u t o m a t e d a c c o r d i n gt oas e r i e so fp r o c e s sr u l e s ,i tt r a n s f e r sa n dp e r f o r mt h e d o c u m e n t ,i n f o r m a t i o n ,o rt a s kb e t w e e nt h ee x e c u t a n t s w o r k f l o we n g i n ei st h e c o r es o f t w a r ec o m p o n e n to ft h ew o r k f l o wm a n a g e m e n ts y s t e m ,a n di t i sa l s ot h e m a i nc o m p o n e n to fd r i v i n gf l o ww o r k t h i sp a p e ri n t r o d u c e st h ef o u rs t r u c t u r e so fj 2 e et e c h n o l o g yf r a m e ,w f m c s t a n d a f da r c h i t e c t u r e ,w f m cr e f e r e n c em o d e la n dt h ef u n c t i o no ft h ew o r k f l o w m a m a g e m e n ts y s t e m t h e n i ti n t r o d u c e s m o s t l yt h e m a i nc o n t e n to ft h e r e s e a r c h - - o s w o r k f l o ww o r k f l o we n g i n ei n c l u d i n gt h ec o n c e p t so ft h eb a s i c e l e m e n t s ,t h ep u r p o s eo ft h ek e yp a c k a g ea n dt h ec l a s si nc o m m o nu s ew h i c ha r e a n a l y z e ds p e c i f i c a l l ya n ds t u d i e di nd e p t h m o r e o v e r , t h em a i nx m lc o n f i g u r a t i o n f i l e sa n dt h ec o r ep r i n c i p l ea r ed i s c u s s e d ,t h e nt h ed a t a b a s em o d e lo fs o m et a b l e s r e l a v a n tw i t ht h ew o r k f l o w e n g i n ei sg i v e n b yu s i n gw o r k f l o we n g i n eo s w o r k f i o w , w ec o u l dp a ym o r ea t t e n t i o nt ot h e o p e r a t i o na n dt h ed e f i n i t i o no fr u l e si n s t e a do fi m p l e m e n t i n gt h ep e t r in e to rt h e f i n i t es t a t em a c h i n ew i t h o u tah a r dc o d e dm o d e ,w h i c hc o u l di m p r o v et h e e f f i c i e n c y o f d e v e l o p m e n t t h em a i no b j e c t i v e o ft h i s p a p e r i st o s t u d y o s w o r k f l o we n g i n ea n dh o wt oa p p l yi tf o rt h ei n f o r m a t i o n m a n a g e m e n ts y s t e m t h em a i nr e s e a r c hw o r k :t h er e q u i r e m e n to ft h ei n f o r m a t i o nm a n a g e m e n t s y s t e mi sa n a l y z e d ,i n c l u d i n gt h es u m m a r i z a t i o no fo p e r a t i o n ,t h ea n a l y s i so ft h e o p e r a t i o nw o r k f l o wa n du s i n gu m lu s em o d e lm o d e l i n gf o rt h es y s t e m i nt h e e n d ,f u n c t i o n m o d e l c o m e s ;b a s e do n a n a l y z i n g a n d r e s e a r c h i n g f o r t h e j 2 e e b a s e dw o r k f l o w m a n a g e m e n t s y s t e mm o d e l ,t h e t e c h n o l o g y o f o s w o r k f l o we n g i n ea n dj 2 e ea r c h i t e c t u r ea r ea s s e m b l e da n dt h et e c h n o l o g yo f t h es y s t e mi sg i v e n m o r e o v e rt h et e c h n o l o g yo ft h es y s t e md a t a b a s ei si n t r o d u c e d ; f i n a l l y ,t h ef l o w s ,i nt h es c h e m em a n a g e m e n to p e r a t i o no ft h ei n f o r m a t i o n m a n a g e m e n ts y s t e m ,u s i n gt h et e c h n o l o g yo fo s w o r k f l o we n g i n ea n dj 2 e e ,a r e d e f i n e di nt h ew a yo fo s w o r k f l o wr e c o g n i z a t i o n t h es y s t e mi s i m p l e m e n t e d a n dd e s c r i b e di nd e t a i l t h ea p p l i c a t i o no fs y s t e mm a n i f e s t st h a to s w o r k f l o wi s al i g h t w e i g h t 西南交通大学硕士研究生学位论文 页 e n g i n e ,w h i c hi sc a p a b l eo fb e i n gi n t e g r a t e di n t oj 2 e es y s t e mf r a m ew i t hs m a l l c o s t m o r e o v e ri tc a nc o n t r o lt h em a n a g e m e n to ff l o w sa n dm a k et h es o f t w a r e s d e v e l o p m e n tp a ym o r ea t t e n t i o nt ob u s i n e s sl o g i c i nt h i sw a y , i tc a nm o d i f yt h e f u n c t i o na n dt h ee f f i c i e n c yo ft h es y s t e m k e yw o r d s :w o r k f l o w ;t h ew o r k f l o wm a n a g e m e n ts y s t e m ;o s w o r k f l o we n g i n e ; j 2 e e 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有 关数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本 学位论文。 本学位论文属于 i 保密 2 不保 年解密后适用本授权书; 使用本授权书。 ( 请在以上方框内打“4 力) 学位论文作者签名:徐极钽 日期:细8 、五 指导老师签名: 佥蛾氨 日飙柳易、 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 对信息管理系统进行需求分析,包括项目业务概述、业务流程分析并用 u m l 的用例模型对系统业务功能建模,得出系统的功能模型;在分析和研究基 于j 2 e e 工作流管理系统模型的基础上,把工作流引擎o s w o r k f l o w 技术和系统 采用的j 2 e e 技术架构整合,并给出系统的技术架构;最后本文把轻量级工作流 引擎o s w o r k f l o w 应用于信息管理系统,使软件开发更关注业务逻辑,因此能 使系统功能更完善,开发效率更高。 西南交通大学硕士研究生学位论文第1 页 1 1 工作流的发展历史 第1 章绪论 工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当 时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未 取得成功。1 9 8 3 年至1 9 8 5 年间,在图像处理领域和电子邮件领域出现了早期 的含有工作流特征的商用系统l l 】。 进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息 化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1 9 9 3 年8 月,第一个工作流技术标准化的工业组织工作流管理联盟( 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 ,简称w f m c ,下同) 成立。1 9 9 4 年,工作流管理联盟 发布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系 列工业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系 统在实验室里开发出来。进入二十一世纪以来,工作流技术已被越来越多的人 认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推 广工作流产品的同时,更加注重理论研究,以推动该项技术走向成熟i 。 1 2 国内外研究现状 1 2 1 国外研究现状 目前国外市场上工作流产品十分活跃,它们在功能、规模和应用范围上各 有特色,本节将介绍国外比较有影响和具有代表性的工作流产品的实现方案。 这些实现方案分别出自于不同的研究项目,所以在一定程度上代表了工作流技 术几个不同的研究发展方向。 ( 1 ) o r b w o r k :基于c o r b a 的分布式工作流系统 o r b w o r k 是美国g e o r g i a 大学计算机系m e t e o r ( m a n a g e m e n te n d t o e n d o p e r a t i o n s ) 研究项目所开发出的一套工作流管理原型系统,它是基于c o r b a 西南交通大学硕士研究生学位论文第2 页 的完全分布的工作流执行系统,以c o r b a 产品o r b i x 作为底层的通讯支持, 并使用c o r b a 来实现系统的互操作和数据源的封装。以c o r b a 作为工作流 系统实现的底层基础有许多优点,比如对象请求代理( o r b ) 机制、标准的接 口定义语言( i d l ) 、面向对象等等。这些优点都将使c o r b a 成为用户实现企 业级工作流解决方案的一种可能的选择l z j 。 ( 2 ) w e b w o r k :基于w e b 的工作流系统 w e b w o r k 与o r b w o r k 一样,也是m e t e o r 项目中的一部分。与o r b w o r k 不同的是,w e b w o r k 是完全基于w e b 技术实现的工作流系统。m e t e o r 的研 究人员考虑到企业可能处于价格等原因不愿意去购买c o r b a 产品,但是大多 数企业都有自己的w e b 服务器,或者可以连接到某个w e b 服务器上,因此开 发了一套基于w e b 的工作流管理系统。w e b 浏览器为用户提供了一个通用、友 好的界面,而且它可以很容易不附加任何多余代价地布置在多个计算平台上【3 1 。 ( 3 ) e x o t i c a f f m q m :基于永久消息队列的分布式工作流系统 i b m a l m a d e n 研究中心所进行的研究项目e x o t i c a 在工作流分布执行方面提 出了一种能够完全分布的执行模型,它通过永久消息( p e r s i s t e n tm e s s a g e s ) 的 方式来保存工作流相关执行信息,使得每一个执行节点都是相互独立的,工作 流过程的执行不以某一个节点为中心,完全实现了分布。这种方式大大地提高 了系统的可靠性、可扩展性以及柔性1 4 j 。 ( 4 ) e v e :事件驱动下的分布式工作流执行系统 瑞士苏黎士大学计算机系的研究人员提出了一种基于事件的工作流执行服 务中间件平台体系结构,称为e v e ( e v e n te n g i n e ) ,用以集成工作流执行过程 中松散耦合的分布式功能组件。在e v e 体系结构中,工作流的执行是由分布在 网络上的代理( b r o k e r ) 通过响应由e v e 服务器检测到的事件来完成的;同时, 代理在提供服务的过程中又会产生新的事【5 j 。e v e 服务器是整个e v e 体系核 心,等同于工作流参考模型中的工作流机【6 j 。从e v e 系统的设计思路来看,它 也属于一种完全分布的执行方式,因而很容易地克服了服务方完全集中于一点 而带来的诸多不利,如系统吞吐量的瓶颈、系统的可靠性问题等。 ( 5 ) d a r t f l o w :基于可移动代理的工作流管理系统 d a r t f l o w 是达特茅斯大学计算机系设计开发的一种基于可移动代理的工作 流系统,可移动代理是指一段可以在自身的控制下由异构网络系统中的一台机 器转移到另外一台机器上运行的程序,也就是说,可移动代理能够在执行到某 一点时挂起自身程序,将代码传递到另外的网络节点上去继续运行。在d a r t f l o w 中,它的系统组件结构与工作流管理联盟所提出的参考模型基本一致,能够相 西南交通大学硕士研究生学位论文第3 页 互对应,其中比较有特色的几个部分是过程代理、多种类型的代理服务器、用 户界面与工作表服务器【刀。 1 2 2 国内研究现状 从国内工作流软件市场的供给格局来看,可谓“诸侯百家、战乱纷飞”。各 种不同类型的提供商充斥于市场之中,可谓三六九等。总体上可以上分为以下 几种主要类型【8 l 。 第一类是独立的、专业的工作流软件提供商。这类厂商包括:信雅达、东 兰、西安协同、u l t i m u s 等。其特点是,企业规模相对较小,品牌认知度相对较 低。但这些企业的独立工作流软件产品较为成熟,能支持较为复杂的工作流, 但其市场一般是单项目规模较小。 第二类是大型的平台软件提供商。这类厂商包括:i b m 、b e a 、m s 、o r a c l e 等。其基本特点是规模大,品牌认知度高,产品成熟度相对更高。这些厂商在 市场上的项目往往规模更大。但其缺点是,产品的易用、便捷性有待加强,仍 需要在本土化与个性化等方面改进。 第三类是中小型的平台软件及协同软件提供商,比如中间件厂商也开始推 出自己的工作流软件。这类厂商的代表比如普元软件、点击软件等,也开始推 出了自己的工作流软件,并和自己的业务基础平台紧密集成,一起为用户提供 支撑服务。 第四类是综合的应用软件提供商,一般是大型的i s v 和s i 。这类厂商包括: s a p 、甲骨文、东软、神州数码、清华同方、中软、用友、金蝶等公司。其特 点是规模较大,品牌认知度较高,其工作流软件和自有解决方案或应用软件集 成得更好。但其工作流软件往往功能相对简单,多为自己在大型系统应用中所 用。 第五类是开源软件厂商及其产品。其代表性产品包括:s h a r k 、o s w o r k f l o w 、 i b p m 、a c t i v e b p e l 等。其特点表现为新兴产品较多,在国内认知度还有待于提 升。 分析认为,如果将中国工作流软件市场划分为导入期、成长期、成熟期、 衰退期几个阶段的话,目前,中国工作流软件市场正处于成长中期。预计在2 0 0 9 年以后,中国工作流软件市场的发展将迎来成熟期,市场供求格局将发生更多 的变化【羽。 西南交通大学硕士研究生学位论文第4 页 1 3 本文的研究内容 本课题主要目标就是在一个j 2 e e 平台下研究基于o s w o r k f l o w 工作流引擎 的管理系统的设计模型和解决方案,并最终给出实现。为了完成这个目标,本 文主要做以下研究工作: ( 1 ) 研究w f m c 组织提出的标准体系结构和工作流参考模型,包括体系结 构的各个模块的功能以及参考模型的接口的作用。 ( 2 ) 研究j 2 e e 的多层体系结构,重点分析典型的四层架构,并对每层的功 能和采用的技术进行分析研究。 ( 3 ) 重点研究o s w o r k f l o w 工作流引擎,分析其基本要素的概念、关键包 以及包内的重要类之间的关系,对o s w o r k f l o w 内部的工作机理进行详细的研 究。 ( 4 ) 对项目进行需求分析,分析项目的业务流程,采用u m l 用例模型进行 系统的业务功能建模,然后根据需求分析得出系统的功能模型。 ( 5 ) 研究基于j 2 e e 架构的工作流管理系统结构,把o s w o r k f l o w 工作流引 擎应用于基于j 2 e e 的项目管理系统,并给出系统总体技术架构,阐述数据库 所采用的技术。 ( 6 ) 结合项目信息管理系统的项目策划管理业务中具体流程,给出流程定 义,分析其执行过程,并给出系统具体的实现。 ( 7 ) 对论文的研究成果和不足之处进行总结,明确下一步的研究方向。 1 4 论文的组织结构 第一章为绪论,主要介绍工作流的发展历史和国内外的研究现状。 第二章介绍相关的技术理论,主要是工作流技术和j 2 e e 框架,重点介绍了 w f m c 的标准体系结构和参考模型,j 2 e e 的多层次体系结构。 第三章主要介绍o s w o r k f l o w 工作流引擎的基本元素的概念、关键包以及 关键包的作用,讨论了o s w o r k f l o w 的核心思想,阐述工作流引擎过程实例状 态转换的几种运行状态。 第四章主要是介绍系统的项目背景,对系统进行需求分析并得出系统的功 能模型。同时介绍基于j 2 e e 的工作流管理系统框架,得出系统的技术架构。 第五章把工作流引擎o s w o r k f l o w 应用于某水利院的信息管理系统中,根 西南交通大学硕士研究生学位论文第5 页 据流程定义文件,分析其执行过程,并给出系统的具体实现。 第六章是对所做工作的总结与展望。 西南交通大学硕士研究生学位论文第6 页 第2 章工作流技术与j 2 e e 技术 2 1 工作流技术的相关知识 九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建 设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。许多软件 厂商提供各自的工作流软件产品,而且新的产品也不断涌现,用户有很大的选 择余地,但是如果没有可遵循的行业标准,就会使这些产品之间存在巨大差异, 导致这些产品之间不能协同工作,成为一个个信息的“孤岛 【。 在这种背景下,工作流管理联盟( w f m c ) 于1 9 9 3 年成立了,这是由多家 公司联合成立的国际标准组织,其目的是通过制定工作流技术及其标准,提高 不同工作流产品之间的连通性和协同工作能力。通过使用标准可以使不同的产 品之间协同工作,也可以改善工作流产品与其他r r 服务( 电子邮件、文档管理) 之间的集成。 2 1 1 定义 工作流管理联盟( w f m c ) 对工作流( w b r l 【f l o w ) 的定义为【9 】:工作流是一类能 够完全或部分自动执行的经营过程,它根据一系列过程规则对文档、信息或任 务在不同的执行者之间传递与执行。 w f m c 给出的工作流管理系统定义为【9 j :工作流管理系统是一个软件系统, 它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进 工作流实例的执行。 2 1 2w f m c 标准体系结构 为了实现工作流系统的特性,达到工作流产品之间的互操作性。国际工作 流管理联盟( w b 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 ) 提出了工作流参考模型的 体系结构图,这为工作流的实现提供了公共的基础,组成工作流管理系统的每 西南交通大学硕士研究生学位论文第7 页 个功能部件可以在不同的软硬件平台上采用不同的方法实现,接口也可以在不 同的软硬件平台上采用不同的设计技术和编程语言。进行编程,不同的工作流产 品会按照互操作和协作的不同要求在一定层次上丌放其接口, _ 软件拗f q 系统拎捌敌担: 团外部,- ;7 ,数j ) = 图2 - 1w 似c 工作流标准体系结构1 1 0 j 从图2 1 中可以看出,工作流管理系统主要由三类组成: ( 1 ) 软件构件:完成工作流管理系统不同组成部分功能的实现。 ( 2 ) 系统控制数据: 作流管理系统中的一个或多个软件组件使用的数据; ( 3 ) 应用与应用数据:对于工作流管理系统来说,它们不是工作流管理系统 的组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成整个和 部分工作流管理的功能。 作流体系结构中主要模块如下所示: f 1 ) 工作流流程定义工具 工作流流程定义工具的作用就是根据系统指定流程定义格式来定义工作流 譬。流稃定义工具可以是与工作流管理系统集成在一起的,也可以是单独的产 品,只要它可以生成流程定义能与系统可以解析的流程定义。致。 f 2 ) 流程定义 流程定义了流程执行过程中要 1 剑的所仃信息。这些信息包括流程的丌始 西南交通大学硕士研究生学位论文第8 页 和结束条件、组成过程的活动节点、活动节点间关联规则,活动节点需要调用 的应用,子流程,运行需要的相关数据,参与者等等。 ( 3 ) 工作流执行服务 工作流执行服务完成解析工作流过程定义、控制流程实例、安排流程活动 节点的执行次序,向用户工作表中添加工作项、在需要时调用应用程序的工作 【1 1 】。它可以由一个或多个工作流管理引擎组成,管理多个流程实例的执行。工 作流执行服务维护一个或者多个工作流引擎( 可以是集中式的或者分布式的) 和工作流控制数据。 流程定义中定义了流程运行过程中所需要的数据,这些数据包括流程走向 信息( 包括并行,选择,顺序节点间的关系) ,引起状态改变所要调用的用户操 作或应用程序的信息等等。流程执行服务将会使用这些信息控制流程执行。如 果流程定义中定义了组织角色相关类型的信息,流程执行服务将根据流程执行 时的请求调用组织角色模型的数据。 工作流相关数据 过程流转控制条件、活动执行等工作流操作控制功能,都是以工作流相关 数据为基础的。工作流相关数据可以是预先定义的过程参数、应用程序产生或 者更新的数据。系统根据它的值、状态等信息决定流程的流向。 ( 5 ) 流程实例表管理器 流程实例表管理器是联系终端用户和工作流执行服务的软件实体,它负责 存储流程实例,并完成与用户操作间的交互。流程实例表管理器既可以作为工 作流产品的一部分提供给用户,也可以由用户自己编写程序来实现。在实际应 用中,一个流程实例表可能展示给用户的是一些信息,这些信息与流程实例当 前的运行状态有关。用户可以通过流程实例表管理器来查看修改流程的运行状 态,指定修改运行时所需要的相关操作的信息。 拍) 工作流监控单元 工作流管理系统对于工作流来说,除过工作流的路由、调度、执行以外, 对于工作流程的管理功能也是它的一个重要方面。工作流监控单元以用户或者 工作站点为基础实行权限管理,不同的权限可以实现不同的监控操作。它的主 要功能有对过程定义进行管理、修改任务分配规则、建立角色与用户影射、跟 踪过程实例的执行过程等。 ( 7 ) 对外接口实现及封装 大部分工作流以产品是基于以上结构实现的,但是也有些产品提供了特殊 西南交通大学硕士研究生学位论文第9 页 的交换接口,也有一些产品将部分功能融合提供给用户。比如有些产品只提供 对流程列表进行操作的接口实现流程定义的功能,而不提供流程定义的接口。 2 1 3w f m c 的参考模型 在工作流参考模型中,w f m c 为了实现不同工作流产品间协同工作,划分 了工作流执行服务器和外部交互的接口方式,形成了5 种接口( 如图2 - 2 所示) , 并且对这5 种接口做了定义【9 l ,如图2 2 所示: 图2 2w f m c 工作流参考模型f l o l ( 1 ) 接口1 是工作流服务和工作流建模工具间接口,包括工作流模型的 读写和解释操作,为不同物理或电子介质之间传递过程定义的信息提供了交互 的形式和定义了a p i 函数,可以实现建模环境和运行环境的分离,可以使多个 工作流产品使用同一类型的过程定义语言和操作方式协同工作。其功能如图2 3 所示: 西南交通大学硕士研究生学位论文第10 页 交换的 其它信息 图2 3 接口1 的功能 ( 2 ) 接口2 ( 客户端函数接e 1 ) 是工作流服务和客户应用之间的接e l , 规定了所有客户端应用与工作流服务之间的功能操作方式。客户端功能是指用 户操作工作流管理系统分配的任务或者活动的功能,由工作流任务表管理器和 用户操作共同完成。根据对任务表处理方式的不同,客户应用与工作流引擎之 间的接口结构方式也是不同的。其功能如图2 - 4 所示: 伊,? 嘉篡薹刚 标准交互接口 1 ,f 等? 。卜。f 被调的置? ,“j ”。一”用户接口。5i 图2 4 接口2 的功能 接口功耗集合 连接,断开 流程控制的功能 改变流程状态的功能 处理流程实例衰的功能 西南交通大学硕士研究生学位论文第1 1 页 ( 3 ) ( 应用程序调用接口) 是工作流引擎和直接调用的应用程序之间的 接口,主要是对自动活动中定义的外部应用的调用处理过程。现代工作流管理 系统接口3 和接口2 的界线已经越来越模糊,基本上已经合并成为一个接口类 别。用图2 5 表示其功能: 标7 隹 交换 a p i 应用程序 与代理之间 交互的接口 ( 不同的应用 有不同的实现) 图2 5 接口3 的功能 ( 4 ) 接口4 ( 工作流引擎间的互操作接口) 是工作流管理系统之间的相 互操作接口,包括工作流过程运行的协作,工作流子过程的调用等分布式工作 流管理系统的工作流引擎之间的操作过程。通过接口4 的定义,目的是建立不 同工作流生产厂家的工作流产品的交互和集成。其功能如图2 6 所示: 。_ _ l _ _ - _ - _ - _ _ - _ _ _ _ _ l _ 调用子流程执行 流程状态控制 应用,工作流相关数据传送 同步协作 流程定义的读写 图2 - 6 接口4 的功能 ( 5 ) 接口5 工作流管理工具:其功能是对工作流管理系统( w f m s ) 中过 程实例的状态进行监控与管理,其功能如图2 7 所示: 西南交通大学硕士研究生学位论文第12 页 其它雷理 图2 7 接口5 的功能 上述五个接口统称为w o r k f l o wa p i ( w a p i ) ,主要是完成功能部件之间以及 工作流引擎之间交互的功能。通过这五个接口,工作流管理系统可以同外部的 软件工具进行交互,这些工具可以由同一厂商提供,也可以由不同的厂商提供, 但前提是这些工具都必须遵循w f m c 的规范。用户也可以有充分的选择空间来 决定哪一厂商的产品,或者自己开发属于哪一个接口的工具。这五个接口一般 通过a p i 的形式提供给用户或软件开发商,这些a p i 称为w a p i ( w o r k f l o w a p i ) ,也有厂商将a p i 封装成组件形式提供,以简化开发难度、降低成本并提 高效率。 2 1 4 工作流管理系统的功能 不同工作流管理系统可以有不同的实现方法,不同的底层通讯机制,应用 的范围也可能有很大的差距,但所有的工作流管理系统从用户的应用层上来看, 通用工作流管理系统应该能够提供三个方面的功能支持【1 0 l ,如图2 8 所示: 西南交通大学硕士研究生学位论文第1 3 页 图2 8 工作流管理系统的功能 ( 1 ) 建造功能 对工作流过程及其组成活动定义和建模。通过使用工作流程分析建模与定 义的工具,将现实中的流程定义为计算机程序可以识别解析的模型,通常这种 模型是以x m l 文档的形式存放。这种计算机识别解析的模型习惯上被称为流 程定义( p r o c e s sd e f i n i t i o n ) 。在流程定义文档中,包含了过程的活动节点、活 动节点间的联系、相关的参与者、调用的外部程序等内容。 ( 2 ) 运行控制功能 在一定的运行环境下,负责创建、执行和控制工作流实例,激活相应的资 源和应用,并完成过程中从一个活动到另一个活动的控制转移。它是整个工作 流管理系统的核心部分。 ( 3 ) 运行交互功能 在工作流实例的运行中,工作流管理系统与工作流参与者( 业务工作的参 与者或控制者) 及外部应用程序进行交互的功能。通常在运行阶段,工作流引 擎需要运行流程定义指定的应用程序和指定参与者进行交互操作,来触发流程 实例状态的改变。 2 2j 2 e e 技术介绍 2 2 1j 2 e e 多层体系结构 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 是用于创建企业级信息系统的j a v a 2 平台企业版木。j 2 e e 技术以j a v a2 平台标准版( j 2 s e ) 为基础,不仅继承了j a v a 西南交通大学硕士研究生学位论文第1 4 页 2 平台标准版中的许多优点如“一次编写、多处运行的平台无关特性,同时 还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) ,j a v as e r v l e ta p i ,j s p ( j a v as e r v e rp a g e s ) 以及x m l 等企业级应用解决方案的全而支持1 1 叭。 j 2 e e 是开发分布式企业软件应用的平台,应用逻辑按功能划分为组件,各 个应用组件根据它们所在的层被分布于不同的物理节点【冽。在j 2 e e 多层企业 级应用中,传统的两层结构被划分为了多层。 事实上,s u n 设计j 2 e e 的初衷正是为了解决两层模式( c l i e n t s e r v e r ) l 拘弊端, 在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次 部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于 某种专有的协议通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非 常困难。现在j 2 e e 的多层企业级应用模型将两层化模型中的不同层面切分成 许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,图2 - 9 展 示了j 2 e e 典型的四层结构【驯。 客户层w e b 层业务层 ! 浏览器i 儿卜;7 圆 儿 厂 厂瓦f 飞 一 队璺型! 壁鹰 入塑! ! 鹰 多厂百孙 l卜 j 广 i s e 0 ;o e j i 窗 一_ j j 囤 刖 一 订 j 2 e e !j 2 e e j 2 e e 气c l i e n t 夕p l a t f o r m p i a f f o r m7 e i s 层 图2 9j 2 e e 四层架构 客户层 运行于客户端机器,用于处理用户和应用程序的交互,并把来自系统的信 息显示给用户。客户层一般是简单的浏览器瘦客户端,也可以是j a v a a p p l e t 和 浏览器组成。 w e b 层 运行于j 2 e e 服务器,产生表示逻辑,并接受来自表示层客户端的用户回馈。 w e b 层主要是有w e b 组件和w e b 容器构成。w e b 容器是组件运行的基本环境, 西南交通大学硕士研究生学位论文第15 页 并提供特定服务。w e b 容器实时处理由j s p 页面和s e r v l e t 发起的请求,并返回 组件处理结果到客户端。 业务层 运行于j 2 e e 服务器,处理应用的核心业务逻辑。业务层是由构建在j 2 s e 之上的e j b 应用组件和容器组成,包括e j b 容器,e j b 组件和实现业务逻辑的 j a v a b e a n 等。e j b 容器给运行与容器中的e j b 组件提供事务处理、状态管理、 容器池缓存以及查找和安全等服务。业务层经常被称作e j b 层,业务层和w e b 层一起构成了j 2 e e 应用的中间层。 e i s 层( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 运行于企业信息系统服务器,这一层是企业的信息系统服务,包括数据库 系统、事务处理系统等。系统层通过j d b c a p i , j n d i 服务等与上层组件通信。 企业信息系统层的主要任务是负责维护企业级数据的完整性、统一性、持久性 以及安全性。 m v c 模式英文即m o d e l v i e w c o n t r o l l e r ,即把一个应用的输入、处理、输 出流程按照m o d e l 、v i e w 、c o n t r o l l e r 的方式进行分离,这样一个应用被分成三 个层模型层、视图层、控制层,j 2 e e 技术即采用了此设计模式【”j 。m v c 与j 2 e e 架构的对应关系是:v i e w 处于w e b 层或者说是客户层,通常是 j s p s e r v l e t ,即页面显示部分。c o n t r o l l e r 也处于w e b 层,通常用s e r v l e t 来实 现,即页面显示的逻辑部分实现。m 0 d e l 处于业务层,通常用服务端的j a v a b e a n 或者e j b 实现,即业务逻辑部分的实现,图2 1 0 是j 2 e e 采用的m v c 模式图: c o n t r o i l e r s e r v l e t 一 l m o d e lv i e w j a v a b e a n 、j d b c 、e j bh t m l 、j s p 图2 1 0m v c 模式图 西南交通大学硕士研究生学位论文第16 页 2 2 2j 2 e e 容器 容器是j 2 e e 基于组件的开发模式中的核心概念。所谓容器,就是指为组件 提供特定服务和技术支持的一个标准化的运行时环境1 4 0 l 。有了标准化的容器支 持,组件就具有了良好的可移植性,能够在任何一个符合j 2 e e 规范的j 2 e e 应 用平台上正常运行并获得相应的底层服务。 j 2 e e 规范定义了以下四种不同的容器为不同类型的组件提供服务【3 8 1 : 1 ) a p p l e t 容器 a p p l e t 容器包括运行在客户机上的w 曲浏览器和j a v a 插件。 应用客户端容器 应用客户端容器运行在客户机上,管理一个j 2 e e 应用中所有应用客户端组 件的执行。 3 ) w e b 容器 w e b 容器是服务器端容器,管理j 2 e e 应用中s e r v l e t 和j s p 组件的执行; 其中的w e b 组件可以调用e j b 容器中的组件来完成复杂的业务逻辑。 钔目b 容器 e j b 容器是服务器端容器,管理运行在其中的e j b 组件。e j b 容器除了为 f _ j b 提供事务处理、目录服务、持久性管理和安全服务外,还负责e j b 的部署、 发布和生命周期管理。 j 2 e e 规范要求任何一个j 2 e e 平台的实现都必须支持容器,但是并没有限 定容器的配置方式。因此,各种容器可以配置在同一个j 2 e e 平台上,也可以 将w e b 容器和e j b 容器分别配置在不同的平台上。 2 3 本章小结 本章主要是介绍本课题所要用到的工作流技术,包括w f m c 的标准体系结 构、参考模型、工作流管理系统的功能,并且研究了j 2 e e 容器和j 2 e e 的多层 体系结构,对每层的作用和实现的技术进行了分析。 西南交通大学硕士研究生学位论文第17 页 第3 章工作流引擎o s w o r k f l o w 的研究 由第二章工作流技术可知,工作流需要依靠工作流管理系统实现。工作流 引擎是工作流管理系统的核心软件部件,也是驱动流程流动的主要部件,它负 责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录 流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯 等等工作。 3 1o s w o r k f l o w 引擎的优势 本文所使用的o s w o r k f l o w 是o p e n s y m p h o n y 组织开发的工作流引擎,目前 的版本是2 8 。o s w o r k f l o w 是完全用j a v a 语言编写的开放源代码的工作流引擎, 具有显著的灵活性及完全面向有技术背景的用户的特点。用户可以根据自身的 需求利用这款开源软件设计简单或是复杂的工作流。通过使用,用户就可以把 工作重心放在业务和规则的定义上,而不需通过硬编码的方式实现一个p e t r i 网或是一个有穷自动机四j 。用户可以以最小的代价把o s w o r k f l o w 整合到自己 的程序中,o s w o r k f l o w 几乎提供了所有用户可能在实际流程定义中需要用到 的工作流构成元素框架,正是因为这些优点,所以本课题研究把它作为研究对 象,并应用于信息管理系统中。 3 2o s w o r k f l o w 引擎的简介 3 2

温馨提示

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

评论

0/150

提交评论