(计算机应用技术专业论文)基于j2ee平台的web服务复合技术的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于j2ee平台的web服务复合技术的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于j2ee平台的web服务复合技术的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于j2ee平台的web服务复合技术的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于j2ee平台的web服务复合技术的研究与应用.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学硕士学位论文 摘要 随着以w c b 服务为基础的面向服务的体系结构的发展,如何复合分布的、 自治的w e b 服务以构建新的企业业务应用的问题己成为软件工程领域一个新的 热点问题。 w e b 服务复合是指把i m e m e t 上已有的相对简单的w 曲服务按一定的业务流 程逻辑合成起来构成复杂的复合服务,从而提供更为强大完整的商业功能。通 过复合已有的w 曲服务,就无须重构单一的复杂服务,且能很好地适应电子商 务环境中的多变性和动态性。利用w 曲服务复合技术,企业可以获得极大的业 务敏捷性。 本学位论文旨在探索w 曲服务复合技术在面向服务体系结构系统中的应 用,研究采用w 曲服务复合技术进行面向服务体系的系统开发所遇到的问题及 解决方案。本文首先阐述了w 曲服务及w 曲服务复合技术的概念,对w 曲服务 的体系结构、关键技术、运行机制和技术优势方面作了完整的介绍,介绍了w e b 服务复合技术实现语言之一业务流程执行语言( b p e l ) ,并在此基础上提出 并实现了一个基于w 曲服务的在线购物系统模型,分析了各个模块的构成及相 互之间的关系。 围绕业务流程执行语言和j a v a 语言的结合,走b p e l 和j a v a 相结合的技术 路线,引进了b p e l j ,这允许同时使用b p e l 和j a v a 两种编程语言来构建业务 流程应用:通过在b p e l 中嵌入j a v a 代码段,可以使得各个w 曲服务之间能更 好地协作,方便w 曲服务复合业务应用的开发。 本文重点研究了w 西服务复合技术在现实系统中的应用,探讨如何将w 曲 服务以及w 曲服务复合技术应用于面向服务体系架构的系统中,以充分发挥w 曲 服务互操作性的优势。 关键词:面向服务的体系结构,w 曲服务,w 曲服务复合,业务流程执行语言 武汉理工大学硕士学位论文 a b s t r a c t w i mt 1 1 ee v o l u t i o no fs e r v i c e s o r i e m e da r c h l t e c n l r eb a s e do nw e bs e r v l c e s , p r o v i d i n gs u p p o r t sf o rc o m p o s i t i n gd i s t r i b u t e da n da m o n o m o u sw e bs e i c e s i n t o b u s i n e s sa p p l i c a t i o n sh a sb e c o m eak e yr c s e a r c ha r e ai ns o f t w 盯ee n g i n e e r i n g w e bs e r v i c e sc o m p o s m o ns u p p o r t sm o r ep o 、代r f m 趾dm o r ec o m p l c t eb u s i n e s s f 1 1 1 蛞o n s ,t h r o u g h 也ec o m p o s m o no fc o m p l e xs e r v i c e s s 矗d ms i m p l e ro n e so n 出e i n t e 玎l c ta c c o r d i n gt oc c n a i nb u s i n e s sp r o c e s s i n gl o g i c s b yd y n 眦i c a l l yc o r n p o s i n g e x i s t i n gw e bs e r v i c e s ,w eh a v e n tt or e w i t ec o m p l e xc o d ca n dc a na d a p tw e ut ot h e v a r i 啊e v 0 1 u t i o no f 也ec o m m e r c ee n v 曲m e n t a g i l i 可o f b u s i n e s sa p p l i c a t i o n s 谢u b eo b t a i n e dt h r o u g hw e bs e r v i c e sc o m p o s “i o nt e c h n o l o g i e s t h i st 1 1 e s i si sc o n c e n r a t e do ne x p l o r i n gw e bs e r v i c e sc o m p o s i t i o nt e c 王l i l o l o g yo n s e i c e s o r i e m e da r c m t e c t u r cs y s t e mf o rc o n c r e t e a p p l i c a t i o n s f i r s t 血i s t h e s i s e l a b o r a t e sc o n c 印t so f l ew e bs e r v i c e sa 1 1 d 、v e bs e r v i c e sc o m p o s i t i o nt e c h n o l o g y , m a k e sc o m p l e t ei n 仃o d u c t i o no fw e bs e n ,i c e s s s y 虬e ms t r l l c t l l r e , i t se s s e n t i a l t c c l l i l o l o g y ,m n n i i l gm e c h a l l i s m a dt l l et e c l l i l i c a ls u p e r i o r i 吼t l l e ni 1 1 打o d u c e sal 【i n d o fl a n g u a g e ,b u s i n e s s p r o c e s se x e c 埘o nl a n g l l a g e ( b p e l ) , f o r 、v c bs e i c e s c o m p o s i 蛀o nt e c h n 0 1 0 9 yl a s t l y ,p r e s e n t e sa n dr e a l i z e s 锄o n l i n es h o p p i n gs y s t e m m o d e l ,a n a l y z e se a c hm o d u l ec o n s t m m o n 妣dm e i rm l m l a lr e l a t i o n sb a s e do nw e b s e r v i c e sa n dw e bs e r v i c e sc o m p o s i t i o nt e c h n o l o g y c o n s i d e r i n gt h eu i l i o no fb p e la j l dt h ej a v a1 a l l g u a g e ,t h eb p e u i si n t r o d u c e d , w h i c hl 】s e sm eb p e la n dt h ej a v a ,t h a ta r et w ok m d so fp r 0 f a m m i n gl a l l g u a g e ,t o c o n s t m c ts e r v i c e s - n o wa p p l i c a t i o n t h r o u 啦i n s e r t i n gj a v ac o d es n i p p e ti n t ot h e b p e l ,i te m b l e sw e bs e r v i c e st oc o o p e r a t ew e l l ,a n df a c i l i t a t e st h ed e v e l o p m e n to f 也ew e bs e i c e sc o m p o s i t i o n 印p l i c a t i o n t h ek e yp o i n to fm i st l l e s i si st o 印p l yw e bs e r v i c e sc o m p o s i t i o nt e c h r l o l o g yt o s e r v i c e s o r i e m e da r c l l i t e c t l l r es y s t e mt of u l l ym i l i z et l l ew e bs e r v i c e s sm u t 【l a l o p e r a t i o n a ls u p e r i o r i t y k e y w o r d s :s e r v i c e s 一0 r i e n t e d a r c l l i t e c t u r e ,w e bs e r v j c e ,w 曲s e n i c e sc o m p o s i t i o n , b u s i i l e s sp r o c e s se x e c u t i o n1 a 1 1 9 l l a g e i i 武汉理工大学硕士学位论文 第1 章引言 随着i n t e m e t 的迅速发展,基于各种平台的网络应用程序己广泛应用于各行 业中,但问题也随之而来,如何使基于各平台的异构应用程序在一起协同工作, 使不同系统能无缝地进行通信和数据共享。w 曲服务正是出于这种目的,在基 于x m l 技术上发展起来的。 w e b 服务被业界称为计算机i t 技术的第三次革命,主要是应用于不同系统 平台间的应用程序协同工作,使基于不同公司开发的不同平台之上的各种应用 依靠它进行连接和集成,它将是下一代分布式系统的核心,己成为当今i t 业界 的焦点所在。 w 曲服务是蟠l 流行后的直接产物。因为订l 可以描述数据和对象,且 x m l 规范是基于文本的,能够保证x m l 文档数据的有效性,因而x m l 文档极 其适合于作为一种跨平台通讯标准的基本格式。 w e b 服务使用一个标准的、形式化的l 表示,即w 曲服务描述,提供 需要与服务交互的所有细节,包括消息传递的格式、传输协议和位置。接口性 质隐藏了服务实现的细节,接口可以独立于实现接口的硬件或软件的平台、编 写接口的编程语言而使用,这就允许和鼓励了基于w 曲服务的应用能够实现松 耦合、面向组件和跨技术。w 曲服务既可以独立使用,也可以与其它w 曲服务 一起使用以执行一个复杂的集合或一个商务交易。 但是,如何在面向服务的体系结构上实现灵活多变的企业业务集成,成为 目前迫切需要解决的一个主要问题。在面向服务的体系结构中,需要将企业内 部的整个价值链分为较小的服务单元,如此不仅可以将应用之间的交互标准化, 而且可以为业务流程提供更多的灵活性。因此,面向服务的体系结构首先需要 解决的就是如何描述和组织服务的问题,以便服务可以被动态地、自动地发现 和使用。而w 曲服务复合则将作为w e b 服务发布的服务模块组合起来,使之成 为衔接以w e b 服务为基础的信息基础设施和企业业务应用集成之间的桥梁。 武汉理工大学硕士学位论文 1 1 研究的意义 w e b 服务是i n t e m e t 上松散耦合并可重用的分布式软件组件。它对离散的功 能进行语义上的封装,通过标准的w e b 协议向外部程序提供服务。w 曲服务具 有自包含、自描述的特点,可以通过w c b 发布、查找和调用,它提供了一种更 灵活轻便的企业间的协作方式。 w e b 服务会是将来互用性的主要趋势。当然,简单、基础的w e b 服务不值 得太多关注,他们就像远程过程调用,只是调用一个x m l 消息进行,且消息需 要遵从s o a p 或订l r p c 之类规范的特定格式。 w e b 服务复合是组织这种协作的重要形式,它把i n t e m e t 上已有的相对简单 的w 曲服务按一定的业务流程逻辑合成起来以构成复杂的复合服务,从而提供 更强大更完整的商业功能。通过合成己有的w e b 服务,就无须重构单一的复杂 服务。同时,当这种复合能动态地进行时,无疑将很好地适应电子商务环境中 的多变性和动态性,使企业不被局限于单一固定的合作伙伴。 w e b 服务复合的本质是协调若干w 曲服务共同工作,它在面向服务的企业 计算模式中扮演着中间模型的角色,即通过w e b 服务的复合,最终能灵活实现 上层的业务模型,屏蔽底层信息基础设施的变迁。从理论上讲,新的业务应用 可以由系列w e b 服务方便地复合,而且这个过程不需要任何编程工作。因此, 如何复合这些己有的、自治的w c b 服务构建新的企业业务应用的问题已成为软 件工程领域一个新的热点问题。 1 2 国内外的研究现状【1 】【2 】2 0 】 经过多年来业界对w 曲服务的极力研究和推广,w 曲服务取得了极大进展, 新的技术标准不断出台,但由于其推出时间较短,体系结构、技术实现等都还 有待完善,因而在实际应用中会面临一定挑战。尤其在w e b 服务的业务处理与 安全性方面有待更进一步的研究。随着更多的w 曲服务变得可用,服务过载和 灵活的服务协作需求也暴露出现今w 曲服务技术的不足。 在业务处理中,通常需要按照一定粒度将多个w e b 服务根据特定的应用背 景和需求进行合理的组合,实现完整的业务逻辑。人们在该领域作了很多研究 并取得了一些成果,如w s f l ,x l a n g 等。但仍然面临下列问题:( 1 ) 对于与组 武汉理工大学硕士学位论文 合服务相关的各服务组件和基本服务,怎样定义它们之间的逻辑及时序关系, 以实现复杂w 曲服务执行的自动化;( 2 ) 怎样实现服务组件和基本服务之间的动 态交互,协调及状态保持,以保证w e b 服务执行的有序性;( 3 ) 怎样保持语义信 息,怎样验证和测试组合w e b 服务,以确保w 曲服务执行结果的正确性。 关于w 曲服务复合的研究方兴未艾,目前的工作可以归纳在一个w e b 服务 合成的总体框架中。该框架围绕业务流程逻辑,将w c b 服务合成的过程分解为 三个步骤,即业务流程逻辑的生成、表示和实现。w 曲服务的描述和发现机制 作为w 曲服务构架的基础设施,在其中扮演了重要角色。 基于上述框架,目前研究界的工作可以分为三个层次。第一个层次是w e b 服务的“自动合成”,涉及业务流程逻辑的生成、表示和实现三个步骤,该层次的 工作还未出现很大进展。第二个层次是w 曲服务的“动态合成”,涉及业务流程 逻辑的较抽象表示、实现,该层次吸引了大量的研究努力,出现了很多抽象业 务流程表示规范及相应的支撑平台。第三个层次是w 曲服务的“静态合成”,涉 及业务流程逻辑的较具体表示、实现,该层次的工作主要由业界完成,业务流 程执行语言b p e l 4 w s 是最重要的成果。1 4 j 1 3 本课题研究的主要内容 本论文的研究目标就通过对w 曲服务核心技术的研究,设计并实现了在线 电子商店原型系统,将w 曲服务复合应用于开放的规范框架j 2 e e 平台。 本论文中原型系统在线电子商店是一个基于i n t e m e t 的应用系统,采用基于 j 2 e e 的分布式多层结构体系。部分功能由w e b 服务提供,部分功能是通过复合 现有w 曲服务提供的。一部分数据由本地数据库服务器来维护和组织,另外一 部分数据通过调用远程w 曲服务响应而来。在这个具体的应用系统中使用了基 于m v c 模式的s 廿m s 框架,同时采用了多种设计模式,如s e r v i c e s l o c a t o r 、 c o n 啪a n d 、d e l e ga _ t e 等。在w 如服务引擎方面,使用了可扩展的、完全开放的 和可插入的体系结构a p a c h e 触i s 和i b m 的w 曲s p h e r e ,w 曲服务的复合是通过 采用支持b p e l 的a c t i v e b p e l 来实现的。 本论文的结构如下: 第2 章:主要分析了当前软件体系结构的发展动向,指出面向服务的体系 结构是目前的主流结构,着重指出了w 曲服务技术在面向服务的体系结构中的 武汉理工大学硕士学位论文 重要性,以及w e b 服务技术与面向服务的体系结构的关系。 第3 章:主要介绍了w e b 服务的整体架构,着重论述了w e b 服务的基础协 议栈,w e b 服务实现的模型以及w e b 服务的运行机理和技术架构。 第4 章:主要介绍了w e b 服务复合技术的应用及研究中的关键问题,着重 介绍了业务流程执行语言b p e l 。 第5 章:结合w e b 服务复合技术实际应用的需求,详细设计了一个原型系 统,并根据原型系统的需要,设计了系统需要的w e b 服务,以及利用现有的w e b 服务复合出新的系统功能。 第6 章:实现了第四章中设计的在线商店原型系统,并根据该原型系统剖 析了w e b 服务以及w 曲服务复合技术的运行机理。 第7 章:总结了研究成果,指出了不足并提出了改进意见。 4 武汉理工大学硕士学位论文 第2 章w e b 服务与面向服务的体系结构 2 1 面向服务的体系架构 软件业从最初的面向过程、面向对象,到后来的面向组件、面向集成,直 到现在的面向服务,走过了一条螺旋上升的曲线。在经典软件工程理论中,不 管是瀑布方法还是原型方法,都是从需求分析做起,一步一步构建起形形色色 的软件系统。但是,需求变更像一个挥之不去的阴影,时刻伴随着系统左右。 每一个实际应用系统的开发者都饱尝了在系统进入开发阶段、测试阶段,甚至 上线阶段遭遇应接不暇的需求变更的极端痛苦。客户将变更的需求视为b u g ( 错 误) 是测试上线阶段的主要问题。 如何解决这一问题? 能否来一场软件开发和架构的革命? s o a ( s e r v i c e s o r i e m e d 心c 1 1 i t e c t u r e ,面向服务的体系结构) 的提出,就是被人看成这 样的一场革命。其实质就是要将系统模型与系统实现分割开来。 s o a 是最近几年出现在各种技术期刊上最多的词汇之一。s o a 的出现,将 给整个企业级软件架构设计带来巨大的影响。简单来说,s o a 就是一种进行系 统开发的新的体系架构,在基于s o a 架构的系统中,具体应用程序的功能是由 一些松耦合并且具有统一接口定义方式的组件( 也就是s e r v i c e s ) 组合构建起来 的。因此,基于s o a 的架构也一定是从企业的具体需求开始构建的。但是,s o a 和其它企业架构的不同之处就在于s o a 提供的业务灵活性。 s o a 并不是一个新概念,有人就将c o r b a 和d c o m 等组件模型看成是 s 0 a 架构的前身。早在1 9 9 6 年,g a n n e rg r o 婶就已经提出了s o a 的预言,不 过那个时候仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑 这样的概念走进实质性应用阶段。直到近一两年,s o a 的技术实现手段才渐渐 成熟。 关于s o a ,目前尚未有一个统一的、业界广泛接受的定义。一般认为;s 0 a , 面向服务的架构是一个组件模型,它将应用程序的不同功能单元通过服务间定 义良好的接口和契约( c o n n t ) 联系起来,接口采用中立的方式定义,独立于具体 武汉理工大学硕士学位论文 实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务 可以使用统一和标准的方式进行通信。 虽然s 0 a 不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模 型。虽然基于s o a 的系统并不排除使用面向对象的设计来构建单个服务,但是 其整体设计却是面向服务的。由于考虑到系统内的对象,虽然s o a 是基于对象 的,但是作为一个整体,它却不是面向对象的,不同之处在于接口本身。s o a 系 统原型的一个典型例子是通用对象请求代理体系结构( c o m m o no b j e c tr e q u e s t b r o k e r a r c h i t e c t l l r e ,c o r b a ) ,它已经出现很长时间了,其定义的概念与s o a 相 似。 然而,现在的s o a 已经有所不同了,因为它依赖于一些更新的进展,这些 进展是以可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,l ) 为基础的。通 过使用基于l 的语言( 称为w 曲服务描述语言( w 曲s e r v i c e s sd e f i n i t i o n l a l l g u a g e ,w s d l ) ) 来描述接口,服务已经转到更动态且更灵活的接口系统中, 非以前c o r b a 中的接口描述语言( i n t e r f a c ed e n n i t i o nl a n g u a g e ,i d l ) 可比 了。 s o a 包含三种角色:服务提供者( s e i c e sp r o v i d e r ) 、服务请求者( s e r v i c e s c o n s 呦e r ) 、服务代理者( s e r v i c e sb r o k e r ) ,这三种角色通过三个基本操作:发布 ( p u b l i s h ) 、查找( f i n d ) 、绑定( b i n d ) 相互作用。服务提供者向服务代理者发布服务, 服务请求者通过服务代理者查找所需的服务,并绑定到这些服务上。服务提供 者和服务请求者之间可以交互。 s o a 架构具有一些典型特性,主要包括松耦合性,位置透明性以及协议无 关性。s o a 伴随着无处不在的标准,为企业的现有资产或投资带来了更好的重 用性。s o a 能够在最新的和现有的应用之上创建应用;s o a 能够使客户或服务 消费者免予服务实现的改变所带来的影响:s 0 a 能够升级单个服务或服务消费 者而无需重写整个应用,也无需保留已经不再适用于新需求的现有系统。总而 言之,s 0 a 以借助现有的应用来组台产生新服务的敏捷方式,提供给企业更好 的灵活性来构建应用程序和业务流程。 从本质上来说,s o a 是一种架构模式,而w e b 服务是利用一组标准实现的 服务,w c b 服务是实现s o a 的方式之一。用w e b 服务来实现s o a 的好处是可 以实现一个中立平台,来获得服务,而且随着越来越多的软件商支持越来越多 的w e b 服务规范,这会取得更好的通用性。s o a 本身是应该如何将软件组织在 武汉理工大学硕士学位论文 一起的抽象概念,它依赖于用x m l 和w e b 服务实现并以软件的形式存在的更 加具体的观念和技术。 2 2w 曲服务的关键问题 二十世纪九十年代末,随着分布式对象技术和x m l 技术的发展,出现了 w e b 服务( w 曲s e r v j c e s ) 技术。近年来w e b 服务已成为大热点。支持w e b 服务 的软件产品从数据库系统、应用服务器、标准应用到办公应用,大量涌现,各 种支持w 曲服务的开发和部署工具等也已出现。w e b 服务成为现代系统体系结 构一个密不可分的部分。 w e b 服务是一种新型的w 曲应用程序,它们是自适应、自我描述、模块化 的应用程序,这些应用程序可以跨越w 曲进行发布、定位和调用。w 曲服务所 执行的功能可以是从简单的请求到复杂的商业过程中的任何事。一旦部署了w e b 服务,其它的应用程序( 及其它的w 曲服务) 可以发现和调用所部署的服务。 w 曲服务是使应用程序可以以与平台和编程语言无关的方式进行相互通信 的一项技术。w 曲服务是一个软件接口,描述了一组可以在网络上通过标准化 的) 口l 消息传递访问的操作,通过使用基于x m l 语言的协议来描述要执行的 操作或者要与另一个w 曲服务交换的数据。 w 曲服务所使用的l 可以用真正与平台无关的方式来描述任何数据 以实现跨系统交换数据,因此转向了松耦合应用程序。而且,w e b 服务可以在 较抽象的层面上工作,较抽象层面可以按照需要动态地重新评估、修改或处理 数据类型。所以,从技术层面上讲,w 曲服务可以更方便地处理数据,并且允 许软件更自由地进行通信。 从更高的概念层面上讲,我们可以将w e b 服务视为一些工作单元,每个单 元处理特定的功能任务。再往上一步可以将这些任务组合成面向业务的任务, 以处理特定的业务操作任务,从而使非技术人员去考虑一些应用程序,这些应 用程序可以在w e b 服务应用程序工作流中一起处理业务问题。因此,一旦由技 术人员设计并构建好w 曲服务之后,业务流程架构设计师就可以聚集这些 w 曲服务来解决业务层面上的问题。 从外部的使用者的角度而言,w e b 服务是一种部署在w 曲上的对象组件, 它具备以下特征: 武汉理工大学硕士学位论文 f 1 ) 完好的封装性。w 曲服务既然是种部署在w e b 上的对象,自然具备 对象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。 f 2 ) 松散耦合。这一特征也是源于对象,组件技术,当一个w 曲服务的实现 发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要w e b 服 务的调用界面不变,w 曲服务实现的任何变更对他们来说都是透明的。对于松 散耦合而言,尤其是在i n t e m e t 环境下的w c b 服务而言,需要有一种适合i r l t e m e t 环境的消息交换协议。而订l s o a p 正是目前最为适合的消息交换协议。 f 3 ) 使用协约的规范性。这一特征也从对象而来,但相比一般对象,其界面 规范更加规范化和易于机器理解。首先,作为w 曲服务,对象界面所提供的功 能应当使用标准的描述语言来描述( 比如w s d l ) ;其次,由标准描述语言描述的 服务界面应当是能够被发现的,因此这描述文档需要被存储在私有的或公共 的注册库里面。同时,使用标准描述语言描述的使用协约将不仅仅是服务界面, 它将被延伸到w 曲服务的聚合、跨w 曲服务的事务、工作流等,而这些又都需 要服务质量( 0 0 s ) 的保障。其次,我们知道安全机制对于松散藕合的对象环境的 重要性,因此我们需要对诸如授权认证、数据完整性( 比如签名机制) 、消息源认 证以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所 有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。 ( 4 ) 使用标准协议规范。作为w 曲服务,其所有公共的协约完全需要使用 开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范, 以便由任意方进行实现。一般而言,绝大多数规范将最终由w 3 c 或o a s i s 作 为最终版本的发布方和维护方。 ( 5 ) 高度可集成能力。由于w 曲服务采取简单的、易理解的标准w e b 协议 作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是 c o r j ;a ,d c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了在 当前环境下最高的可集成性。 2 2 1 当前w 曲服务的主要使用分类 综合当今的w 曲应用,可以把w 曲服务分为以下四类 8 j1 9 】【1 0 】: ( 1 ) 面向商务的w 曲服务( b 、l s i n e s s o r i e n t e dw e bs e n r i c e s ) 。该类服务针对 的是那些面向企业的应用服务,包括企业内部的e r p 系统、企业间的s c m ,c r m 等系统。 武汉理工大学硕士学位论文 ( 2 ) 面向消费者的w c b 服务( c o n s 啪e r o r i e m e dw e bs e r v i c e s ) 。此类服务是 针对那些原先的b 2 c 网站的改造,为这些b r o w s e r 0 r i e n t e d 的w 曲应用增加 w e b 服务的应用界面,使得第三方的桌面工具或其自身提供的增值的桌面工具 能够利用更优秀的用户界面提供跨越多个b 2 c 服务的桌面服务。这将使得用户 使用i n t e m e t 更为方便,能够获得更加便捷的服务。 ( 3 ) 面向设备的w c b 服务( d e v i c e o r i e m e dw 曲s e r v i c e s ) 。此类服务的使用 终端般是手持设备和日用家电,对于前者而言,可以在不用修改网络服务的 体系架构的前提下,令先前的网络服务支持除p c 以外的各种终端,比如p a l m 、 手机等。 ( 4 ) 面向系统的w e b 服务( s y s t e m o r i e n t e dw e bs e n ,i c e s ) 。一些传统意义上 的系统服务,比如用户权限认证、系统监控等,如果被迁移到全球范围的i n t e i n e t 上或者企业内部的i n t r a i l e t 上,其作用范围将从单个系统或局部网络拓展到整个 企业网络或整个1 1 1 t e m e t 上。 2 2 2w 曲服务的应用领域 w 曲服务基本上覆盖了传统分布计算技术的应用领域。作为目前最典型的 异构分布技术,w e b 服务在应用程序跨平台和跨网络进行通信的时候是非常有 用的。w 曲服务适用于应用程序集成、b 2 b 集成、代码和数据重用,以及通过 w 曲进行客户端和服务器之间通信的场合。下面是几个w 曲服务主要的应用领 域:】f 1 2 】 ( 1 )跨越防火墙的通信。如果应用程序有成千上万的用户,而且都分布在 世界各地,那么客户端和服务器之间的通信将是一个麻烦的问题。因为客户端 和服务器之间通常都会有防火墙或者代理服务器,这时,使用传统的分布式模 型就不是那么简单,而且,通常也不可能把客户端程序发布到如此庞大数量的 每一个用户手中。一般的做法是用浏览器作为客户端。但这可能得到个根本 无法维护的应用程序。但若中间层组件是w e b 服务的话,则完全可以从用户界 面直接调用中间层组件。这样做,不仅可以缩短开发周期,还可以减少代码的 复杂度,增强整个应用程序的可维护性。并且由w 曲服务组成的中间层完全可 以在应用程序集成或其他场合下被重用。同时,通过w 曲服务把应用程序的逻 辑和数据暴露出来,还可以让其它平台上的客户重用你的应用程序。 ( 2 )应用程序集成。在企业应用里,经常要把在不同平台上运行的,用不 武汉理工大学硕士学位论文 同语言写成的各种程序集成起来。通过w 曲服务,应用程序可以用标准的方法 把功能和数据暴露出来,供其它的应用程序使用。 用w 曲服务来实现集成的最大好处在于可以轻易实现互操作性。只要把你 的商务逻辑以w e b 服务形式暴露出来,就可以让任何指定的合作伙伴轻松的调 用你的商务逻辑,而不管他们的系统在什么平台上运行,使用的是什么开发语 言。这样就大大减少了花在集成上的时间和成本。 f 3 1软件重用。软件重用是一个很大的主题,它有很多的形式和程度。最 基本的形式是源代码模块或者类一级的重用,另一种形式则是二进制形式的组 件重用。目前,软件重用有一个严重的限制,即重用仅限于代码,而数据不能 被重用。因为可以很轻易的发布组件甚至源代码,但要发布数据就没那么容易 了,除非那些数据都是不会经常变化的静态数据。而w e b 服务则允许在重用代 码的同时,重用代码后面的数据。使用w e b 服务,你不再像以前那样,要先从 第三方购买、安装软件组件,再从你的应用程序中调用这些组件。你只需要直 接调用远端的w e b 服务就可以了。另一种软件重用的情况是把好几个应用程序 的功能集成起来。总之,w e b 服务将是软件重用的一种非常有力的形式。 当然,w 曲服务不是万能的,也不能到处滥用w 曲服务。在有些情况下, 使用w 曲服务会降低应用程序的性能,而不会带来任何好处。如单机应用程序。 这时使用w 曲服务不仅消耗太大,而且不会带来任何好处;还有如局域网上的 同构应用程序( 同构应用程序指应用程序的开发工具和使用的技术相同) ,在局 域网内如果这些应用程序间需要通信,那最好不要使用w 曲服务,因为这样的 应用程序使用d c o m 或者别的一些技术比使用s o a p m t t p 效率更高。 2 2 3 使用w 曲服务的优点【8 】【9 】 1 0 l w 曲服务是为应用程序的使用而准备的,而不是为最终用户准备的。通过 将一个系统发布成一个w 曲服务,第三方可以将我们的系统功能整合到他们自 己的客户应用程序中,只需简单地访问合适的w e b 服务以执行所需的操作而 无需在系统中另行设计所需的功能。 w e b 服务不仅为那些使用第三方w e b 服务的应用程序提供了很多的好处, 同时也为使用w e b 服务的客户应用程序本身提供了很多好处。 f 1 ) w 曲服务促进了互操作性 因为服务提供者和服务请求者不知道彼此所使用的平台或语言,这需要提 1 0 武汉理工大学硕士学位论文 供互操作性。所以一个服务提供者和服务请求者之间的交互需要被设计成完全 独立于任何平台和语言。该交互需要一个w s d l 文档,随同网络协议一起( 通 常是h t t p ) ,来定义接口和描述服务。 ( 2 ) w 曲服务促使即时集成 当服务请求者通过服务代理查找到服务提供者时,发现服务就动态的产生 了。一旦请求者和提供者发现了彼此,提供者的w s d l 文档将被用来将请求者 和服务绑定在一起。所有这些要求请求者、提供者和代理共同工作来创建可自 我配置、适应的、强健的系统。 ( 3 1 w 曲服务通过封装减少了复杂程度 服务请求者和提供者只关注相互进行交互的必要接口。这样,服务请求者 不知道服务提供者如何实现它的服务而服务提供者对于服务请求者如何使用 他的服务也是一无所知。这些详细信息将被请求者和提供者封装起来,封装对 于减少复杂程度是很关键的。 f 4 ) w 曲服务赋予旧的应用程序新的生命 将应用程序包装为w e b 服务是相对简便的,首先生成s o a p 封装器,然 后生成w s d l 文档并将应用程序作为w e b 服务,这意味着旧的应用程序可以 以一种新的有趣的方法使用。另外,与旧的应用程序相关的基础( 安全性、目 录服务、交易等) 也可以“封装”成套服务。 f 5 ) w c b 服务提高了系统安全性 w e b 服务像所有的w 曲应用程序一样安全,保护在线商业站点使用的技术 也同样用于保护和验证w 曲服务的身份。对数据进行全球统一编址并不意味着 让所有人都可以访问你的数据,我们可以通过不公布其u r i 而很方便地隐藏对 象,也可以很方便地对对象使用安全策略。几乎所有的防火墙都允许h t t p 通 过,这就意味着可以在i n t e m o t 上的防火墙背后提供w 曲服务,但是这并不意味 着能够任意访问你使用x m l 编码的h t t p 信息包的受保护的网络。以资源为中 心的w 曲服务可以很好地与防火墙进行合作,防火墙管理员能够很容易地通过 阻止不使用g e t 方法的h t t p 请求而使一种w 曲服务只能被读取。 w 曲服务是电子商务中的下一次革命。查看每个有用的内容片段和每个有 用的应用程序的开始应该是具有自我描述、动态发现服务,这样就形成了一个 应用程序开发的新模型。所有这些技术都是构建在现有的w 曲标准之上,意味 着似乎不久以前还令人激动的w 曲应用程序领域现在成为理所当然的了。 武汉理工大学硕士学位论文 第3 章w e b 服务在应用中的关键问题 w 曲服务是一种部署在w e b 上的对象,因此具有对象技术所承诺的所有优 点,同时,w 曲服务的基石是以l 为主的、开放的w 曲规范技术,因此具 有比任何现有的对象技术更好的开放性。 实现一个完整的w e b 服务体系需要有系列的协议规范来支撑,w 曲服务 追求的第一目标是简单性。首先,这些协议本身都是简单的,无论是h t t p 、f t p 、 传统的t c p i p 协议,还是s o a p 、w s d l 、u d d i 等基于订l 的协议,他们 设计原则中都强调了简单性。其次,一个可以使用的w 曲服务应按照需要选用 若干层次的功能,而无需所有的特性。最后,所有的机制完全基于现有的技术, 并没有创造一个完全的新体系。无论是h 1 v r p 、f t p 这些现有的网络协议,还是 s o a p 、w s d l 等这些基于x m l 而定义的协议都遵循着一个原则:继承原有的 被广泛接受的技术,这样才能使得w 曲服务被广泛接受。 3 1w 曲服务体系架构【2 】1 1 0 【2 0 】 w 曲服务支持s o a ,它基于三种角色服务提供者、服务注册中心和服 务请求者之间的交互,交互涉及发布、查找和绑定三类操作。这些角色和操作 一起作用于w 曲服务的组件:w e b 服务描述和软件模块。在这种交互模型中, 服务请求者能发现w 曲服务,动态地绑定服务。w e b 服务的核心技术是w 曲服 务之间的通信,因此,为了使对应的异质、分布和基于动态发现的环境可以工 作,互操作性是关键,也是各种标准必须满足的。 在典型情况下,服务提供者托管可通过网络访问的软件模块( w e b 服务的一 个实现) ,服务提供者定义w 曲服务的服务描述并把它发布到服务请求者或服务 注册中心,服务请求者使用查找操作来从本地或服务注跚中心检索服务描述, 然后使用服务描述与服务提供者进行绑定并调用w 曲服务实现或同它交互。服 务提供者和服务请求者角色是逻辑结构,服务提供者同时也可以是服务请求者, 而服务请求者同时也可以是服务提供者。图3 1 显示了这些操作、提供这些操作 的组件及它们之间的交互。 武汉理工大学硕士学位论文 图3 1w e b 服务的角色、操作和构件 服务提供者。服务提供者将服务部署在w e b 上,通过使用w e b 服务描述 语言来描述给定w c b 服务提供的功能。从企业的角度看,这是服务的所有者。 从体系结构的角度看,这是托管访问服务的平台。服务提供者将所部署的服务 发布在w e b 上,由服务注册中心帮助服务提供者和服务请求者找到彼此。 服务请求者。服务请求者使用a p i 向服务注册中心寻求它所需要的服务。 当服务注册中心返回结果时( 将它们作为搜索结果) ,服务请求者将这些结果与 特定服务绑定。从企业的角度看,这是要求满足特定功能的企业。从体系结构 的角度看,这是寻找并调用服务,或启动与服务交互的应用程序。服务请求者 角色可以由浏览器来担当,由人或无用户界面的程序( 例如,另外一个w 曲服务) 来控制它。 服务注册中心。这是可搜索的服务描述注册中心,服务提供者在此发布他 们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并 获得服务的绑定信息( 在服务描述中) 。 任何程序或网络节点都可以承担某一种角色的作用。在某些情况下,单一 程序可以充当多个角色。如某程序既可以是下游消费者提供w 曲服务的服务提 供者,也可以是服务请求者,消费由其他提供者提供的w e b 服务。 w c b 服务一般包括以下三种操作功能: ( 1 )发布( p u b l i s h ) 。为了使服务可访问,需要发布服务描述以使服务请求 者可以查找它。发布服务描述的位置可以根据应用程序的要求而变化。 ( 2 )查找( f i n d ) 。在查找操作中,服务请求者直接检索服务描述或在服务 注册中心中查询所要求的服务类型。对于服务请求者,可能会在两个不同的生 命周期阶段中牵涉到查找操作:在设计时为了程序开发而检索服务的接口描述, 而在运行时为了调用而检索服务的绑定和位置描述。 武汉理工大学硕士学位论文 ( 3 )绑定( b i n d ) 。最后需要调用服务,在绑定操作中,服务请求者使用服 务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服 务的交互。 3 2w 曲服务协议栈 8 1 0 1 1 为了实现w c b 服务的体系模型,完成在分布式网络环境下,对各种对象模 块的调用,需要一系列的协议规范来支持。对面向服务体系结构,业界建立了 一个概念性w e b 服务协议栈,这些层次的协议需要对应的w 曲服务技术。 首先,服务提供者必须将自己提供的服务接口用w s d l ( w e bs e “i c e s d e s c r i p t i o nl a i l g u a g e ,w 曲服务描述语言) 协议描述出来,然后使用u d d i ( u n i v c r s a ld e s c r i p d o nd i s c o v e r ya i l di n t e g r a t i o n ,统一描述发现与集成) 协议在 服务注册中心进行注册,服务注册中心接受服务请求者的查询,以便返回请求 者所需服务的接口描述文件;最后服务请求者绑定到服务提供者,并最终完成 调用。所有这些角色间的调用都采用基于x m l 的s o a p 协议来完成。表3 1 列出了w e b 服务的一些基础协议。上面的层建立在下面层提供的功能之上( 中 间栈中的文字描述表示在协议栈中每一层必须满足的需求,左边的文本表示协 议栈的那一层所应用的标准技术) ,其中,底部的灰色部分是先前己经定义好的 并且广泛使用的传输层和网络层的标准,左边的白色部分是目前开发的w e b 服 务的相关标准协议,包括服务调用协议s o a p 、服务描述协议w s d l 和服务发 现描述集成协议u d d i ,以及服务工作流描述语言w s f l ,右边部分为各个协议 层的公用机制。 表3 1w 曲服务协议栈 t o o ll a v e r 。 -| b u s i n e s s l s s u e s w s f ls e i c e sf 1 0 w s t a t i cu d d is e r v i c e sd i s c o v e r y o c d i r e c tu d d is e r v i c e sp u b l i c a t

温馨提示

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

评论

0/150

提交评论