已阅读5页,还剩79页未读, 继续免费阅读
(计算机应用技术专业论文)企业应用集成关键技术——web服务组合引擎研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业应用集成关键技术w e b 服务组合引擎研究与实现 摘要 互联网正在发生着重大的变化。随着电子商务和b 2 b 应用的发展和 需求的加深,为了在激烈的竞争中生存下来,许多企业和组织迅速将其 核心业务作为一组w e b 服务发布到互联网上,因此企业应用系统要求可 以在互联网环境下进行企业间的应用互操作和应用集成,并且能够依据 新的需求,快速、灵活地集成各种已有的和新添置的业务应用系统,使 得它们可以有机地协同提供服务。w e b 服务组合已成为当前研究的热点。 本文的研究以w e b 服务组合为中心,引入工作流技术,使用p e t r i 网表示工作流模型,将工作流和w e b 服务技术组合起来,设计并实现一 个面向w e b 服务组合语言的通用的w e b 服务组合引擎一w e bs e r v i c e w e a v e r 。 本文的研究重点是对w e b 服务组合模型和w e b 服务组合引擎实现机 制的研究。在对w e b 服务组合技术、概念与模型等相关基础知识介绍之 后,提出w e bs e r v i c ew e a v e r 引擎架构;基于工作流技术,采用p e t r i 网来对w e b 服务组合进行建模分析,定义一种新的流程定义语言,并用 其描述w e b 服务组合的业务流程行为。最后,详细介绍w e bs e r v i c e w e a v e r 引擎的三个关键算法;流程推进算法、t o k e n 维护算法和工作流 模式实现算法。 关键词:企业应用集成,服务组合,工作流,p e t r i 网,w e b 服务 ar e s e a r c ha n di m p l e m e n to fw e bs e r v i c e s c o m p o s i t i o ne n g i n e t h ek e yt e c h n o l o g yo fe n t e r p r i s e a p p l i l c a t i o ni n t e g r a t i o n a b s t r a c t t h eh l t c 棚e ti sg o i n gt h r o u g hs e v e r a lm a j o rc h a n g e s w i t ht h ea d v e n t a n dt h ep o p u l a r i z a t i o no fb u s i n e s s - t o - b u s i n e s sc o m p u t i n g ,e n t e r p r i s e sp u t f o r w a r dm o r ed e m a n dt o w a r dd y n a m i ci n t e g r a t i n gv a r i o u sa p p l i c a t i o n sa n d s e r v i c e so v e rt h ei n t o r n e t t h ed y n a m i cn a t u r eo fb u s i n e s sa p p l i c a t i o n so v e r t h ei n t e m e tr e q u i r e st h a td i s t r i b u t e db u s i n e s ss e r v i c e sb e d y n a m i c a l l y c o m p o s e dt om e e tt h eu s e r sd e m a n d w e bs e r v i c e st e c h n o l o g yi sq u i t e p r o m i s i n gf o rb u s i n e s sa p p l i c a t i o ni n t e g r a t i o na n ds e r v i c ec o m p o s i t i o n n o w w e bs e r v i c e sc o m p o s i t i o ni sah o tr e s e a r c ht o p i c t h et h e s i sf o c u s e so nw e bs e r v i c e sc o m p o s i t i o n t h i sp a p e ri n t r o d u c e s w o r k f l o wt e c h n o l o g ya n du s e sp e t r in e tt ow o r k f l o wm o d e l c o m b i n i n g w o r k f l o ww i t hw e bs e r v i c e s ,aw e bs e r v i c e sc o m p o s i t i o ne n g i n e ,w e b s e r v i c ew e a v e r , w a sp r o p o s e d t h em a i nc o n t e mo f t h i st h e s i si st h em o d e lo f w e bs e r v i c e sc o m p o s i t i o n a n dt h ei m n l 锄e 删m e c h a n i s mo fw e bs e r v i c e sc o m p o s i t i o ne n g i n e a f t e r i n t r o d u c i n gt h er e s e a r c hb a c k g r o u n d ,t h et h e s i sp u t sf o r w a r dt h ea r c h i t e c t u r e o fw e bs e r v i c e sc o m p o s i t i o n t h e nt h et h e s i st a k e sa d v a n t a g eo fp e t r in e tt o m o d e la n da n a l y z ew e bs e r v i c e sc o m p o s i t i o nb a s e do nt h ew o r k f l o w t e c h n i q u e , a n dd e f i n e san e wp r o c e s sd e f i n i t i o nl a n g u a g et od e s c r i b et h e b u s i n e s sp r o c e s so fw e bs e r v i c e sc o m p o s i t i o n l a s t l y , t h et h e s i si n t r o d u c e s t h r e ek e ya l g o r i t h m s :t h ea l g o r i t h mo fp r o c e s sp u s h , t h ea l g o r i t h mo ft o k e n m a i n t e n a n c ea n dt h ei m p l e m e n t a l a l g o r i t h mo f w o r k f l o wp a t t e r n s k e y w o r d s :e n t e r p d s ea p p l i c a t i o ni n t e g r a t i o n ,w e b s e r v i c e s c o m p o s i t i o n , w o r k f l o w , p e t r in e t w e bs e r v i c e s 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中 国石油大学或其它教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表 示了谢意。 签名: 砌年年月凹日 关于论文使用授权的说明 本人完全了解中国石油大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件及电子版,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手 段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名: 扫鸭一一一三的( 年年月2 9 日 导师签名: , 幻口6 年计月1 莎日 中国石油大学( 华东) 硕士论文第1 章绪论 第1 章前言 1 1 课题背景、研究的目的与意义 目前,被业界称为计算机i t 技术的第三次革命( 继p c 和i n t e r n e t 之后) 的w e b 服务( w e bs e r v i c e s ) 技术已经逐步显露出了巨大的商业机会,软件业 因此正在酝酿一场巨变。这种基于x m l 的w e b 服务是当今i t 业界的焦点所 在,它的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与 平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层 来实施彼此的连接和集成。与传统的w e b 应用技术解决如何让人来使用w e b 应用所提供的服务不同,w e b 服务要解决的是如何让计算机系统来使用w e b 应用所提供的服务。由此可见,w e b n 务对于企业应用的集成有着无与伦比 的优势。但是由于w e b h 艮务本身没有语义和流程的概念,简单的w e b 服务往 往无法满足实际的需求,所以我们可以引入工作流的概念来弥补这一缺陷。 工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通 过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监 控,达到提高生产组织水平和工作效率的目的。工作流技术为企业更好地 实现经营目标提供了先进的手段。 为了在因特网环境下灵活地进行企业问的应用互操作和应用集成,越 来越多的人也在服务上引入工作流技术,希望利用工作流本身跨业务领域 和软件系统的特点实现业务流程自动化,构造应用集成系统。工作流技术 通过恰当地描述业务流程以得到适合于计算机处理的模型,同时建立一个 开放的人机系统体系结构,在前者的基础上把分布、异构和相对独立的应 用子系统,各种各样的信息资源以及各类人员有机地联合成一个协作系统, 灵活地协同起来为企业的业务活动提供服务”“”“1 。流程层集成已经成为应 用集成的主流技术,许多国际组织都提出了相应的电子商务流程集成的技 术框架和标准规范,如o a s i s 等联合提出的e b x m l ,微软的x l a n g 【5 j 、i b m 公司 中国石油大学( 华东) 硕士论文第1 章绪论 的w s f l 6 1 等。 将w e b 服务和工作流的结合,可以发挥两者的长处。能够互补地推动对 方的发展。可以预见,w e b 服务和工作流的结合是一个具有巨大潜力的研究 领域。 1 。2 国内外研究现状 由于w e b 服务的特点在很大程度上不同于传统工作流中涉及的应用程 序资源,若只是把w e b 服务看成是传统工作流系统中类似应用程序的资源来 组装服务,是不能实现真正的服务协同的。另外传统的实现方式明确地区 分流程定义和流程执行阶段,忽略了所设想的流程与现实之间可能会存在 的不一致性等等。因此工作流技术应用于组织并协同w 曲服务面临着许多需 要研究的问题,其中最主要的问题就是如何在当前工作流技术的基础上融 入服务的特点,以适应组织服务并实现服务之间的协同要求,真正有效地 支持对象的动态组合与协调,进而支持软件系统的动态重构。服务组合模 型研究是其中的一个重点、难点和热点。 在介绍服务组合模型研究现状之前。首先介绍一下工作流建模方法研 究现状。 1 2 1 工作流建模方法研究现状 理想的工作流模型应该能够清楚地定义任意情况下的工作流,能够适 应用户在建模过程中所提出的各种要求。到目前为止,人们虽然提出了不 少有意义、有见解的工作流模型,但从模型的能力上看,距离理想情况尚 有一定的距离。 研究较为普遍的一类是基于有向图的模型,比如流程图、状态图、活 动网络图等等,优点是比较直观、容易理解。图中的节点表示过程中的活 动或者状态,有向弧表示节点间的时序依赖关系。很多工作流产品都是采 用了这种模型。但其缺点是比较简单,不能处理复杂的过程逻辑,缺乏柔 2 中国石油大学( 华东) 硕士论文第1 章绪论 性。 p e t r i 网也被用来建立工作流模型,尽管在使用p e t r i 网建造工作流模型的 研究上还存在一些争议,但这方面的研究从来没有停止过。从八十年代起, 基于p e t r i 网的工作流建模引起了广泛的关注。e l l i s 和n u t t 在p e t r i 网的基础上 提出t i c n ( i n f o r m a t i o nc o n t r o ln e t s ) 模型【_ ”,它实际上是高级p e t r i 网的一个广 义化。这里,库所表示活动,而变迁则表示活动间的转移。文献【8 】采用集 控p c 舡i 网来描述一个工作流过程。v a n d c ra a l s t 则在p e t r i 网的基础上定义了 w f - n e t t 9 l ,即工作流网。在工作流网中,变迁被用来表示活动,而库所则表 示活动的使能条件。v a n d c ra a l s t 还把工作流管理联盟在规范中提出的几种 基本的工作流原语映射成相应的p e t r i 网模型,由此建立了工作流网的基本 组件与触发机制。 除了以上这几类工作流模型,还有许多其他形式的工作流模型。比如, 文献【1 0 】给出了一种活动树( a c t i v i t yt r e e ) 的模型,它是以一个树状结构来表 达工作流过程的。从根节点开始,过程被逐层地分解为由各级子节点所代 表的活动,而活动间的执行顺序则是由左至右逐个分支地进行。a n d r e a s g e p p e r t 等人提出t b r o k e r s e r v i c e s 模型【l l 】,即代理服务模型,它定义了较 为精确与严格的形式化语义,用代理来表示工作流执行过程中的处理实体, 用服务来表示所要执行的活动,代理的行为是采用 e c a ( e v e n t - c o n d i t i o n - a c t i o n ) 规则描述的。 为了使工作流模型在描述信息、组织与资源上的能力更强,人们逐渐 把相关的描述部分扩充为一个个较为完整的模型来更有力地支持工作流的 建模。比较典型的有,w i d e 项目中提出的由组织模型、信息模型与过程模 型这3 个子模型共同组成的工作流模型,在组织模型与信息模型中,分别定 义了较为灵活的组织概念与数据类型来支持企业复杂的人员组织结构和丰 富的数据形式。惠普实验室提出了一种资源模型,把包括人员、组织、硬 件、软件等在内的各类“资源”纳入了一个层次化的树状框架下。在m o b i l e 和d o p a s 原型系统中则提出了动态组织模式的概念,通过组织对象和组织 关系这两类基本组件,用户可以定义自己的组织模式。 为了便于交互和在不同格式的模型之间实现相互转换,有些研究的模 中国石油大学( 华东) 硕士论文第1 章绪论 型还提出了规范的描述语言,称之为“工作流定义语言”。比较典型的有工 作流管理联盟推出的w p d l ( w o r k f l o wp r o c e s s d e f i n i t i o n l a n g u a g e ) 1 2 1 。 i b m f l o w m a r k 的f d l ( f l o wm a r kd e f i n i t i o nl a n g u a g e ) ,m e t e o r 2 项目定义的 w i l ( w o r k f l o wi n t e r m e d i a t el a n g u a g e ) 等。这些工作流定义语言都有着自己特 定的语法规范,包括标识符、关键字、文法规则等,有的还开发了相应的 编译器,用于生成工作流运行的可执行代码。另外,值得一提的是,n i s t 单独提出了一种过程描述语言p s l ( p r o c e s ss p e c i f i c a t i o n l a n g u a g e ) ,旨在统一 各种与制造业过程定义有关的语言,当然也包括对工作流的定义,但实施 效果并不理想。 1 2 2 服务组合模型研究现状 l 、w 0 订c 的传统模型 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 ) ”列为了解决不同厂商定义的 工作流描述语言的不一致性和互操作,为规范各开发商的工作流产品而制 订了一套工作流管理系统参考模型。利用该规范标准,不仅可以为异质的 工作流产品提供互操作能力,还可以使工作流应用与其它的计算机应用得 到更好的结合,从而在i t 业中能更有效地利用工作流技术。同时,这些规 范也为工作流的设计提供了一个参考标准,对人们进行工作流设计具有指 导意义。但是,w f m c 参考模型本身也缺乏理论化的形式描述和语义,使得 人们很难在多种工作流描述语言问比较它们的能力和功能。 ,w f m c 提出的x p d l t l 3 1 流程描述模型在支持动态的应用集成方面存在 着先天的不足,例如在x p d l 中,j o i n , s p l i t 等约束以及相关的a n d , o r 和x o r 等是在活动中定义的,它们用来控制活动之间的约束关系。由于它们是在 活动中定义的,针对这些约束的任何修改都需要更改相应活动的定义,为 实现流程的动态调整设置了很大的障碍。另外,在x p d l 中,所有的活动都 可以引用流程变量,就象在程序语言中可以引用全局变量一样,这样使得 流程中的数据流没有明确的表示出来。x p d l 定义的流程模型是静态的流程 模型,没有提供相应的机制支持运行时对流程的调整和活动的替换,它主 4 中国石油大学( 华东) 硕士论文第1 章绪论 要是针对传统的工作流,无法支持运行时的动态查找、动态绑定和动态调 整活动,而这些是因特网上的应用集成所必需的。 2 、w s f l 与x l a n g 把w c b 服务与工作流相结合,允许工作流中的任意任务用w e b 服务的形 式实现,工作流本身也以w 曲服务的形式封装提供给外界使用,是跨企业应 用和服务协同的一种很好的解决方案。面向w 曲服务的工作流建模语言是实 现面向w 曲服务的工作流系统的关键部分。w s f l 和x l a n g 分别是i b m 和 微软提出的面向w 曲服务的工作流建模语言,它们都具备了基本的流程控制 和数据传递刻画功能。w s f l ( w e bs e r v i c ef l o wl a n g u a g e ) $ 0 用流程将多个 w 曲服务组合成新的具有工作流性质的w 曲服务,并且支持业务过程描述的 x m l 语言。w s f l 将复合w 曲服务的描述分为两类模型:流模型( f l o wm o d e l ) 主要描述了复合w 曲服务内部各活动的执行顺序。全局模型( g l o b a lm o d e l ) 则描述构成复合w e b 服务的各子w 曲服务之间的交互情况。流模型描述了如 何使用子w 曲服务提供的功能来实现一个复合w 曲服务,同时还需要通过定 义控制和数据的流向以指定这些予w e b 服务在复合w 曲服务中执行的顺序。 全局模型给出了组成复合w 曲服务的各子w 曲服务之间的交互描述。 3 、b p e l 4 w s 服务组合模型 2 0 0 2 年8 月发布的w e b 服务的业务流程执行语言( b u s i n e s sp r o c e s s e x e c u t i o nl a n g u a g ef o rw 曲s e r v i c e s ,b p e l 4 w s ) 规范【1 4 1 ,其定位是成为整合 方面的w 曲服务标准,它能够将如完成w 曲服务调用、操纵数据、抛出故障 或终止一个流程等工作的不同活动连接起来,从而创建出复杂的流程。这 些活动可以嵌套到结构化活动中,结构化活动定义了其中的活动的运行方 式和控制流程。b p e l a w s 可将一组现有的服务整合起来,从而定义一个新 的w 西服务。 b p e l 4 w s 集w s f l 和x l a n g 两家之长( 前者支持面向图形的流程,后者则 支持流程的结构化构造) 于一身,形成了一个实现各种类型的业务流程的 实现语言,提供了使用抽象流程来描述业务流程的抽象接e l 的功能。利用 w s d l 巧1 使得服务的动态绑定成为可能,但它没有提供具体方式来选取动念 绑定时需要调用的服务,并且,b p e l 4 w s 并不支持在应用运行时的流程模型 5 中国石油大学( 华东) 硕士论文第1 章绪论 调整。目i ; b p e l 4 w s 还处在不断的发展过程中,需要一段相互融合,达成统 一的规范时期。 1 2 3 工作流产品分析 在相关的研究中,具有代表性的工作有h p 实验室的e f l o w 【1 6 1 【m ,e f l o w 以工作流技术为基础,通过工作流模型来描述服务组合的结构,由工作流 引擎对其解释执行绑定具体服务来实现服务组合。它属于静态组合、动态 绑定式的服务组合,即事先给出描述组合结构的定义,而运行时再按此结 构绑定具体的服务。u c b e r k e l e y 的n i n j a t l 8 l 【1 9 1 则侧重于服务组合在分布异构 的普适计算环境下的容错性、可扩展性和自动化,其主要目标是使得具有 不同资源和网络访问能力的客户端可以获取相同的不变的网络服务,同时 能够将网络上的简单服务组装成任意复杂的服务。虽然它试图通过对服务 的统一管理,根据任务请求自动生成服务间的逻辑路径以完成任务,从而 实现动态的服务组合,但目前它的研究还只是较多的集中于异构的客户端 对分布自主的服务的获取访问。为了适应以服务为中心的环境动态、多变 的特点,具有高度的灵活性、适应性的动态服务组合应成为今后研究的重 点。 1 3 研究内容 本文在对己有研究成果的深入研究基础上,理清了w e b h 艮务和工作流技 术的发展脉络,并对这两种技术的优点和不足进行了比较分析,提出了基 于工作流的w e b 艮务组合的模型。本文研究内容包括以下几方面: l 、阐述了w e b 服务的概念、体系结构和相关技术,并对w e b 服务的优点 和存在的缺陷进行了分析。 2 、介绍了工作流的起源和基本的工作流管理模型,并对当前工作流管 理模型的特点和存在问题进行了分析研究了p e t r i 网理论,以及p e t r i 网 在工作流领域中的应用。 6 中国石油大学( 华东) 硕士论文第1 章绪论 3 、研究了w e b 服务组合的发展现状和理论基础。研究分析了如何设计 和构建一个基于工作流技术的w e b 服务组合模型,以达到“智能”和自动的 进行应用集成。 1 4 论文的主题思路与组织结构 本文共分为七章: 第一章:前言。首先介绍了本课题的背景和课题来源,分析了课题的 国内外研究现状,说明了课题中所做的实际工作和进行的理论研究,最后 列出了论文的组织结构。 第二章:w e b 服务组合技术、概念与模型。介绍w e b j 匪务、服务组合、 工作流和p e t r i 网的概念,对比分析了服务组合与工作流的联系和区别,最 后介绍了基于p e t r i 网的服务组合模型。 第三章:w e bs e r v i c ew e a v e r 原型系统架构。提出了基于工作流的w e b 服务组合引擎的原型架构。 第四章:w e bs e r v i c ew e a v e r 原型系统流程定义语言。介绍原型系统 已经支持的1 3 种工作流模式和流程定义语言语法。 第五章:w e bs e r v i c ew e a v e r 原型系统透析。结合示例从流程定义语 言的控制流视角分析了如何实现所支持的工作流模式,从数据视角分析了 工作流的数据传输机制。 第六章:w e bs e r v i c ew e a v e r 原型系统算法设计与分析。介绍了原型 系统的流程推进算法,以及所支持的工作流模式的实现算法和t o k e n 维护算 法 第七章:总结。总结本文的工作和创新点,并给出了有待进一步研究 解决的问题。 7 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模毽 第2 章w e b 服务组合技术、概念与模型 由于w 曲服务是实现面向服务架构( s o a ) 的技术体系,w e b 服务具有 s o a 中服务可组合的特性,即多个w 曲服务( 来自同一服务供应商或不同服 务供应商) 可以联合起来完成单个服务不能提供的功能。从i b m 的w e b 服务 协议栈可以看到,关于服务的整合与工作流问题位于协议栈的顶端。研究 服务组合具有实际应用意义。 服务组合可以简单地理解为将多个服务按照一定的方式组合起来完成 单个服务不能完成的任务。服务组合体现了完成某种复杂任务的过程锍程。 与表示业务执行过程的工作流相似,两者之间存在一定的联系和区别。本 章总结分析现有的服务和服务组合概念,并分析服务组合与工作流概念的 区别与联系,将服务组合与工作流相结合,借鉴工作流的已有成果,提出 系统的服务组合概念和模型。为弥补有向图在服务组合建模中的不足,提 出用经典p e t r i 网对服务组合进行建模。 2 1 面向服务架构 服务的概念己经使用了数十年。早在上个世纪九十年代早期,处于技 术发展领导地位的事务监视系统就采用了“服务”这一概念,很多c s 系统 也努力用这个词来显示其具有远程访问的能力。而最近几年w 曲服务又给 “服务”这个词增添了新的含义。服务和面向服务的架构真正以适用于多 机种网络的可编址软件来设计和构建系统。 面向服务架构s o a t 2 0 是- 种软件构架,具备一些特殊的特性。在上个 世纪九十年代末期,s u n 在描述j i n i 时对s o a 做了严格的定义。开发j i n i 的 目的是为设备、服务和应用程序创建一个动态的网络环境。在这样的环境 中,服务和设备可以动态地加入到网络或从网络中去除。最近两年,w e b 服务的出现和迅速发展使软件发展团体开始更多地关注s o a 。w e b 服务其实 是一种可以实现s o a 的技术集合。 8 中国石油大学( 华东) 硕十论文第2 章w e b 服务组合技术、概念与模犁 s o a 的最主要的特征是把服务的实现和服务的接口分离开来。即把“什 么”和“如何”分离开。服务消费者只是把服务看作是一个支持特定请求 格式或契约的端点。服务消费者并不关心服务如何执行其请求,只期望服 务会执行其请求。消费者还期望与服务的交互会遵守一定的契约。s o a 采 用“发现、绑定和执行”的模式。如图2 1 。在这样的模式中,服务的消费 者通过一个第三方注册中心请求符合其标准的服务。如果注册中心有这样 的服务就把服务的契约和端点地址发送给消费者。服务消费者和服务绑定, 服务按照服务契约接受消费者请求并执行。s o a 中包括六个实体:服务提 供者、服务消费者、服务注册中心、服务契约、服务代理和服务租约来支 持这种发现、绑定和执行模式。图2 1 表示t s o a 的发现一绑定一执行模式1 2 0 l 。 2 2w e b 服务技术 图2 1s o a 的发现绑定执行模式 虽然w e b 服务在近几年发展迅速,但并不是一种崭新的概念模型。其概 念体系基于面向服务架构。w e b 服务是实现s o a 的一种技术集合。这种技术 集合基于x m l 。x m l 不仅仅是一种标记语言,它还是一种元标记语言;x m l 赋予标记一定的语义,加强了对数据内容的描述:x m l 强调数据内容描述 与形式描述分离,使数据的内容不受显示形式的影响和限制,允许对相同 的数据内容定义不同的显示方式:x l v i l 是依赖u n i c o d e 编码,具有世界通用 性,其文本特性保证了平台独立性。x m l 的这些优势使其得到了业界的广 泛支持,已经逐渐成为描述w e b 数据的事实标准,而且成为系统集成的数据 交互语言。x m l 的出现和发展是w 曲服务得到迅速发展的原因之一。电子 9 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模型 商务的发展也更加促进了w e b 服务的发展。 2 2 1w e b 服务概念 w e b 服务是独立于平台和实现的软件构件,它能够用服务描述语言描 述;在服务注册处发布;通过标准的机制在运行或设计时被发现;通常跨 网络通过声明a p i 调用;可以与其它服务组合。简单地说,w 曲服务就是组 件技术在h t e r n e t 上的扩展【2 n 。 2 2 2w e b 服务的体系结构 w 曲服务的体系结构是基于三种角色( 服务提供者、服务请求者和服务 注册中心) 之间的交互,它是一种“面向服务的体系结构( s o a ) ”。交互具体 涉及到发布、查找和绑定操作。这些角色和操作一起作用于w e b 服务构件, 即w 曲服务软件模块及其描述。通常情况下,服务提供者提供可以通过网络 访问软件模块。服务提供者定义w 曲服务的服务描述,并把它发布到服务请 求者或者注册中心。服务请求者使用查找操作从本地或者服务注册中心搜 索服务描述,然后使用服务描述与服务提供者绑定,并调用相应的w e b 服务 实现。图2 2 展示了这些操作,提供操作的组件以及它们之间的交互。下面 具体介绍该体系结构中的各个部分【l 】。 1 、角色 w 曲服务体系结构中的角色包含如下几个部分: 服务提供者( s e r v i c ep r o v i d e r ) :从企业角度看,这是服务的所有者。从 体系结构的角度看,这是托管被访问服务的平台。 服务请求者( s e r v i c , er e q u e s t o r ) :从企业角度看,这是要求满足特定功 能的企业。从体系结构角度看,这是寻找并调用服务,或者启动与服务交 互的应用程序。服务请求者角色可以由浏览器来担当,由人或无用户界面 的应用程序( 如另外一个w 曲服务) 来控制。 服务注册中,d , ( s e r v i c , er e g i s t r y ) :这是可搜索的服务描述注册中心,服 务提供者在此发布他们的服务描述。在静态绑定开发或者动态绑定执行期 1 0 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模犁 间,服务请求者查找服务并获得服务的绑定信息( 在服务描述中) 。对于静态 绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提 供者可以把描述直接发送给服务请求者。同样,服务请求者可以从服务注 册中心以外的其他来源得到服务描述,例如,本地文件、w e b 站点等等。 图2 2w e b f l 务体系架构模型 2 、行为 对于利用w e b 服务的应用程序,必须发生以下三种行为:发布服务描述、 查询或查找服务以及根据服务描述绑定或调用服务。这些行为可以单独或 重复出现。w 曲服务体系结构中包含的具体操作如下: 发布( p u b l i s h ) :为了使服务可访问,需要发布服务描述以使服务请求 者可以查找它。发布服务描述的位置可以根据应用程序的要求而变化。 查找( f i n d ) :在查找操作中,服务请求者直接检索服务描述或在服务注 册中心查询所要求的服务类型。对于服务请求者,可能会在两个不同的生 命周期阶段中牵涉到查找操作:在设计时,为了程序开发而检索服务的接 口描述;而在运行时,为了调用而检索服务的绑定和位置描述。 绑定( b i n d ) :最后需要调用服务。在绑定操作中,服务请求者使用服务 描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与 服务的交互。 另外,在w e b 服务体系架构中包含如下的w e b 服务构件: 服务( s e r v i c e ) :w e b f l 艮务是一个由服务描述语言描述的接口,服务描述 的实现就是该服务。服务是一个软件模块,它部署在由服务提供者提供的 可以通过网络访问的平台上。服务的存在目的就是要被服务请求者调用或 者同服务请求者交互。当服务的实现中利用到其他的w 曲服务时,它也可以 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模型 作为请求者。 服务描述( s e r v i c ed e s c r i p t i o n ) :服务描述包含服务的接口和实现细节。 其中,包括服务的数据类型、操作、绑定信息和网络位置。还可能包括可 以方便服务请求者发现和利用的分类及其他元数据。服务描述可以被发布 给服务请求者或服务注册中心。 w e b j 艮务体系结构解释了如何以一种可以互操作的方式实现这些操作。 3 、开发生命周期 w e b 服务开发生命周期包括了设计和部署以及在运行时对服务注册中 心、服务提供者和服务请求者每一个角色的要求。每个角色对开发生命周 期的每一个元素都有特定要求。 开发生命周期有如下四个阶段【l 】。 构建:构建阶段包括开发和测试w 曲服务实现,定义服务接口描述和服 务实现描述。可以通过创建新的w 曲服务,把现有的应用程序变成w 曲服务, 也可以由其他w 曲服务和应用程序组成新的w 曲服务。 部署:部署阶段包括向服务请求者或服务注册中心发布服务接口和服 务实现的定义,以及把w 曲服务的可执行文件部署到执行环境( 典型情况下, 被部署到w 曲应用服务器) 中。 运行:在运行阶段,w 曲服务完全部署、可操作,服务提供者可以通过 网络访问服务,服务请求者可以进行查找和绑定操作。 管理:管理阶段包括对w 曲服务应用程序持续的管理和经营。解决诸如 安全性、可用性、性能、服务质量和业务流程等问题。 4 、w e b 服务可交互操作栈 w 曲服务体系结构都是以开放协议和技术为基础实现的,如x m l , s o a p , w s d l u d d i 等。引用w e b 服务可交互操作栈三元组。这是2 0 0 1 年3 月f l q i b m 和m i c r o s o f t 首次r 句w 3 c 建议的,它将w 曲服务分为三个栈:线栈 ( w i r es t a c k ) 、描述栈( d e s c r i p t i o ns t a c k ) 和发现栈( d i s c o v e r ys t a c k ) 2 1 1 0 2 2 3w e b 服务的特征 从外部使用者的角度而言,w 曲服务是一种部署在w 曲上的对象组件, 1 2 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模型 它具备以下的特征: l 、完好的封装性 既然是一种部署在w e b 上的对象,w e b 服务自然具备对象的良好封装 性,对于使用者而言,能且仅能看到该对象提供的功能列表。 2 、松散耦合 当一个w 曲服务的实现发生变更的时候,调用者是不会感到的。对于调 用者来说,只要w 曲服务的调用界面不变,w e b 服务的实现任何变更对他们 来说都是透明的,甚至是当w e b 服务的实现平台从j 2 e e 迁移到了n e t , 或者 是相反的迁移流程,也不会影响服务的享用。在i n t e m e t 环境下,松散耦合 需要有一种适合i n t e m e t 环境的消息交换协议支持。而x m l s o a p 是目前最 常见的消息交换协议。 3 、使用协约的规范性 相比一般对象其界面规范更加规范化和易于机器理解。协约的规范性 包括三个方面:第一,作为w e b 服务,对象界面所提供的功能使用标准的描 述语言来描述( 比如w s d l ) ,而且是能够被发现的。这一描述文档被存储在 私有的或公有的注册库里面。同时,使用标准描述语言插述的使用协约将 不仅仅是服务界面,而且延伸到w 曲服务的聚合、跨w c b 服务的事务、工作 流等,它们又都需要服务质量( q o s ) 的保障。第二,安全机制对于松散耦合 的对象环境非常重要,对诸如授权认证、数据完整性( 比如签名机制) 、消息 源认证以及事务的不可否认性等都必须运用规范的方法来描述、传输和交 换。第三,在所有层次的处理都是可管理的,需要对管理协约运用同样的 机制。 4 、使用标准协议规范 所有公共的协约完全使用开放的标准协议进行描述、传输和交换。这 些标准协议具有完全免费的规范,可以由任意方进行实现。一般而占,绝 大多数规范将最终由w 3 c 或o a s i s 作为最终版本的发句方和维护方。 5 、高度的可集成能力 矾协服务采用简单的、易理解的标准w e b 协议作为组件界面描述和协同 描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a d c o m 还是 中国石油大学( 华东) 硕十论文第2 章w e b 服务组合技术、概念与模哩 e j b 都通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集 成性。 2 2 4 目前w e b 服务存在的不足 w c b 服务是新兴的技术,它有着很多的优点,能够很大程度上解决网络 分布式问题。它有着很大的潜力,有着很广阔的前景,同时也存在着一些 不足。这些不足集中体现在一些实现标准的缺乏上。 首先,是数据标准。数据标准是指数据一致的格式。一般来说,工业 界和应用程序中都会有一个数据标准。例如电子数据交换( e d i ) 就是一个很 流行的数据标准,后来出现了x m l ,但是x m l 本身并没有满足工业界和应 用程序更多的需要。目前数据标准问题的解决方法是x m l 应用程序一即用 一组特定的x m l 语法去描述一个特定的问题空间。但主要的问题是由于竞 争,这些标准被采用的速度非常快。解决方法就是遵守现行的标准,在不 重新使用新的x m l 语法的情况下使其工作。 其次,是接口标准。尽管w 曲服务提供动态定位和服务描述使得接口标 准很容易。但这还是不够的。因为注册了服务描述并不意味着就不存在服 务之间的接口问题了。例如需要集成三个不同的供应商的基本服务,由于 它们带的参数不一样,每个服务的接口也会有稍微的不同。显然容易从一 个u d d i 服务器上取得每个服务的w s d l 。但是如何将数据请求映射到每个 服务昵? 接口交了又怎么办? 应用程序能自动地知道怎样重新映射请求吗? 接 口建立在w e b 服务之上并不意味着少的“连接器”或者“翻译器”。很难说 接口的解决方法是什么样的。 一 最后,商业过程标准。商业过程体现为w e b 事务。w e b 服务事务通常都 是围绕对话模型建立的,所谓的对话模型是指使用多接1 2 1 来发送多种类型 的x m l 数据。对于其中一方,它以特定的顺序使用一组接口来发送特定的 x m l 数据,而对于另一方,可能一次发送所有的数据。即使是完成同一个 目标处理起来也可能有很大不同。有几个步骤帮助标准化w 曲服务的处理过 程。能使处理过程一致对于w 曲服务架构来说意义重大。 1 4 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模型 对于数据和接口标准问题,要各个厂商加强沟通达成一致,形成统一 的认识就能够真正解决。而对于商业过程标准,没有那么简单,目前相关 研究很多,提出了一些解决方案,在本研究中,我们提出了利用引入工作 流技术来解决这一问题的思路。有关工作流方面的介绍我将在后面的章节 中进行介绍。 2 3 服务组合的概念 s o a 对服务做了定义并对其在架构中应该具备的特性做了规定和说 明,并对服务参与组合的方式做了描述。 2 3 1 服务 服务是一种软件实体,其概念出现在二十世纪9 0 年代初( h e r z u r n2 0 0 2 ) 。 在9 0 年代后期,s u n 定义了面向服务架构。在面向服务架构中,服务是自包 含的、模块化的软件实体,具有网络可寻址的粗粒度接口。服务的位置对 于服务请求者是透明的,但能够被发现并可以动态绑定。服务是松散祸合 的,强调互操作,可以按照某种方式和组件、应用程序或其它服务组合。 在i s 01 9 1 1 9 中,服务是由实体通过接口提供的功能 s o i e ct r 1 4 2 5 2 。接口是表示实体行为的操作集合。操作是对象可以被调用执行的转 换与查询规范。操作具有名称和参数列表。服务、接口和操作的关系如图 2 3 所示。 中国石油大学( 华东) 硕士论文第2 章w e b 服务组合技术、概念与模型 图2 - 3 服务定义关系l 2 2 服务包括服务的定义和服务的实现两个内容。服务的功能接口集合构 成服务的抽象定义。实现接口的端口集合构成服务的实现,服务的实现是 提供特定功能的软件实体。 服务的概念既指服务的抽象定义也指可运行的服务实体。但在许多情 况下,常常将两者统称为服务。面向服务架构中的服务特性描述多是针对 服务实体的。 2 3 2s o 定义的服务组合 在面向服务架构中,服务具有可组合的特性。服务可以以三种方式参 与组合,分别是应用程序组合( a p p l i c a t i o nc o m p o s i t i o n ) 、服务联邦( s e r v i c e f e d e r a t i o n s ) 和服务排列( s e r v i c eo r c h e s t r a t i o n ) 。 应用程序组合指为了特定目的通过应用程序逻辑把一些服务和组件整 合在一起。即参与组合的不仅有服务还有其它组件。组合的结果是一个应 用程序。 服务联邦是服务的集合,这些服务在一个大的服务领域中统一管理。 如一个支票账户服务,一个储蓄存款账户服务和一个客户服务组合成一个 1 6 中国石油大学( 华东) 硕七论文第2 章w e b 服务组合技术、概念与模型 大的银行账户服务。 服务排列指一个事务的执行会牵涉个或多个服务。有时称为业务流 程。事务的执行包含很多步骤,每个步骤是一个服务调用,如果某个服务 调用失败,整个事务回滚到执行前的状态。 2 3 。3 服务组合概念分析 面向服务架构所描述的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昆明市一级建造师考试(通信与广电工程管理与实务)真题及答案
- 2026专业技术人员绿色科研完整试题及答案
- 2026年应急物资储备管理知识培训考核题库(含答案)
- 2026年市政工程施工员考试(专业基础知识)模拟试题及答案
- 2026年教师资格中学学科知识考试题库及答案
- 2026年工地食堂安全员考试题库及答案
- 【2026年】石化公司生产调度上岗测试试卷及答案
- 2025初级审计师冲刺押题实战卷
- 标准学术能力诊断性测试数学试卷(含答案)2026年3月诊断性测试数学答案
- 专升本考公务员典型试题及答案
- 2026年中医药行政执法试题(含答案)
- 抑郁障碍与心脑血管疾病共病多学科诊疗指南
- 电车充电桩报废更新管理手册
- 2026年上半年宁波市北仑区(开发区)公开招聘国有企业工作人员(港城英才)17人笔试备考题库及答案详解
- 防腐施工安全技术操作规程
- JJF(川)143-2017 在线温度测量系统校准规范
- T∕CWTAS 0007-2025 电厂碳排放核算燃煤计量系统
- 《构网型独立储能电站档案资料管理方案》
- 2026年广州环保投资集团有限公司校园招聘考试参考题库及答案解析
- 湖北省黄石市阳新县人民政府所属事业单位招聘考前自测高频考点模拟试题(共500题)含答案解析
- 医学科研成果转化的法律路径与风险
评论
0/150
提交评论