




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着信息化的发展,应用系统的集成问题越来越受到人们的关注。企业要求针对其 业务过程对信息进行整合管理。分布式异构系统的集成问题是企业应用集成要解决的关 键问题。面向服务架构( s e r v i c eo r i e n t e da r c h i t e c t u r es o a ) 的提出为企业应用集成 提供了一种动态、可扩展的架构方案。w e b s e r v i c e s 的逐渐成熟为s o a 以及企业应用集 成提供了技术支持。 本文概要的介绍了面向服务架构的概念,特征以及w e b s e r v i c e 的主要协议。在研 究了一种典型基于w e b s e r v i c e 的面向服务集成框架的基础上,分析了该框架的各个组 成部分、工作机制以及与传统企业应用集成相比较的优势。以异构平台下企业间交互系 统的应用实例为背景,根据系统的特点和实际情况,提出采用面向服务集成框架设计和 实现系统。 在构建系统的应用架构,确定w e b s e r v i c e 的实现环境和安全保障策略的基础上, 将j a v a 的j a x r p c 技术,x m l 技术和s o a p 技术有效结合起来,实现异构平台下面向服 务的应用集成。 关键词:应用集成,面向服务,w e bs e r v i c e a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o n ,m o r ea n d m o r ea t t e n t i o ni sp a i do n i n t e g r a t i o no f a p p l i c a t i o ns y s t e m t h ee n t e r p r i s er e q u i r e si n f o r m a t i o nc o n f o r m i t ym a n a g e m e n ta c c o r d i n g t h e r eo p e r a t i o np r o c e s s t h ei n t e g r a t i o no fh e t e r o g e n e o u sd i s t r i b u t e ds y s t e m si st h ek e y p o i n t t ot h ee n t e r p r i s ei n t e g r a t i o n 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 ( s o a ) s u p p l y sad y n a m i ca n d e x p a n d a b l eb l u ep r i n t t h em a t u r i t yo fw e bs e r v i c ea f f o r d ss o aa n dt h ee n t e r p r i s e i n t e g r a t i o nt e c h n i cs u p p o r t t h i sd i s s e r t a t i o np r o v i d e sa no v e r v i e wo fs o a sc o n c e p t ,a d v a n t a g e sa n dm a i n p r o t o c o l s o fw e bs e r v i c e a f t e rr e s e a r c h i n g0 1 1a r e p r e s e n t a t i v es e r v i c eo r i e n t e di n t e g r a t i o nf r a m e w o r k b a s e do nw e bs e r v i c e ,ia n a l y z et h ee a c hs t r u c t u r eo ft h ef r a m e w o r k ,w o r km e c h a n i s ma n d a d v a n t a g e so fc o m p a r i n gw i t ht r a d i t i o n a le n t e r p r i s ei n t e g r a t i o nm e t h o d s b a s e do nt h e a p p l i c a t i o no fi n t e r - e n t e r p r i s ei n f o r m a t i o no nh e t e r o g e n e o u sp l a n t f o r m ,s e r v i c eo r i e n t e d i n t e g r a t i o nf r a m e w o r kw a sa d o p t e df o ra p p l i c a t i o nd e s i g na n dr e a l i z a t i o n o nt h eb a s i so fc o n s t r u c t i n ga p p l i c a t i o nf r a m e ,c o n f i r m i n gt h ew e bs e r v i c ee n v i r o n m e n t a n ds e c u r i t yp o l i c y , e f f e c t i v e l yc o m b i n ej a x - r p ca n dx m l w i t hs o a pa n dr e a l i z et h e s e r v i c eo r i e n t e da p p l i c a t i o ni n t e g r a t i o no nh e t e r o g e n e o u s p l a t f o r m k e yw o r d s :a p p l i c a t i o ni n t e g r a t i o n ,s o a , w e bs e r v i c e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取 得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得 墨盗墨兰盘至或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研 究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:旅互确、 签字日期:沙g 年,月矿日 学位论文版权使用授权书 本学位论文作者完全了解 墨盗墨兰盘望有关保留、使用学位论文 的规定。特授权墨盗墨兰太望 可以将学位论文的全部或部分内容编入 有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编, 以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复本和电子 文件。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:张虽朝、导师签名: 觚渺幻 签字日期:2 刀铲年 厂月9 日 签字日期勿- 年f 月f 驴囱 第一章绪论 1 1 研究背景及意义 第一章绪论 随着现代信息技术和计算机网络技术的飞速发展,系统的完整性和一致性,向着群 体生产率的提高、不同系统之间的适应性和灵活互连而变化,软件的非功能性需求比以 往得到更大的重视。以主机为中心的计算方式转变为以网络为中心的计算方式,通过网 络计算的方式,人们可以分散在不同的地理位置上,通过网络进行跨时空地共享信息、 协同工作,极大地提高了工作效率。但是,这一方面导致应用系统的功能、性能、规模 和复杂性的极大增长,另一方面要求各种应用系统之间能够互相交互,为此,应用系统 集成成为非常重要的课题。应用集成将成为当前信息产业中最具有挑战性的工作之一。 在构建企业应用时,目前大多应用系统采用“独立解决方案”,开发者和企业逻 辑相结合,在特定的操作系统平台上、特定的集成开发环境下、基于特定的数据表达格 式,进行特定应用软件系统的开发,很少考虑应用的可集成性、可重用性、可定制性、 可移植性,造成了众多软硬件平台、各类应用系统并存的局面。当众多应用系统需要信 息共享时,往往以某一个或某几个关键应用系统为主,基于系统提供接口进行二次开发, 在需要共享信息的系统间由特定的程序员提供复杂的访问接口,与其它系统进行整合, 是一种复杂系统对接的模式。结果往往形成了众多的数据孤岛和小规模的集成。随着企 业信息化的进展,新的应用部署需要考虑新的接口开发,应用的每次更改都必须由特定 的程序员来完成众多复杂接口的升级。 面向服务架构就是在此背景下出现的,被誉为下一代服务的基础框架,目前己经成 为计算机信息领域的一个新的发展方向,并不是一个新概念,2 0 年前,g a r e r g r o u p 就 提出了s o a 概念,其基本思想是以服务为核心,将企业的资源整合成可操作的、基于标 准的服务,使其能被重新组合和应用,在不改变企业应用底层架构的基础上,基于应用 集成的开发方案可以很好地消除异构性,抹平系统之间的差异,实现应用系统的无缝集 成。与传统的端到端的企业应用系统不同,s o a 提供了一系列的“服务 模块,这些服务 模块具有定义良好的输入输出接口以及功能完善的处理模块,并且可为整个企业内部大 多数的系统所用,因此,传统的端到端的系统可以方便的利用这些服务集成在一起。 1 2 国内外研究状况 早在1 9 9 6 年,g a r t n e r g r o u p 就已经提出了s o a 的预言,不过那个时候仅仅是一个“预 言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进实质性应用阶 段。2 0 0 2 年1 2 月,g a r t n e r 又提出了s o a 是“现代应用开发领域最重要的课题”,并且 预言至u 2 0 0 8 年,7 5 的新的企业应用将使用s o a 的元素,从2 0 0 3 年的2 0 产生急剧的增长; 第一章绪论 到2 0 0 6 年,在全球销售出的所有商业应用产品中,面向服务的将超过8 0 ;至u 2 0 0 5 年, 试图建立实时企业能力的企业中,8 0 将会严重的低估网络的需求,他们将不得不做出 最后的增加、升级或者修改,从而能够开展实时企业应用和能力。2 0 0 8 年,s o a 将成为 占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用s o a 开发技能方 面进行投资,更好地支持商业流程。 面向服务的体系结构是基于“软件变服务思想,提出了一种新的解决软件重用和 软件集成的方案。通过采用面向服务的体系结构,企业能够迅速便捷构建开放的、模块 化的、可重用的软件组件。这种模式尤其适合面向广域环境的大规模应用场景,如跨企 业的电子商务系统( 如供应链管理等) 、跨地域或者跨部门的电子政务系统、i n t e r n e t 环 境下的协同计算( 如网格计算、虚拟组织等等) o 己经有一系列基于x m l 的w e b 服务标准被业界广泛接受,形成了w e b 服务的核心技术。 针对己公布的标准,许多大型企业( i b m ,m i c r o s o f t ,o r a c l e ,s u n ,b e a 等) 开始着手对 基于w e b 服务的面向服务的体系架构予以实现和推广。目前,己经有越来越多的企业开 始将其i t 架构转向s o a 。美国i n f o w o r l d 在2 0 0 5 年3 月所做的调查显示,半数以上的企业 都在计划部署s o a 。其中,1 3 的企业已经开始实施试验性质的s o a 部署;8 的企业实现 了企业范围内的s o a :4 的企业实现了部门范围内的s o a ;3 的企业己经在各分支机构 内部实现了s o a ;还有2 0 的企业己经在积极规划s o a 的实施。而在那些未实施s o a 的企业 中,有1 4 的企业把s o b 作为其一年内第一优先级的大事,而把s o a 作为未来三年内第一 优先级的企业则激增至3 0 9 6 。可见,s o a 己成大势所趋,有着广阔的市场空间和巨大的发 展潜力。 1 3 本文的研究目标和技术路线 本文首先主要是对面向服务的体系结构与w e b 服务技术进行分析,深入理解s o a 在 系统集成方面的优势和w e b 服务的主要协议。接下来详细讨论了一种基于面向服务的集 成框架,并将其应用到项目开发实践中。 本系统是基于i n t e r n e t 的应用系统,采用基于j 2 e e 的分布式多层结构体系。把j a v a 的j a x r p c 技术,x m l 技术和s o a p 技术有效结合起来,使本系统易扩展、跨平台、跨防 火墙、灵活度高,满足业务逻辑多变的现代企业信息系统构建要求。 1 4 本文的组织结构 第一章绪论,就面向服务架构的发展及其优势,说明其可解决当前企业信息化中 应用集成的问题,从而证明该课题的研究意义。 第二章面向服务的体系结构和w e b 服务,介绍s o a 的基本概念、协议栈,架构特 征以及实现s o a 的最好方式w e b 服务的概念,着重阐述了w e b 服务的主要协议,论述s o a 在解决系统集成方面的优势。 第三章基于w e b s e r v i c e 的面向服务集成框架,介绍一个典型基于w e b s e r v i c e 的 第一章绪论 面向服务集成框架,讲述该框架的优势。着重对该框架的四层组成部分进行详细讨论。 第四章面向服务架构应用集成的设计,首先介绍系统的基本状况,根据系统的特 点和实际情况,确定采用面向服务集成框架设计和实现此系统,然后构建系统的应用架 构,确定w e b s e r v i c e 的实现环境和安全保障策略。 第五章面向服务架构应用集成的实现,根据上一章的设计方案,实现系统的具体 功能。 第六章总结和展望,对本文进行简单总结,并对今后更进一步研究提出指导方向。 第二章面向服务的体系结构和w e b 服务 第二章面向服务的体系结构和w e b 服务 2 1 面向服务的体系结构( s o a ) s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ,面向服务的体系结构) 是一种设计方法学, 其目的是最大限度的重用应用程序中已形成的服务来提供i t 适应性和效率。这是一种 “抽象、松散藕合和粗粒度”的软件架构,它可以根据需求通过网络对松散耦合的粗粒 度应用组件进行分布式部署、组合和使用。服务层是s o a 的基础,可以直接被应用调用, 从而有效控制系统中与软件代理交互的人为依赖性。 2 1 1s o a 的定义 本质上说,s o a 是一种面向接口的软件构架,是服务和服务的用户之间的一种联系, 通过一个充分的软件模型来代替和实现一个商务功能,通过一个接口来实现软件模型就 是服务。它将应用程序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和 契约联系起来k “。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件 平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和 通用的方式进行交互。 s o a 也是一种设计和构建松散耦合的软件解决方案的方法,松散耦合的解决方案能 够以程序化的可访问的软件服务形式公开其业务功能,并使其他应用程序可以通过己发 布的和可发现的接口来使用这些服务。通过应用s o a ,一个企业可以使用一组分布式服 务来构成并组织应用程序,并能通过重用企业自己的资产及其伙伴的业务功能来构造新 的应用程序和修改现有的应用程序。w e b s e r v i c e s 代表了面向服务的体系结构的一种实 现,但并不能认为所有的s o a 应用程序都是w e bs e r v i c e s 。 s o a 是一种企业构架,是从企业的需求开始的。s o a 和其它企业架构方法的不同之 处在于s o a 提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应,并 且利用变更来得到竞争优势的能力。 2 1 2s o a 的角色 r 口0 1 任何面向服务的架构均包含三个角色服务提供者,服务请求者和服务注册中心“, 如图2 1 所示。 第二章面向服务的体系结构和w e b 服务 。 图2 1s o a 中的协作 f i 9 2 。1c o o p e r a t i o ni ns o a ( 1 ) 服务提供者负责建立服务,并为该服务创建一个服务描述,然后将这个服务描 述发布给一个或多个服务注册中心,并从一个或多个服务注册中心那里接收服务请求信 息。 ( 2 ) 服务注册中心负责将服务提供者发布在其上的服务描述广而告之,并允许服务 请求者在本服务注册中心所拥有的服务描述里搜寻。一旦服务注册中心将服务请求者和 服务提供者配对,服务注册中心就不需要再参与交互过程。 对于服务请求者来讲绑定服务信息的方式有两种:静态绑定和动态绑定。静态绑定 是在开发应用程序的时候查询相关的服务信息,并得到服务的接口信息。在这种方式下, 服务注册者是可选的,因为服务请求者不必一定要从服务注册者处获得服务提供者的访 问位置,还有很多其它的方式同样可以获得服务提供者的信息,比如u r l 、e m a i l 等; 动态绑定是指服务请求者在运行过程中从服务注册者处获得服务信息并动态调用相关 功能的过程。 ( 3 ) 服务请求者负责寻找发布在一个或多个服务注册中心那里的一个服务描述,并 负责使用服务描述来绑定或者调用服务提供者所提供的服务。一个服务的任何用户都可 被看作服务请求者。 s o a 还包含三种操作:发布( p u b l i s h ) 、查找( f i n d ) 和绑定( b i n d ) 。 这些操作定义了s o a 的角色之间的契约。 1 ) 发布操作是服务注册中心的动作。它成为服务注册中心和服务提供者 之间的契约。 2 ) 通过查找操作,服务请求者陈述一条或者多条搜索标准,例如服务的类型、服 务的质量等等。查找操作的结果是一个符合查找标准的服务描述的列表。 3 ) 绑定操作在服务请求者和服务提供者之间体现c l l e n t s e r v e r 的关系。 第二章面向服务的体系结构和w e b 服务 绑定操作可以是动态的,也可以是静态的。 2 1 3s o a 协议栈 s o a 提供了一种方法,通过这种方法可以构建分布式系统并将应用程序功能作为服 务提供给终端用户应用程序或其他服务。其组成元素可以分成功能元素( f u n c t i o n s ) 和 服务质量元素( q u a l i t yo fs e r v i c e ) 。图2 2 展示了s o a 体系结构协议栈。 图2 2s o a 体系结构协议栈 f i 9 2 2s e r v i c e 弋) r i e n t e da r c h i t e c t u r ep r o t o c o ls t a c k 从上图可以看出,体系结构堆栈的左边部分集中于功能性方面,而右边部分集中于 服务质量方面。其中的元素详细描述如下“: ( 1 ) 功能元素 a 传输( t r a n s p o r t ) :一种机制,用于将来自服务请求者的请求传送给服务提 供者,并且将来自服务提供者的响应传送给服务请求者。 b 服务通信协议( s e r v i c ec o m m u n i c a t i o np r o t o c 0 1 ) :一种经过协商的机制, 通过这种机制,服务提供者和服务请求者可以就将要请求和返回的内容进行沟通。 c 服务描述( s e r v i c ed e s c r i p t i o n ) :一种经过协商的模式,用于描述服务是 什么、应该如何调用服务以及成功地调用服务需要什么数据。 d 服务( s e r v i c e ) :描述实际可供使用的服务。 e 业务流程( b u s i n e s sp r o c e s s ) :服务的集合,可以按照特定的顺序并使用 一组特定的规则进行调用,以满足业务要求。业务流程本身也可作为服务,由不同粒 度的服务组成。 f 服务注册中心( s e r v i c er e g i s t r y ) :服务和数据描述的存储库,服务提供 者可以通过服务注册中心发布它们的服务,而服务请求者可以通过服务注册中心发 第二章面向服务的体系结构和w e b 服务 现或查找可用的服务。服务注册中心可以给需要集中式存储库的服务提供其他的功 能。 ( 2 ) 服务质量元素 a 策略( p o li c y ) :一组条件和规则,在这些条件和规则之下,服务提供者可以 使服务可用于服务请求者。策略既有功能性方面,也有与服务质量有关的方面,因此 在功能和服务质量两个区中都有策略功能。 b 安全性( s e c u r i t y ) :一组规则集,可以应用于调用服务的服务请求者的身份 验证、授权和访问控制。 c 事务( t r a n s a c t i o n ) :一组属性集,可以应用于一组服务,以提供一致的结 果。例如,如果要使用一组服务来完成一项业务功能,那么所有的服务必须都完成, 或者没有一个完成。 d 管理( m a n a g e m e n t ) :一组属性集,可以应用于管理提供的服务或使用的服 务。 2 1 4s o a 的特征及优势 ( 1 ) 服务随时可用 当有服务使用者请求服务时,要求必须有服务提供者能够响应。大多数都能够为门 户应用之类的同步应用和之类的异步应用提供服务。同步应用对于其所使用的服务具有 很强的依赖性。 ( 2 ) 粗粒度服务接口 使用者和服务层之间不必再进行多次的往复,一次往复就足够。除去基本的往复效 率,事务稳定性问题也很重要。在个单独事务中包含的多段细粒度请求可能使事务处 理时间过长,导致后台服务超时,从而中止。与此相反,从事务的角度来看,向后台服务 请求大块数据可能是获取反馈的唯一途径。 ( 3 ) 松散耦合 s o a 具有“松散耦合 组件服务,这一点区别于大多数其他的组件架构。该方法旨在 将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开来。服务提供者 和服务使用者间松散耦合背后的关键点是服务接口作为与服务实现分离的实体而存在。 这使服务实现能够在完全不影响服务使用者的情况下进行修改。 ( 4 ) 可重用的服务及服务接口设计管理 可重用服务采用通用格式提供重要的业务功能,为开发人员节约了大量时间。设计 可重用服务是与数据库设计或通用数据建模类似的最有价值的工作。由于服务设计是成 功的关键,因此实施者应当寻找一种适当的方法进行服务设计过程管理。 ( 5 ) 更快的响应和上市速度 从现有的服务中组合新的服务的能力为需要灵活地响应苛刻的商业要求的组织提 供了独特的优势。通过利用现有的组件和服务,可以减少完成软件开发生命周期( 包括 收集需求、设计、开发和测试) 所需的时间。这使得可以快速地开发新的业务服务,并 允许企业迅速地对改变做出响应和减少上市准备时间。 第二章面向服务的体系结构和w e b 服务 2 2w e b 服务及相关技术 w e bs e r v i c e s 是就现在而言最适合实现s o a 的一些技术的集合,s o a 之所以能发展 的如此迅速,在很大程度上归功于w e bs e r v i c e s 标准的成熟和应用的普及。s o a 是一个 概念上的模型,w e b 服务则是一组协议构成的协议栈所定义的框架结构,它定义了在不 同的系统之间通信松散耦合的编程框架。 2 2 1w e b 服务的基本概念 w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 目前对于w e b 服务( w e bs e r v i c e ,w s ) 的定义为: 一个w e b 服务是一个可以用u r i 来标志的软件系统,而且它的公共接口和绑定可以用x m l 格式的信息来定义和描述,它的定义可以被其它软件系统发现,并且其它软件系统可以 通过使用基于x m l 的消息借助i n t e r n e t 协议、通过在w e b 服务的定义中描述的方式与 其交互 1 3 。 w e b 服务就是一种部署在w e b 上的对象( w e bo b j e c t ) ,因此具有对象技术所承诺的 所有优点:同时,w e b 服务的基石是以x m l 为基础的、开放的w e b 规范技术,因此具有 比任何现有的对象技术更好的开放性。采用) ( m l s o a p 作为消息交换协议,对于松散耦 合而言,尤其是在i n t e r n e t 环境下的w e b 服务而言,) ( m l s o a p 正是目前最为适合的消 息交换协议,解决了将分布式应用扩展到i n t e r n e t 上的问题。它具有以下特点“: ( 1 ) 完好的封装性。w e b 服务既然是一种部署在w e b 上的对象,自然具备对象的良好, 封装性,对于使用者而言,能且仅能看到该对象提供的功能列表。 ( 2 ) 松散耦合性。这一特征也是源于对象组件技术,当一个w e b 服务的实现发生变 更的时候,调用者是不会感到这一点的,对于调用者来说,只要w e b 服务的调用界面不 变,w e b 服务实现的任何变更对他们来说都是透明的,甚至是当w e b 服务的实现平台从 j 2 e e 迁移到了n e t 或者是相反的迁移流程,用户都可以对此一无所知。对于松散耦合 而言,尤其是在i n t e r n e t 环境下的w e b 服务而言,需要有一种适合i n t e r n e t 环境的消 息交换协议。而) ( m l s o a p 正是目前最为适合的消息交换协议。 ( 3 ) 使用标准协议规范。作为w e b 服务,其所有公共的协约完全需要使用开放的标 准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行 实现。一般而言,绝大多数规范将最终由w 3 c 或o a s i s 作为最终版本的发布方和维护方。 ( 4 ) 高度可集成能力。由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件 界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a ,d c o m 还是 e j b 都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。 2 2 2w e b 服务的协议栈 w e bs e r v i c e s 平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的 数据表示方法和类型系统。要实现互操作性,w e bs e r v i c e s 平台必须提供一套标准的类 型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。为此,人们制定 第二章面向服务的体系结构和w e b 服务 了一系列的开放标准协议规范,比如x m l ,s o a p ,w s d l ,u d d i 等。这些标准协议就像一 个堆栈那样共存协作,被称为是“w e bs e r v i c e ss t a c k ( w e b 服务堆栈) ,它们每一个的 作用和它们之间的关系如图2 3 所示。 h 哪 i i o p a n w s f l s e r v i c ef l o w li 图2 - 3w e b 服务堆栈 f i 9 2 3w e bs e r v i c e ss t a c k 服务协议栈根据w e bs e r v i c e s 的有关技术可以分为三层:网络和传输层、描述和发 现层、工作流层。安全性、服务质量保证和易管理性都贯穿于整个三层,而不是某一层 的专有技术,所以在图中是用三列来穿越整体技术层次。这些技术是公用机制,一般由 外部的正交机制来完成。w e bs e r v i c e s 最基础的技术层次是网络和传输层,包含着有助 于信息交换的协议技术。h t t p 凭借其普遍性,成为了因特网可用的w e bs e r v i c e s 真正 的标准网络协议。w e bs e r v i c e s 还可以支持其它因特网协议,包括s m t p 和f t p 。内部 网可以使用可靠消息传递和调用基础结构,如m q s e r i e s 和c o r b a 等。w e bs e r v i c e s 使 用x m l 描述数据,而用s o a p 协议进行数据编码和传输,其中s o a ph e a d e r 为整个s o a p 消息提供扩展功能,例如s o a p 附件、可靠性传输、信息路由、数字签名。 描述和发现层是为了使服务提供者和服务请求者能够成功地进行交互。首先,w s d l 是基于x m l 的服务描述事实上的标准,它定义了服务间互操作的接口和结构。w s d l 文档 可以由其它服务描述文档来补充,从而描述w e bs e r v i c e s 的更高级的方面,比如可以 使用u d d i 数据结构作为w s d l 的附加文档来补充描述企业业务上下文信息、服务的质量 和服务间的相互关系等内容。服务工作流层使用的是w e b 服务的业务流程执行语言( w e b s e r v i c eb u s i n e s sp r o c e s se x e c u t i o nl a n g u a g eb p e l 或b p e l 4 w s ) 。 第二章面向服务的体系结构和w e b 服务 2 2 3w e b 服务的主要协议 w e b 服务平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据 表示方法和类型系统。要实现互操作性,w e b 服务平台使用标准的类型系统,即x m l , 用于沟通不同平台、编程语言和组件模型中的不同类型系统。通过w e b 服务描述语言 ( w s d l ) ,来描述w e b 服务,让客户可以得到足够的信息来调用这个w e b 服务。最后, 我们还必须有一种方法来对这个w e b 服务进行远程调用。这种方法实际是一种远程过程 调用协议( r p c ) 。为了达到互操作性,这种r p c 协议还必须与平台和编程语言无关。w e b 服务使用标准的i n t e r n e t 协议s o a p ( s o a p 协议是一种基于x m l 的高层协议,它需要绑 定到某种底层通信协议上,如h t t p ) 来完成远程调用。 ( 1 ) 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 ) 是w e b 服务平台中表示数 据的基本格式。除了易于建立和易于分析外,x m l 主要的优点在于它既是平台无关的, 又是厂商无关的。 首先,x m l 格式具备描述各种类型数据的能力:其次,使用d o m s a x 对x m l 进行处 理,开发人员可以节省开发一些经常需要的文件格式处理模块,d o m s a x 为x m l 处理封 装了一套有效的方法;再次,x m l ,d o m 是w 3 c ( 万维网联盟) 规范,在不同平台的处理 方式是完全一致的。因此,x m l 就很快成为应用范围极为广泛的数据交换的工具。目前 使用x m l 进行数据交换已经成为计算机软件领域,尤其是电子商务应用领域的标准技术 模式。x m l 解决了在不同平台系统之间的数据结构模式的差异,使得数据层在x m l 技 术的支持下统一起来。 ( 2 ) 简单对象访问协议( s o a p ) 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 0 1 ) 是w e b 服务交换x m l 消息的标准协议。一 般意义上的s o a p 是一种用x m l 封装信息的机制,因此它可以用来实现消息系统。对于 w e b 服务来说,s o a p 主要用来通过x m l 文档传递方法参数,进行w e b 调用。s o a p 具有和 远程过程调用( r p c ) 协议相同的目的,即把本地计算机上的信息发送到远程计算机上, 远程计算机执行远程方法,然后返回结果。对于本地用户来说,就好像在调用本地方法 一样。s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化和类型化的信息 提供了一个简单且轻量级的机制。s o a p 本身并不定义任何应用语义,如编程模型或特定 语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定 格式编码的数据的重编码机制来表示应用语义。s o a p 的这项能力使得它可被很多类型的 系统用于从消息系统到r p c ( 远程过程调用) 的延伸。 s o a p 由以下四部分组成“: s o a p 信封:它构造定义了一个整体的s o a p 消息表示框架,可用于表示消息中的内 容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是可选的还是必须的 等。 s o a p 编码规则:它定义了一个数据的编序机制,通过这样一个编序机制来定义应用 程序中需要使用的数据类型,并可用于交互这些应用程序定义的数据类型所衍生的实 例。 第二章面向服务的体系结构和w e b 服务 s o a pr p c 表示:定义了一个用于表示远端过程调用和响应的约定,例如如何使用 h t t p 或s m t p 协议与s o a p 绑定,如何传输过程调用,在具体传输协议的哪个部分传输过 程响应,如我们可以在h t t p 的响应的时候传递过程响应。 s o a p 绑定:它定义了一个使用底层传输协议来完成在结点间交换s o a p 信封的约定。 ( 3 ) 服务描述语言( w s d l ) w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 是w e b 服务描述语言,它被设计用来描 述w e b 服务和w e b 服务中所有的方法。在一个w s d l 文档中,所有的参数和w e b 服务方 法名称都有详细说明,同时还包括了w e b 服务本身的位置。最终的结果是,可以生成用 于具体的w e b 服务所必需的有效s o a p 消息,而且所生成的s o a p 消息也被发送给了该w e b 服务。使用w s d l 描述语言最大的优点就是,它是一个标准的协议,与s o a p 协议一样, 于是,任何系统都能够解释w e b 服务的方法并识别要生成的s o a p 消息和发送该s o a p 消 息。w s d l 将w e b 服务描述为一组端点,操作和消息都是被抽象描述的,然后它们会被绑 定到一个具体的网络协议和消息格式,用来定义端点。相关的具体端点被合并到抽象的 端点或服务中。 w s d l 文档是一种x m l 格式的文件,它提供语言规则,将w e b 服务定义为访问点或端 口的集合。w s d l 文档在w e b 服务的定义中使用下列元素“: a 定义( d e f i n i t i o n s ) :它是w s d l 文档的根元素,主要用来定义w e b 服务的名称、 声明一些命名空间并包含下列几个元素。 b 类型( t y p e s ) :数据类型定义的容器,它使用某种类型系统( 一般使用x m ls c h e m a 中的类型系统) 。如果w s d l 文档中只使用x m l 架构中的内建简单类型,则可以省略t y p e s 元素。 c 消息( m e s s a g e ) :通信消息的数据结构的抽象化类型定义。使用t y p e s 所定义的 类型来定义整个消息的数据结构。 d 端口类型( p o r tt y p e ) :对于某个访问入口点类型所支持操作的抽象集合。这些 操作可以由一个或多个服务访问点来支持。, e 绑定( b i n d i n g ) :特定端口类型的具体协议和数据格式规范的绑定。 f 端口( p o r t ) :定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访 问点。 g 服务( s e r v i c e ) :相关服务访问点的集合。 ( 4 ) 统一描述、发现和集成( u d d i ) 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 di n t e g r a t i o n ) 是一套基于w e b 的、 分布式的、为w e b 服务提供信息注册中心的实现标准规范,同时也包含一组使企业能将 自身提供的w e b 服务注册以使得别的企业能够发现的访问协议的实现标准。该规范提供 7 了一套注册和定位w e b 服务的方法,定义了一个电子商务注册中心,以便于企业能够描述 和注册它们的w e b 服务,并发现其它企业提供的w e b 服务并与之集成。简言之,u d d i 标准 定义了一个w e b 服务发布与发现的方法。有了u d d i ,就可以建立一个全球化的、平台无 关的、开放式的架构,使得企业能:发现彼此;定义如何通过i n t e r n e t 进行交互; 使用个全球性的商务注册中心,以共享信息。 第二章面向服务的体系结构和w e b 服务 u d d i 本身也是一个基于x m l 和s o a p 的w e b 服务。通过使用一组预定义的s o a p 接口, 可以实现与u d d i 进行交互。u d d i 规范利用了w 3 c 和i e t f 的许多标准作为其实现基础, 如x m l ,h t t p ,s o a p 等,使得u d d i 成为一个统一的服务描述格式和服务发现协议。 图2 4w e bs e r v i c e 和u i ) d i 的发布发现模式 f i 9 2 。4p u b l i s ha n dd i s c o v e r ym o d e lo fw e bs e r v i c e sa n du d d i u d d i 注册表将成为新的i n t e r n e t 的黄页。在u d d i 注册表中,企业列出了自己所 发布的w e b 服务的位置,开发人员可以去查找和购买需要用到的服务。在可编程的w e b 模型中,u d d i 规定了如何买卖服务和发现服务。u d d i 提供了一个保存w e b 服务描述的 机制。虽然u d d i 通常会被认为是一种目录机制,但是它也定义了一个用x m l 表示服务 描述信息的数据结构标准“。 u d d l 支持三种注册中心数据: ( 1 ) 白页( w h i t ep a g e ) ,它包含有关企业自身的信息,包括企业的名称、详细的联 系人信息和企业地址,按照名称将企业组织起来。 ( 2 ) 黄页( y e l l o w p a g e ) ,包含有关企业所提供服务的分类信息。分类是通过对企业 采用一个或多个分类法完成的。例如,一个服务可能被分类为“网上商店”服务,同时 可能被分类为“音乐商店 服务。 ( 3 ) 绿页( g r e e np a g e ) ,包含有关企业所提供的服务的技术信息。该信息包括使用 该服务所需的所有技术信息。可以在绿页中找到像服务位置、该服务所属的类别以及服 务的详细说明之类的信息。 2 3s o a 与w e b 服务 s o a 本身是如何将软件组织在一起的抽象概念。它依赖于用y j d l 和w e b 服务实现并 。 第二章面向服务的体系结构和w e b 服务 以软件的形式存在的更加具体的观念和技术。此外,它还需要安全性、策略管理以及可 靠消息传递的支持,从而有效地工作。还可以通过分布式事务处理和分布式软件状态管 理来进一步地改善它。 s o a 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以 及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的 区别。而另一方面,w e b 服务在需要交互的服务之间如何传递消息有具体的指导原则。 从战术上实现s o a 模型是通过h t t p 传递s o a p 消息的w e b 服务模型。因而,从本质上讲, w e b 服务是实现s o a 的具体方式之一。 尽管我们觉得w e b 服务是实现s o a 的最好方式,但是s o a 并不局限于w e b 服务。其 他使用w s d l 直接实现服务接口并且通过x m l 消息进行通信的协议也可以包括在s o a 之 中。 w e b 服务的出现产生了根本的改变,因为很多w e b 服务项目的成功显示这种技术事 实上确实存在,借此可以实现真正的面向服务的体系结构。从业务的角度来看,它不再 是一个技术问题,而是要开发一种应用程序体系框架,可以在其中定义业务问题,还可 以以一致的可重复的方式来实现解决方案。 不过,首先必须理解w e b 服务并不等同于面向服务的体系结构。w e b 服务是包括x m l , s o a p ,w s d l 和u d d i 在内的技术的集合,它使我们能够针对特定的消息传递和应用程序 集成问题构建编程解决方案。 2 4 小结 本章就s o a 的基本概念、协议栈和架构特征进行介绍,从而了解s o a 在解决系统集 成方面的优势。接着介绍了实现s o a 的最好方式w e b 服务的概念,着重阐述了w e b 服务 的主要协议。下一章将介绍基于w e b s e r v i c e 的面向服务集成框架。 第三章基于w e b s e r v i c e 的面向服务集成框架 第三章基于w e b s e r v ic e 的面向服务集成框架 企业应用集成是指企业中和企业之间的任何相连的应用间无限制地共享数据和业 务处理,其目的是将企业的业务流程、应用软件系统、硬件、各种标准联合起来,在多 个企业应用系统之间实现无缝集成,使其像一个整体一样进行业务、信息处理,从而使 企业的整个业务、管理、资源等各个环节,达到协调运转,效率优化,从而最终实现企 业效益的提高。 从企业应用集成的具体应用范围来看,企业应用集成包括两方面:企业内部应用系 统集成和企业之间的应用系统集成。 3 1 面向服务的集成框架 面向服务的集成框架可以进行企业内部系统的集成也可进行企业合作伙伴之间系 统的集成,进行集成的系统既可以是己有的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 两企业合并管理办法
- 产品体验官管理办法
- 集中管控管理办法
- 防灾工程管理办法
- 云南项目库管理办法
- 降职减薪管理办法
- 互联网商城管理办法
- 省学科项目管理办法
- 主管级考核管理办法
- 仓储缓存区管理办法
- 老旧小区施工安全文明施工方案
- 康复科护士的运动障碍康复与护理
- (完整word版)英语国际音标表(48个)打印版
- JCT640-2010 顶进施工法用钢筋混凝土排水管
- 江民杀毒软件
- 网络安全题库及答案(汇总1000题)-网络安全题库及答案
- 医院满意度调查工作制度(二篇)
- 工程项目档案试题
- GB/T 33213-2016无损检测基于光纤传感技术的应力监测方法
- GB/T 2652-1989焊缝及熔敷金属拉伸试验方法
- 建筑设计防火规范2001修订版
评论
0/150
提交评论