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

下载本文档

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

文档简介

摘要 摘要 工作流自动化对于改善企业业务流程、提高企业核心竞争力的作用是显而易 见的,因此,实施工作流系统成了众多企业信息化所追求的目标,但现代大规模 企业的组织结构、资源结构和业务流程日趋复杂多变,同时信息化时代的企业不 再孤立存在,企业间的交流是频繁而且必要的,跨组织的业务流程也日益增多, 因此探讨能够灵活、方便、高效地实现企业业务的新型工作流技术是很有意义的。 同时,随着计算机技术的发展和企业多元化业务的深化,企业的计算机应用 已经从简单的单个应用程序进入了企业间的多系统信息集成,从计算机网络技术 和软件开发技术看,现今网络环境以分布式异构网络环境为主,软件开发技术则 以松散耦合型和协作型为主,这些网络环境以及软件技术使构建松散耦合型的工 作流系统成为可能。 本文分析了当前的工作流技术特点及工作流管理系统,发现业务流程的封装 粒度小是造成系统难以扩展和强耦合的重要原因,针对现有工作流管理系统柔性 弱、耦合度高、封装粒度小、集成能力差等不足,在当前流行的s o a 架构基础上 给出了基于s o a 架构的工作流模型,该模型阐述使用服务来封装不会改变工作流 系统的特性,然后在此特性上定义服务一工作流映射模型和服务过程网,利用服务 一工作流映射模型来描述使用服务来封装业务逻辑的方法和步骤,并对组织模型和 过程模型分别进行形式化研究:对于组织模型,使用关系代数理论来研究组织模 型在s o a 架构下的特性,说明在s o a 架构下业务建模应该按照角色而不是具体人 员分配任务,并讨论w e b 服务和组织模型的关系:对于过程模型,使用p e t r i 网 理论来描述服务过程网,说明如何使用原子服务和组合服务映射过程模型,同时 通过研究服务过程网对应的p e t r i 网可以得到原流程与分割服务子网或组合服务 子网的保性性质,运用这些性质,可对服务过程网进行结构分析。 另外本文还把上述研究内容运用到电子公文流转系统,分析、设计并实现一 个基于s o a 的、具有集成原人事管理系统能力和松散耦合特性的公文流转系统; 最后总结本文主要的研究工作,分析基于s o a 的工作流系统目前还存在的主要问 题,指出下一步的研究方向。 关键词:工作流管理系统,s o a ,w e bs e r v i c e ,组织模型,过程模型 广东工业大学工学硕士学位论文 a b s t r a c t t h ee f f e c t so f w o r k f l o wa r eo b v i o u st h a ti ti m p r o v e se n t e r p r i s e s b u s i n e s sf l o wa s w e l la se n h a n c e se n t e r p r i s e s c o m p e t i n ga b i l i t y s ow o r k f l o wh a sb e e nt h em a i nt a r g e t i n e n t e r p r i s e s i n f o r m a t i o nc o n s t r u c t i o n h o w e v e r ,a st h eo r g a n i z a t i o ns t r u c t u r e s , r e s o u r c es t r u c t u r e sa n db u s i n e s sp r o c e s s e so ft h el a r g e s c a l em o d e me n t e r p r i s e sa r e c o m p l e xa n dc h a n g e a b l e ,e n t e r p r i s e si nt h ei n f o r m a t i o na g ed on o te x i s ti ni s o l a t i o n , c o m m u n i c a t i o n sa n dt h eb u s i n e s sp r o c e s s e sb e t w e e ne n t e r p r i s e sa r en e c e s s a r ya n d f r e q u e n t ,i ti sm e a n i n g f u la n dp r o m i s i n gt os t u d yan e wk i n do fw o r k f l o wt oc r e a t e e n t e r p r i s eb u s i n e s sp r o c e s s e sf l e x i b l y a tt h es a m et i m e ,w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n de n t e r p r i s e d i v e r s i f i c a t i o n , c o m p u t e ra p p l i c a t i o n si ne n t e r p r i s e sa r en ol o n g e rs i m p l ea p p l i c a t i o n s b u ts y s t e mi n t e g r a t i o n s f r o mt h ev i e wo fc o m p u t e rn e t w o r kt e c h n o l o g ya n ds o r w a r e d e v e l o p m e n tt e c h n o l o g y , t h ec u r r e n tn e t w o r ki sd i s t r i b u t e da n dh e t e r o g e n e o u sa n dt h e t r e n do ft h es o f t w a r ed e v e l o p i n gt e c h n i q u ei sl o o s ec o u p l i n ga n dc o o p e r a t i o n , w h i c h m a k ei tp o s s i b l et oc o n s t r u c tal o o s e l yc o u p l e dd i s t r i b u t e dw o r k f l o ws y s t e m a tf i r s t ,t h e p a p e ra n a l y z e ss o m em a i nf e a t u r e sa b o u tt h ec u r r e n tw o r k f l o w s y s t e m s ac o n c l u s i o nc a ne a s i l yb ed r a w nt h a tt h es m a l ls i z eo fe n c a p s u l a t i o ni st h e m a i nc a u s eo ft h ea b s e n c eo ff l e x i l i t yi ns y s t e m t h e na i m i n ga tt h ep r o b l e mo ft h e a b s e n c eo ff l e x i l i t y , h i g hc o u p l i n ga n db a di n t e g r a t e da b i l i t yi nw o r k f l o ws y s t e m , a n e wk i n do fw o r k f l o wm o d e lb a s e do ns o ai sg i v e n i nt h ew o r k f l o wm o d e l , s e r v i c e s w o r k f l o wm a p p i n gm e t h o d sa n ds t e p sa r ed e s c r i b e d m e a n w h i l e ,i tg i v e st h e f o r m a l i z a t i o n d e s c r i p t i o n s o fo r g a n i z a t i o nm o d e la n d p r o c e s sm o d e l :a s f o r o r g a n i z a t i o nm o d e l :s o m ep r o p e r t i e sa b o u to r g a n i z a t i o nm o d e li ns o a a r es t u d i e db y u s i n gr e l a t i o n a la l g e b r at h e o r y i tc o n c l u d e st h a to r g a n i z a t i o nm o d e li se n c a p s u l a t e db y w e bs e r v i c e s ,w h i c hc a nr e d u c et h ec o n f l i c td o m a i n s a sf o rp r o c e s sm o d e l :s e r v i c e p r o c e s sn e ti si n t r o d u c e db yu s i n gp e t r in e tt h e o r y , w h i c hd e s c r i b e sh o wt om a pt h e p r o c e s sm o d e lo nt h eb a s i co fa t o m i cs e r v i c e sa n dc o m p o s i t i v es e r v i c e s m e a n w h i l et h e p r e s e r v a t i o no fp r o p e r t i e sa b o u ts e r v i c ep r o c e s sn e t i sg i v e n , w h i c hc a nb ea p p l i e dt o a n a l y z et h es o n s t r u c t i o no fs e r v i c e p r o c e s sn e t i na d d i t i o n ,t h ea b o v e m e n t i o n e dm o d e l s ,m e t h o d sa n ds t e p sa r ea p p l i e dt oa n a b s t r a c t e l e c t r o n i co f f i c i a ld o c u m e n ts y s t e m f i n a l l y , m a k eas u m m a r yo ft h i sp a p e r sm a i n r e s e a r c hc o n t e n ta n dp o 缸o u ts o m ee x i s t e dp r o b l e m si nc u r r e n tm o d e la n dt h en e x t w o r ko f r e s e a r c h k e y w o r d s :w o r k f l o w , s o a , w e bs e r v i c e ,o r g a n i z a t i o nm o d e l , p r o c e s sm o d e l i 独创性声明 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 6 5 指导教师签字: 论文作者签字: 年月日 第一章绪论 第一章绪论 1 1 论文的研究背景及意义 一百多年前,泰勒首次提出业务流程的重要性后,西方管理学者和i t 专家 就再也没有停止过对工作流的思索与实践的步伐。上世纪9 0 年代中期,以w f m c ( 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 , 工作流管理联盟) 为代表的国际工作流组织 初步提出了工作流管理系统的概念和理论标准,成为国内外工作流产品的理论基 础与语义描述规澍1 1 。 在w f m c 描述规范中,工作流( w o r k f l o w ) 就是工作流程的计算模型,即 将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模 型进行表示并对其实施计算。工作流需要解决的主要问题是:为实现某个业务目 标,在多个参与者之间,利用计算机,按预定规则自动传递文档、信息或者任务。 w t t v l s ( w o r k f l o wm a n a g e m e n ts y s t e m , 工作流管理系统) 主要功能是通过计算 机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作流之间以 及群体成员之间的信息交互,工作流需要依靠工作流管理系统来实现【2 】o 目前,从企业应用工作流管理系统的角度看,作为企业经营过程重组与过程 自动化的一种手段,工作流技术着眼于协调企业资源,自动化企业业务流程,高 效完成企业业务目标,然而现代大规模企业,其组织结构、资源结构和业务流程 日趋复杂多变;同时信息化时代的企业不再可能孤立存在,企业间的交流必要而 频繁,跨组织的业务流程日益增多。传统的工作流模型将业务过程与企业资源绑 定,业务模型与组织和资源模型结合过于紧密,不适应企业的动态变化和发展的 要求;传统的工作流管理系统一般限于企业内部,对跨组织的工作流支持不够。 因而从企业应用的角度看,探讨能够灵活、方便、高效地实现企业业务的新型工 作流技术手段是很有必要的。 再从计算机网络技术和软件开发技术的发展和趋势看,研究基于新型网络和 使用更灵活、可复用以及具有松散耦合度的软件体系结构来实现工作流管理系统 也是十分必要的。 广东i :业大学工学硕士学位论文 首先,早期的工作流着眼于某些特定领域的、相对独立的应用系统,采用的 是“集中式 的模式,工作流平台以一台服务器为中心,服务器负责管理所有的 任务,包括流程的定义、流转和监控等。进入2 0 世纪9 0 年代,随着计算机与网 络技术的迅速发展,特别是在i n t e m e t 应用日益普及和网格技术快速发展的情况 下,现代企业信息系统的分布式、异构性和自治性的特征越来越显著,相应的企 业信息资源也分布在异构的计算机环境中,信息源之间的连接表现出松散耦合的 特点,这种特点说明集中式信息处理的时代己经过去,实现大规模的异构分布式 执行环境,使得相互关联的任务能够高效运转、并接受密切监控已成为一种趋势。 在这样分布式、异构的环境下工作流管理系统也由最初的创建无纸办公环境,转 而成为同化企业复杂信息环境、实现业务流程自动执行的必要工具,这种转变表 明要完成不同应用系统的集成、不同组织人员的协作并最终实现经营过程运作的 自动化与高效率,所采用的工作流管理系统必然要具有分布式的特点。因此从网 络技术发展看,研究基于分布式网络的工作流管理系统是有必要的。 另外,从软件体系结构和软件开发技术的发展趋势看,软件体系结构经历了 结构化模型、客户端n 务器架构、三层或多层架构、分布式对象、面向组件构 件等几个主要的阶段,由此可见,软件体系结构的发展就是人们不断追求更高的 抽象、封装和模块化的过程,现在伴随着大规模企业级应用的不断发展,为了解 决异构性、互操作性和不断变化的需求等问题,一种更新颖的软件体系架构应运 而生s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ,面向服务的体系架构) ,它是基于 面向对象技术和面向组件技术之上更高级别的抽象,具有如下几点关键特性【3 】: 1 ) 服务是可发现和动态绑定的; 2 ) 服务是自包含和可模块化的; 3 1 服务的互操作性; 钔服务是松散耦合的; 5 ) 服务有网络寻址的接口; 6 ) 服务有大粒度的接口; 7 ) 服务位置的透明性; 8 ) 服务有自恢复功能; 9 ) 服务具有可组合性。 由s o a 以上特征看,s o a 与现今网络以及软件开发技术的发展是密不可分 2 第一章绪论 的,因此从软件体系结构和软件开发技术的发展趋势看,研究基于s o a 的工作 流管理系统是很有现实意义的。 综上所述,无论是从企业应用工作流管理系统的角度还是从目前计算机网络 技术和软件开发技术的发展和趋势看,研究基于s o a 的工作流管理系统都是有 意义和有必要的。 1 2 本文的主要工作 本文研究的主要工作包括: 1 阐述当前工作流及s o a 的概念、现状及其所使用技术,探讨s o a 架构 的技术和优点,并指出当前工作流系统的不足之处; 2 针对当前工作流的不足之处,结合s o a 的技术和特点,给出使用服务 来封装工作流的模型,提供相应的封装原则和开发流程; 3 在使用服务封装工作流的模型基础上,分别对组织模型和过程模型进行 形式化描述,应用关系代数理论和p e t r i 网理论研究组织结构模型和过 程模型中的特性,运用这些特性,可以对服务过程网进行结构分析; 4 把研究内容应用到公文流转系统,分析、设计和实现一个基于s o a 的、 具有松散耦合特性的公文流转系统。 1 3 论文的组织结构 第一章绪论部分。介绍论文的研究背景及研究的意义,对论文的主要研究 工作和组织结构做了说明。 第二章工作流技术概述。介绍工作流及工作流管理系统,对现有的工作流 管理系统进行分类,并对其进行分析,指出现有工作流管理系统的不足之处和解 决思路。 第三章面向服务体系结构( s o a ) 研究。介绍s o a 的概念、基本框架以及 关键技术,分析使用面向服务体系结构的优点。 第四章s o a 架构下的工作流模型。在s o a 原则和关键技术指导下,阐述 如何使用服务来对工作流系统进行大粒度的封装,给出封装过程流程,然后逐步 广东工业大学工学硕十学位论文 对组织模型和过程模型进行形式化描述,讨论服务与组织模型、过程模型两大模 型的关系及行为特性。 第五章应用实例。在服务封装工作流模型的基础上,分析、设计并实现一 个公文流转系统,进一步来求证模型的有效性和可行性。 第六章总结和展望。回顾和总结本文所做的工作,结合目前的研究情况, 指出进一步的研究工作和方向。 4 第二章i :f r 流技术概述 第二章工作流技术概述 2 1 工作流基本概念 工作流技术的历史可以追溯到上个世纪7 0 年代末的办公自动化和任务批处 理,第一次使用工作流术语可追溯到8 0 年代初,1 9 9 3 年,w f m c 的成立标志着 工作流技术开始进入相对成熟的阶段【1 l 。工作流是针对工作中具有固定程序的常 规活动而提出的一个概念,是作为一种面向过程的系统集成技术而出现的,它通 过将工作活动分解成定义良好的活动、角色、规则和过程来进行执行和监控,达 到提高生产组织水平和工作效率的目的,因此工作流技术为企业更好地实现经营 目标提供了先进的手段【2 】。 、。 工作流所关注的问题是处理过程的自动化,它根据一系列定义的规则,把文 档、信息或任务在参与者之间传递,以达到某种目的【1 】【2 1 。根据w f m c 的定义, 工作流是一个全部或者部分,由计算机支持或自动处理的业务过程。工作流技术 是实现企业业务过程建模、业务过程仿真分析、业务过程优化、业务过程管理与 集成,最终实现业务过程自动化的核心技术【2 】,企业利用工作流进行业务过程的 建模和深入分析不仅可以规范企业的业务流程,发现业务流程中的不合理的环 节,进而对企业的业务过程进行优化重组,而且所建立的业务过程模型本身就是 企业非常重要的知识库和规则库,可以成为指导企业实施计算机管理信息系统的 模型。在深入分析企业需求基础上建立的企业业务模型可以在最大程度上提高企 业实施e r p 或者其它管理信息系统的成功率。一般地,在建立工作流模型时,应 使工作流模型包含三个方面的信息,对应于三个子模型【4 】: 1 ) 组织模型( o r g a n i z a t i o nm o d e l ) :描述了组织内部各个实体及其相互关系; 2 ) 数据模型( d a t am o d e l ) :描述了业务过程所访问的数据及其视图; 3 ) 过程模型( p r o c e s sm o d e l ) :描述了业务过程结构中的各种实体及其约束 关系( 包括控制流和数据流) 。 2 2 工作流参考模型 1 9 9 5 年,w f m c 发布t - f 作流参考模型 2 1 ,如图2 1 所示,参考模型确定 5 广东工业大学i :学硕十学位论文 了5 个标准接口和各种组件,至此,工作流管理系统有了一个国际标准。 图2 1 工作流参考模型一组件和接口 f i g u r e2 。1w o r k f l o wr e f e r e n c em o d e l 。c o m p o n e n t s & i n t e r f a g e $ 工作流参考模型的主要模块包括五个接口和六个组件。 1 、五个标准接口 接口一:过程定义输入输出接口,它是工作流服务和工作流建模工具之间的 接口,包括工作流模型的解释和读写操作; 接口二:客户端函数接口,它是工作流服务和客户应用之间的接口,这是最 主要的接口规范,它约定所有客户方应用与工作流服务之间的功能操作方式; 接e l - - - :激活应用程序接口,它是工作流服务和直接调用的应用程序之间的 接口; 接口四:工作流执行服务之间的互操作接口; 接口五:管理系统和监控接口: 2 、六个组件 1 ) 过程定义工具:称为建模工具。用于分析,建模,描述业务过程,使其 能够被计算机处理,整个过程定义由设计活动开始至输出过程模型结束。 2 ) 工作流引擎:为流程实例提供运行环境并解释执行流程实例的软件部件。 3 ) 客户应用:在工作流模型中,通过客户端应用程序与工作流引擎间定义 良好的接口进行交互。 4 ) 被调应用:是被工作流执行服务调用的应用,调用应用同工作流执行服 6 第二章工作流技术概述 务交互。 5 ) 工作流执行服务:工作流执行服务是由一个或多个工作流引擎构成的软 件服务器,用来创建、管理、执行工作流实例,它的主要职责是为过程 实例和活动提供运行环境,负责解释和激活过程定义,与过程所需的外 部资源进行交互。 6 ) 管理监控工具:主要指组织机构、角色等数据的维护管理和流程执行情 况的监控工具,可以用来管理其它工作流引擎的运行,通过公共接口, 几个不同的工作流执行服务器之间可以共享、管理和监视。 2 3 国内外研究现状 随着计算机应用的不断成熟,工作流技术在当今曰益增长的企业级软件开发 中显得越来越重要,目前,根据不同工作流管理系统所采用的任务项传递机制, 工作流产品可以划分为四类【1 】: 1 ) 基于文件的工作流管理系统:以共享文件的方式来完成任务项传递,其 特点是工作流管理系统往往具备良好的文件管理能力。 2 ) 基于消息的工作流管理系统:通过用户的电子邮件系统来传递文档信息, 这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。 3 ) 基于w e b 的工作流管理系统:通过i n t e m e t 来实现任务的协作。这一类 产品起步较晚( 在1 9 9 5 年以后) ,但是发展迅速,许多供应商纷纷改进 原有产品或开发新产品以增加对w e b 的支持。 4 ) 群件与套件系统:这一类产品都需要依赖于自己系统的应用基础结构, 它们本身就构成了一个完整的应用开发环境。 近年来,随着网络技术的发展,工作流技术在不断发展,国内外许多研究机 构开展了大量的研究,比较传统工作流技术的有i b m 公司a l m a d e n 研究中心开 发的基于持久消息队列的分布式工作流管理系统e x o t i c a f m q m 5 1 、佐治亚大学 计算机系研究开发的具有自适应能力的工作流管理系统m e t e o r 6 1 、基于分布式主 动数据库技术的工作流管理系统w i d e 7 】、达特茅斯大学开发的基于可移动代理 的工作流系统d a r t f l o w 8 1 、苏黎世大学的基于事件工作流运行服务平台e v e 9 1 、 基于状态和活动图的工作流管理系统m e n t o r m 】、瑞士联邦科技学院的w i s e 项 目 i h 、清华大学研究开发的用于集成制造的工作流管理系统c i m f l o w 1 2 】、西北 7 广东工业大学工学硕士学位论文 大学软件工程研究所开发的基于信牌驱动式工作流计算模型【1 3 】等。 然而,企业对工作流的需求不是一成不变的,随着企业规模的不断扩大,其 业务过程往往涉及到不同地域的组织、资源,现在多个组织希望能共同参与一个 共享的业务过程,涉及多组织的业务过程的数量在不断增长,因此具备松散耦合 特性的跨组织分布式工作流成了关注的焦点。文献 1 4 ,1 5 ,1 6 主要是使用了 a g e n t 技术来研究分布式工作流,使得工作流具备初步的学习能力以适应变化的 环境;文献1 1 7 ,1 8 使用w e b 服务来开发工作流,从而使系统获得一定的扩展性; 文献 1 9 1 提出了一种面向用户需求的服务工作流构造模型,依据工作流的业务逻 辑关系形成业务生成图。虽然这些研究取得了一些成果,但是还没能适应不断变 化的企业业务需求。 如今,s o a 架构和w e b 服务技术日益成熟,这为跨组织的复杂业务过程管 理提供了一种新型的解决方案,如何在s o a 架构和w e b 服务技术基础上管理分 布的松散耦合的业务过程,并且创建支持这种过程管理的工作流管理系统依然是 当前工作流领域的研究热点。 2 4 存在问题及解决思路 尽管目前工作流技术已经逐步发展起来,并取得了相当的成果,但从实际应 用状况看还存在如下不足之处,现从模型、体系结构、标准化以及企业业务流程 四个层次来分析。 1 ) 面向文档或面向任务模型。传统工作流系统一般依赖面向文档或面向任 务的模型,这使得工作流管理系统具备强大的文档管理能力,但同时也 把传统工作流系统局限在以面向文档或面向任务为主的管理过程上。随 着管理理念的发展,这种粗糙管理思想就显得苍白,尤其是跨组织、虚 拟组织等新型组织模型的出现,同时业务流程与外部i t 系统集成时,现 有工作流的不足就更加明显。 2 ) 体系结构。工作流的设计目标是解决共享和协作的问题,最初的产品应 用在小群体和小工作量的环境下,这样在体系结构的设计中就存在着固 有的局限性,比如单数据库、对通信支持不足、由异构引起的问题等。 3 ) 标准化。尽管工作流管理联盟付出了很大努力进行工作流的标准化,但 是目前己有的工作流系统几乎完全互不兼容,不仅是在平台上,而且在 8 第二章_ 1 :作流技术概述 过程定义和过程的解释执行等方面都不能兼容。这是因为在有力的标准 化工作之前,工作流系统的开发就己开始,为了满足各种工作需求而采 用了不同的方法和体系结构,由于缺乏公共的工作流执行模型,互操作 只是局限于集成一个组织内部的多个工作流引擎,而不是支持跨多个组 织边界部署。 4 ) 企业业务流程。传统工作流系统管理的是从一个参与者流向另一个参与 者的单个过程,而不是一组互相协作的过程。这种将手工密集过程流水 线化的方法非常简单,但不能反映由多个独立管理的部门组成的商业组 织,也不能反映组织与外部参与者( 供应商、合作伙伴、客户) 的关系。 从上面分析不难看出,工作流在模型、体系结构、标准化以及企业业务流程 等四方面存在的不足之处都集中体现了工作流引擎的三大缺陷:业务流程柔性支 持差、系统集成能力差以及现有工作流系统都普遍存在“信息孤岛”现象。其实, 从工作流参考模型分析可知,五个接口与六个组件天生具备了松散耦合特性,六 个组件通过五个接口进行通信、协调来完成相关任务,而现在,除了过程定义工 具和接口一具备这种松散耦合特性外,其他的组件和接口在这方面仍然有待加 强,因此业务流程柔性支持比较差;同时现有工作流引擎与使用该工作流引擎开 发的系统之间是强耦合关系,而且现有工作流过分强调每一个流程的细节,因此 造成系统集成能力不足;另外,系统封装的不完善、弱交互性以及弱扩展性造成 了信息孤岛现象。上述缺陷都根源于技术对业务流程的封装,若封装粒度较小就 难以实现工作流模块和系统的松散耦合,因此,本文认为:业务流程的封装粒度 小是造成工作流系统难以扩展和强耦合的重要原因。 基于上述认识,在企业业务和技术两个方面发展合力的促使下,工作流管理 系统需要不断演进和发展,要满足当前的业务需求,工作流管理系统必须采用新 的技术,实现新的特征。因此,本课题拟采用s o a 体系结构、理论以及大粒度 的服务封装方法来研究这些问题。 9 广东i :业大学工学硕士学位论文 第三章面向服务体系结构( s o a ) 研究 从上一章中可知,业务流程的封装粒度小是造成工作流系统难以扩展和强耦 合的重要原因,因此需要寻找能进行大粒度封装的技术以及建立在大粒度封装原 则上的体系结构来研究工作流技术,本文采用的是面向服务的技术以及相应的体 系结构,以下简要介绍s o a 的概念和关键技术。 3 1s o a 概述 随着信息技术的发展,特别在计算机网络和i n t e r n e t 的时代出现了大量基于 网络的大型分布式应用系统。随着公司业务的不断发展,对资源、数据的集中, 决策支持统一的要求越来越急迫,需要将现有的多个应用系统进行集成和整合; 另一方面随着业务的快速变化,企业要应对竞争的新要求,需要不断更新业务流 程和应用模式,建设新的应用系统,从技术上要求新的应用系统能快速搭建并实 施,需要能够做到“随需应变”,由此面向服务的架构( s o a ) 应运而生【2 0 1 。 3 2s o a 基本概念 现在业界对s o a 的认识和实践都在做积极的探讨,所以对s o a 的定义也存 在不同的理解: s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务间彼此 通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某 些活动,服务问需要某些方法进行连接。所谓服务就是精确定义、封装完善、独 立于其它服务所处环境和状态的函数。 【2 l 】 l o o s e l y c o u p l e d c o m 将s o a 定义为:“按需连接资源的系统。在s o a 中, 资源被作为可通过标准方式访问的独立服务,提供给网络中的其它成员。与传统 的系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系。”【2 2 】 g a r t n e r 则将s o a 描述为:“客户端服务器的软件设计方法,一项应用由软 件服务和软件服务使用者组成s o a 与大多数通用的客户端服务器模型的不 同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”1 2 3 1 1 0 第二章山i i 川服务体系结构( s o a ) 研究 虽然定义有所差别,但是能从不同方面反映出了s o a 的一些关键特性: 1 s o a 是一种软件体系结构j x l 格。 2 ) 服务是对s o a 体系结构系统的关键抽象,服务与具体实现无关。 3 ) 松散耦合是s o a 体系结构元素关系的重要约束。 由于s o a 具备这样的特性,所以在系统中采用s o a 可以极大地提高系统的 柔性和可重用性。 在s o a 架构中,服务是核心的抽象手段,业务被划分为一系列大粒度的业 务服务和业务流程。业务服务相对独立、自包含、可重用,由一个或者多个分布 的系统所实现,而业务流程由服务组装而来。一个“服务”定义了一个与业务功 能或业务数据相关的接口,以及约束这个接口的契约,接口和契约采用中立、基 于标准的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言, 这使得构建在不同系统中的服务可以以一种统一的和通用的方式进行交互、相互 理解,除了这种不依赖于特定技术的中立特性,通过服务注册库来支持动态查询、 定位、路由和中介的能力,使得服务之间的交互是动态的,位置是透明的。正是 技术和位置的透明性,使得服务的请求者和提供者之间高度解耦,这种松散耦合 系统的好处有两点:一是它适应变化的灵活性;二是当某个服务的内部结构和实 现逐渐发生改变时,不影响其它服务。 s o a 架构带来的另一个重要观点是业务驱动,即计算机技术和业务流程间 更加紧密地对齐,以大粒度的业务服务为基础来对业务建模,会产生更加简洁的 业务和系统视图;以服务为基础来实现的系统更灵活、更易于重用、更好地应对 变化;以服务为基础,通过显式地定义、描述、实现和管理业务层次的大粒度服 务( 包括业务流程) ,提供了业务模型和相关技术实现之间更好的“可追溯性”, 减小了它们之间的差距,使得业务的变化更容易传递到信息系统。 3 3s o a 的基本框架 s o a 的基本体系架构由服务提供者、注册机制、服务消费者和服务契约等 四部分组成【2 4 】: 1 服务提供者( s e r v i c ep r o v i d e r ) 服务提供者是一个可通过网络寻址的实体,它接受和执行来自消费者的请 求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现 广东工业大学工学硕士学位论文 和访问该服务。它主要实现以下功能: 1 ) 定义可提供的服务功能; 2 ) 设计并实现这些功能; 3 ) 用w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,网络服务描述语言) 描 述这些服务,并用u d d i ( u n i v e r s a ld e s c r i p t i o n , d i s c o v e r ya n d i n t e g r a t i o n ,统一描述、发现与集成服务) 在服务注册表项中发布 w s d l 文档。 2 注册机制( r e g i s t e r ) 服务注册机制是一个包含服务的网络寻址目录,它接收并存储服务契约的实 体,以便服务消费者定位服务。主要实现以下功能: 1 ) 增加、删除或修改已发布服务提供的服务数据; 2 ) 按用户的请求从注册表中查询服务数据。 3 服务消费者( s e r v i c ec o n s u m e r ) 服务消费者可以是一个请求服务的应用、服务或者其它类型的软件模块,它 从注册机制中定位其需要的服务,并通过传输机制来绑定服务,然后通过传递契 约规定格式的请求来执行服务功能。该模块主要完成以下功能: 1 ) 发现提供所需服务的w s d l 文档,通常使用访问服务注册表项来实 现; 2 ) 在w s d l 的基础上,通过s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简 单对象访问协议) 协议来与要访问的服务通信。 4 服务契约( c o n t r a c t ) 服务契约是服务消费者和服务提供者间交互方式的规范,指明了服务请求和 响应的格式。 在s o a 基本框架中,服务的提供者与服务的消费者是彼此分开的,注册机 制中的服务信息位于两者之间,它将服务提供者所提供的服务按一定的标准组织 并分类,并向消费者发布服务接口,消费者使用查询功能发现提供者。服务提供 者与服务消费者通过事先定义好的契约进行交互。其基本框架图如图3 1 所示: 1 2 第三章面向服务体系结构( s o a ) 研究 3 4s o a 关键技术 3 4 1x m l 技术 务 务 图3 1s o a 基本框架 f i g u r e3 - 1t h eb a s i cf r a m e w o r k o fs o a x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 是一种平台无关 的表示数据的方法。因为x m l 是建立在基于标记技术基础之上的,所以使用 x m l 创建的数据可以被任何应用程序在任何平台上读取,甚至可以通过手动编 码来编辑和创建x m l 文档,它具备如下语言特性: 1 ) 可扩展性:x m l 在两个意义上是可以扩展的。首先,它允许开发者创建 他们自己的d t d ( d o c u m e n tt y p ed e f m i t i o n ,文档类型定义) 和s c h e m a 模式,有效地创建可被用于多种应用的可扩展标志集。其次,使用几个 附加的标准,开发者可以对x m l 进行扩展,这些附加标准可以向核心 的x m l 功能模块集增加样式、链接和参照能力。企业可以用x m l 为电 子商务和供应链集成等应用定义自己的标记语言,作为该领域信息共享 和数据交换的基础。 2 ) 互操作性:x m l 可以在多种平台上使用,而且可以用多种工具进行解释。 因为文档的结构是相容的,所以解释它们的语法分析器费用较低。x m l 支持用于字符编码的许多主要标准,允许它在全世界许多不同的计算环 境中使用。 3 ) 开放性:x m l 标准本身在w r e b 上是完全开放的,可以免费获得。其文 档自己也较为开放,任何人都可以对一个结构良好的x m l 文档进行语 1 3 广东工业大学工学硕士学位论文 法分析,如果提供了d t d 和s c h e m a ,则还可以校验这个文档。 4 ) 灵活性:x m l 提供了一种结构化的数据表示方式,使得用户界面和结构 化数据分离。在x m l 中可以使用样式表,另外,x m l 文档事件的超链 接功能由独立的m l i n k 来支持。 5 ) 自描述性:x m l 文档通常包括一个文档类型声明,因而x m l 文档是自 描述的。x m l 文档中的数据可以被任何能够对x m l 数据进行解析的应 用所提取、分析和处理,并以所需的格式显示。用x m l 表示数据真正 做到了数据独立于应用系统,并且这些数据能够被重用。 6 ) 简单性:与s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标 志语言) 相比,x m l 简单、易学、易用且易实现,此外,x m l 采用u n i c o d e 字符编码系统,从而支持几乎所有主要语言,并且不同语言的文本可以 在同一文档中混合使用,支持x m l 的软件能处理所有这些语言的任何 组合。因此x m l 使得信息交换可以跨越民族和文化的界限。 下面简单介绍一下x m l 技术的相关标准。 1 x m l 名称空间( n a m e s p a c e ) :用于在一个全局命名系统中对元素进行定 位。x m l 是可扩展的,但是,如果使用不当,可扩展性会带来一系列问题。因 为x m l 允许用户进行自由地定义标志,这样同一个标志也许就有了不同的含义。 为了识别x m l 元素,必须声明名称空间,这个声明将u r i ( u n i f o r mr e s o u r c e i d e n t i f i e r ,统一资源标识符) 跟前缀联系起来,并把该前缀放在元素前面进行元素 的识别。 2 d t d 和x m ls c h e m a :d t d 和x m ls c h e m a 模式用来验证x m l 文档的 合法性。d t d 比较成熟,但没有数据类型的概念、不支持命名空间、不支持继 承和子类等面向对象的技术、不适合数据交换和应用集成等缺点,因此w 3 c 开 发了x m ls c h e m a ,它使用x m l 语法,并专门为了x m l 文档编写,适合数据 交换和企业应用集成。 3 x l l :x l l ( e x t e n s i b l el i n kl a n g u a g e ,可扩展链接语言) 包括x l i n k ( x m l l i n kl a n g u a g e ,x m l 链接语言) 和x p o i n t e r ( x m lp o i n t e rl a n g u a g e ,x m l 指 针语言) 。该标准用于提供一种在文档间建立关联和超链接的机制,它们都是 x m l 语法写成,其中x l i n k 定义了一个文档如何与另一文档相关联,x p o i n t e r 定义了文档的各部分如何寻址。 1 4 第三章面向服务体系结构( s o a ) 研究 3 4 2w e b 服务 w e b 服务【2 6 】是自包含的、基于网络的、分布式的模块化组件,它执行特定 的任务,遵守具体的技术规范,这些规范使得w e b 服务能与其它兼容的组件进 行互操作。w e b 服务可以在网络( 通常为w e b ) 中被描述、发布、查找以及调用, 它是由企业发布的完成商务需求的在线应用服务,其它公司或应用软件能够通过 i n t e m e t 来访问并使用这项应用服务。w e b 服务可以是独立的,也可以连接在一 起向外部世界提供更强大的系统功能。 w e b 服务的一个主要思想,就是未来的应用将由一组服务组合而成。只要两 个等同的服务使用统一标准和中性的方法在网络上发布信息,那么从理论上说, 一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的服务之中选出 一个。除此之外,一些服务允许在机器之间复制,因而可以通过把有用的服务复 制到本地储存库,来提高运行在特定的计算机上的应用程序的性能。 w e b 服务反映了一种新的面向服

温馨提示

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

评论

0/150

提交评论