(计算机应用技术专业论文)基于web+services软件架构技术的研究.pdf_第1页
(计算机应用技术专业论文)基于web+services软件架构技术的研究.pdf_第2页
(计算机应用技术专业论文)基于web+services软件架构技术的研究.pdf_第3页
(计算机应用技术专业论文)基于web+services软件架构技术的研究.pdf_第4页
(计算机应用技术专业论文)基于web+services软件架构技术的研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)基于web+services软件架构技术的研究.pdf.pdf 免费下载

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

文档简介

华北电力大学硕1 j 学位论文 摘要 本文主要从应用的角度分析描述如何实现基于w e bs e r v i c e s 的软件架构,提出并且实 现了该软件模型。在现代企业应用中,人们发现系统的互操作越来越成为企业软件资产管理 者、系统应用的设计者考虑的问题,因为只有方便的实现系统的互操作爿+ 能够实现资产重用, 才能够根据应用环境的变化快速的改变系统应用。目前实现系统互操作的方法很多,其本质 就是实现进程间通信机制的方法或者说是消息在应用程序间的传递方法。其中建立在w 3 c 工 业标准之上的w e bs e r v i c e s 最为引人注目,因为它采用所有商家共同遵守的标准,所以具有 最好的应用前景和最大的应用范围。本文主要提供了实现w e bs e r v i c e s 这一应用程序间消息 传递机制过程中,必须考虑到的身份认证、授权、敏感信息端到端的安全传输、对于跨w e b s e r v i c e s 的原子操纵的事务处理和构造一个使应用更具有弹性机制和扩展能力的事务性消 息队列问题。这些问题的解决就能够创建一个安全的、健壮的、具有一定处理弹性的企业应 用环境。 关键词:w e bs e r v i c e s ,消息安全,软件架构 t h i sp a p e rm o s t l yd e s c r i b e sh o wt oi m p l e m e n tt h es o f t w a r ea r c h i t e c tb a s e do nw e bs e r v i c e s , p r o v i d e sa n di m p l e m e n t st h es o f t w a r em o d e lo n a p r a c t i c a la p p l i c a t i o n i nm o d e me n t e r p r i s e a p p l i c a t i o n y o uc a nf m dt h a ts o f t w a r ea d m i n i s t r a t o ra n ds y s t e ma p p l i c a t i o nd e s i g n e rc o n s i d e rt h e i n t e r o p e r a b i l i t yo fs p a ns y s t e mw h e nb u i l d i n gd i s t r i b u t e ds y s t e m st h a tm u s tb ei n t e r o p e m b l ea n d a b l et ob eq u i c k l ya d a p t e dt oc h a n g e si nt h eb u s i n e s sr e q u i r e m e n t s c u r r e n t l yt h es o f t w a r ew o r l d h a sd e l i v e r e ds e v e r a lm e t h o d so nh o wt oi m p l e m e n ti n t e m p e r a b i l i t y a l lo ft h e mc a nd e l i v e r d i f f e r e n tc o m m u n i c a t i o nt y p eb e t w e e np r o c e s s e so rm e s s a g ee x c h a n g eb e t w e e np r o c e s s e s t h eb e s t w a yi sw e bs e r v i c e st h a tb a s e do ns t a n d a r da n dh a st h eb e s tf o r e g r o u n d t h i sp a p e rd e l i v e r s s o l u t i o n so fs o m ep r o b l e m st h a tm u s tb es o l v e di nt h eu s eo fw e bs e r v i c e s t h es d u f i o n si n c l u d e a u t h e n t i c a t i o na n da u t h o r i z a t i o n 、m e s s a g es e c u r e l yt r a n s p o r t 、t r a n s a c t i o nt h a ts p a n sw e bs e r v i c e s 、 m e s s a g eq u e u ea n dm e s s a g eq u e u ew i t ht r a n s a c t i o n t h es o l u t i o n so ft h e s ec a nh e l pu st oc r e a t ea n e n t e r p r i s ea p p l i c a t i o ne n v i r o n m e n tt h a te x h i b i te x t r e m e l yh i g hl e v e l so fp e r f o r m a n c e ,s e c u r i t y , r e l i a b i l i t y , a n da v a i l a b i l i t yi nb u i l d i n gd i s t r i b u t e ds y s t e m s h a nh u i ( c o m p u t e rs c i e n c ea n dt e c h n o l o g y ) d i r e c t e db yp r o f l i nb iy i n g k e yw o r d s :w e bs e r v i c e s ,m e s s a g es e c u r i t y , s o f t w a r ea r c h i t e c t 华北电力大学硕1 j 学位论文 摘要 本文主要从应用的角度分析描述如何实现基于w e bs e r v i c e s 的软件架构,提出并且实 现了该软件模型。在现代企业应用中,人们发现系统的互操作越来越成为企业软件资产管理 者、系统应用的设计者考虑的问题,因为只有方便的实现系统的互操作爿+ 能够实现资产重用, 才能够根据应用环境的变化快速的改变系统应用。目前实现系统互操作的方法很多,其本质 就是实现进程间通信机制的方法或者说是消息在应用程序间的传递方法。其中建立在w 3 c 工 业标准之上的w e bs e r v i c e s 最为引人注目,因为它采用所有商家共同遵守的标准,所以具有 最好的应用前景和最大的应用范围。本文主要提供了实现w e bs e r v i c e s 这一应用程序间消息 传递机制过程中,必须考虑到的身份认证、授权、敏感信息端到端的安全传输、对于跨w e b s e r v i c e s 的原子操纵的事务处理和构造一个使应用更具有弹性机制和扩展能力的事务性消 息队列问题。这些问题的解决就能够创建一个安全的、健壮的、具有一定处理弹性的企业应 用环境。 关键词:w e bs e r v i c e s ,消息安全,软件架构 t h i sp a p e rm o s t l yd e s c r i b e sh o wt oi m p l e m e n tt h es o f t w a r ea r c h i t e c tb a s e do nw e bs e r v i c e s , p r o v i d e sa n di m p l e m e n t st h es o f t w a r em o d e lo n a p r a c t i c a la p p l i c a t i o n i nm o d e me n t e r p r i s e a p p l i c a t i o n y o uc a nf m dt h a ts o f t w a r ea d m i n i s t r a t o ra n ds y s t e ma p p l i c a t i o nd e s i g n e rc o n s i d e rt h e i n t e r o p e r a b i l i t yo fs p a ns y s t e mw h e nb u i l d i n gd i s t r i b u t e ds y s t e m st h a tm u s tb ei n t e r o p e m b l ea n d a b l et ob eq u i c k l ya d a p t e dt oc h a n g e si nt h eb u s i n e s sr e q u i r e m e n t s c u r r e n t l yt h es o f t w a r ew o r l d h a sd e l i v e r e ds e v e r a lm e t h o d so nh o wt oi m p l e m e n ti n t e m p e r a b i l i t y a l lo ft h e mc a nd e l i v e r d i f f e r e n tc o m m u n i c a t i o nt y p eb e t w e e np r o c e s s e so rm e s s a g ee x c h a n g eb e t w e e np r o c e s s e s t h eb e s t w a yi sw e bs e r v i c e st h a tb a s e do ns t a n d a r da n dh a st h eb e s tf o r e g r o u n d t h i sp a p e rd e l i v e r s s o l u t i o n so fs o m ep r o b l e m st h a tm u s tb es o l v e di nt h eu s eo fw e bs e r v i c e s t h es d u f i o n si n c l u d e a u t h e n t i c a t i o na n da u t h o r i z a t i o n 、m e s s a g es e c u r e l yt r a n s p o r t 、t r a n s a c t i o nt h a ts p a n sw e bs e r v i c e s 、 m e s s a g eq u e u ea n dm e s s a g eq u e u ew i t ht r a n s a c t i o n t h es o l u t i o n so ft h e s e c a nh e l pu st oc r e a t ea n e n t e r p r i s ea p p l i c a t i o ne n v i r o n m e n tt h a te x h i b i te x t r e m e l yh i g hl e v e l so fp e r f o r m a n c e ,s e c u r i t y , r e l i a b i l i t y , a n da v a i l a b i l i t yi nb u i l d i n gd i s t r i b u t e ds y s t e m s h a nh u i ( c o m p u t e rs c i e n c ea n dt e c h n o l o g y ) d i r e c t e db yp r o f l i nb iy i n g k e yw o r d s :w e bs e r v i c e s ,m e s s a g es e c u r i t y , s o f t w a r ea r c h i t e c t 声明 本人郑重声明:此处所提交的硕士学位论文基于w e bs e r v i c e s 软件架构技术的研究, 是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。 据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:熟薹垦 日期:星:; 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、并 向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手段复制 并保存学位论文:学校可允许学位论文被查阅或借阅;学校可以学术交流为目的,复制赠 送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或 部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:妞 日 期:o6 u ; 导师签名:尘! 眨望 日 期:0 6 :兰:午 华北电力人学硕十学位论文 1 ,1 课题的研究背景 第一章引言 当前电子商务、b 2 b ( b u s i n e s st ob u s i n e s s ) 、e 舢( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 等 应用的发展需要一个跨异构平台的消息交换机制。这种需求有两个方面的原因,一是因为大 型企业多年积累的软件资产在企业的发展过程中需要整合到新的商务应用系统中,而这些软 件资产在伴随着技术发展而产生的过程中不可能避免采用异构平台;二是因为大量的企业协 作形式等商务模式的出现要求整合不同企业的商务应用,而不同企业的商务环境可能是截然 不同的平台。在软件技术进步的道路上,工程师们采取了各种解决方案来实现这样的需求, 现在w e bs e r v i c e s 的出现为我们提供了新的选择。跨异构平台的商务应用必须解决下面两个 问题: 1 、通信采用什么样的通信机制是跨平台应用中必须考虑的问题。当前一个完美的解决 方法是使用m i 甲协议来通信。这是因为任何运行w e b 浏览器的机器都在使用h r r p ( h y p e r t e x t t r a n s f e r p r o t o c 0 1 ) 协议;同时,当前诈多防火墙也配置为只允许h i t p 连接。在使用h t i t 上我们还有一个最大的网络应用环境- i n t e m e t 。 2 、互操作如果所有的应用程序都是使用c o m ( c o m p o n e n to b j e c tm o d e l ) 或n e t f r a m e w o r k 实现,并且都运行在w i n d o w s 平台上,互操作很容易实现。然而,目前还有很多 商务应用运行在不同的平台上。现在,除了一些简单的程序之外,几乎所有的应用程序都需 要与运行在其他异构平台上的商务应用集成、数据交换也就是互操作。这种情况下的互操作 通常都是由依赖于具体应用环境的特定解决方案实现。如利用文件传输和分析、消息队列等 技术。在w e bs e r v i c e s 出现前,没有一个应用程序通信标准是独立于平台、组建模型和编程 语言的。现在通过基于w 3 c ( t h ew o r l dw i d ew e bc o n s o n i u m ) 标准的w e bs e r v i c e s 技术, 客户端和服务器能够自由的用 盯r p 进行通信而不需要考虑两个应用程序的运行平台和编程 语言,从而将互操作的实现独立于商务应用环境。 目前大型商务应用的应用环境决定了必须寻找新的软件开发部署模式,以便能够容易的 解决商务应用间的通信和互操作问题。作为一个大型企业的计算机应用支持一般都是经历若 干年的发展逐步形成规模的,在多年的发展过程中有硬件的发展也有软件的发展,软件的发 展是由于软件开发技术的发展和商业运营模式的发展,从而确定了现在一个大型商业应用环 境的复杂性。这种复杂应用环境下存在的各类不同平台的商务应用,相对于当前的最新应用 它们被称为遗留系统,但是遗留系统仍然在某些部门中占据重要的位置,甚至是关键的应用, 并且一些关键性的业务逻辑可能已经在不断改进的过程中使用了若干年,是成熟稳定的,这 部分软件资产是企业的宝贵财富。但是遗留系统可能运行在特定的平台上,那么当有新的应 华北电力大学硕十学位论文 用需要增加进来的时候,要么使用和原来系统关系紧密的平台,方便的实现对遗留系统应用 数据的交换、应用逻辑的共享:要么在新平台下重新实现原有的业务逻辑,实现数据的访问。 但是这两者都存在关键性的问题。对于前者,如果新的系统只是和一个遗留系统存在互操作 是可行的,但是如果需要和原来的多个遗留系统存在数据交互,而这多个遗留系统恰好是异 质( 不同平台的) 的,那么新的系统将无法实现平台的统一,很难实现数据交互,更谈不上 逻辑共享;同时该系统的加入又对整个商务应用引入了同样的问题,也就是增加了跨系统、 跨平台应用的开发难度。对于后者很显然是不可取的,因为信息孤岛就是这样形成的,而现 在的应用都是系统平台协同工作的,也只有协同才能共享数据、共享逻辑,实现对已有投资 的有效利用,避免重复建设、重复投资,同时也保证了企业应用范围内的逻辑一致性、数据 完整性和应用操作规范性。当前c r m ( c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ) 、e r p ( e n t e r p r i s e r e s o u r c ep l a n n i n g ) 、s c m ( s u p p l yc h a i nm a n a g e m e n t ) 等商业程序的应用急切地需要提供一 种能够实现各个系统之间方便的共享数据和逻辑,实现互操作的商务应用环境。w e bs e r v i c e s 的出现满足了这个方面的应用需求,w e bs e r v i c e s 固有的平台无关性、系统无关性决定了它 必将在类似企业集成方面的应用上发挥重要的作用。 1 2 论文的主要工作和内容安排 论文的主要工作是研究w e bs e r v i c e s 技术,提出基于w e bs e r v i c e s 的软件架构模型以及 实践该模型并讨论了该模型的性能和待改进的问题。 该论文正文分为6 章。第1 章为课鼹研究背景。第2 章为w e bs e r v i c e s 相关的技术简述。 第3 章讨论了w e bs e r v i c e s 软件架构以及w e bs e r v i c e s 应用的安全性、消息安全传输和事务 处理等相关问题以及对这些问题的相应解决方案的探讨。第4 章提出了w e bs e r v i c e s 架构模 型,详细描述了该模型的各个组成模块。第5 章为w e bs e r v i c e s 架构模型的组成模块在n e t f r a m e w o r k 下的具体实现。第6 章为w e bs e r v i c e s 架构模型在一个能源项目中的具体应用。 华北电力人学硕十学位论文 第二章w e bs e r v i c e s 技术概述 2 1 为什么选择w e bs e r v i c e s 2 1 1 什么是w e bs e r v i c 6 s 简单地说w e b s e r v i c e s 是支持标准的w e b 协议。可编程访问的w 曲组件。它依赖i n t e r n e t , 为用户或其他w e bs e r v i c e s 提供相对的单一服务,从整体上构建出一个分布式的商务计算环 境。在w e bs e r v i c e s 构建的商务应用环境下,不同平台、不同系统上的应用能够实现互操作、 共享数据和商务逻辑。在商务应用的不断发展过程中我们在硬件方面建立了大大小小的网络, 实现了网络互连。最大的网络就是i n t e m e t ,它的建立为商务计算提供了最坚实的物质基础, 它提供了最大范围的应用硬件平台,使我们的应用和数据在这个平台上展开。在软件上曾经 提出各种应用模型来实现分布式应用环境下的互操作和数据共享,如d c o m ( d i s t r i b u t e d c o m p o n e n to b j e c tm o d e l ) 、c o b r a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e x 通用对象请求 代理结构) 等。它们在企业范围内得到了极大的应用,并且成为企业的核心应用,但是这些模 型天生具有平台和系统紧密耦合特性,这使得他们不能够方便地实现在i n t e m e t 这个更大的 计算环境内实现互操作和数据逻辑共享,这也极大地增加了企业集成难度和集成成本。w e b s e r v i c e s 技术是由i b m 、s u n 、m i c r o s o f t 等公司提出的,并且提交给w 3 c ( t h e w o r l d w i d e w e b c o n s o r t i u m ) 作为工业标准通过的。它能够在i n t e r n e t 范围内实现互操作和数据逻辑共享,从 而能够实现商务协同。由于w e bs e r v i c e s 的内在本质是标准化,它的传输协议是标准的 r 兀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 ) 它的数据表示是标准的 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 ) ;它的发现机制是标准的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 s d l ( w e bs e r v i c e sd e s c r i p t i o n l a n g u a g e ) ,这一切决定了不同厂家和不同平台下的w e bs e r v i c e s 实现是一样的,是能够相互 识别和实现互操作的。它能够实现基于企业互联网的企业范围内的应用集成( e a i ) ,也能够 同样容易的实现基于互联网的企业之间的商务应用如b 2 b 、电子商务等。因此w e bs e r v i c e s 技术为基于w e b 的、跨系统跨平台的分布式应用提供了强大的支持。 2 1 2w e bs e r v i c e s 的特点和技术优势 w e b 服务是一种面向服务的体系结构,其中定义了一组标准协议,用于接口定义、方法 调用、基于i n t e m e t 的组件注册以及各种应用的实现。同传统的分布式模型相比,w e b 服务 体系的主要优势在于: 1 、协议的通用性。w e b s e r v i c e s 利用标准的i n t e r n e t 协议( 如m w 、s m t p 等) ,解决 3 华北电力人学硕十学能论文 了面向w e b 的分布式计算的通信问题,而传统的分布式模型解决的是特定平台下的通信问 题。 2 、完全的平台、语言独立性。w e bs e r v i c e s 进行了更高程度的抽象,只要遵守w e b s e r v i c e s 的接口即可进行服务的请求与调用。w e b 服务结合了面向组件方法和w e b 技术的优势,利用 标准网络协议和x m l 数据格式进行通信,具有良好的普遍适用性和灵活性,在i n t e r n e t 这个 巨大的虚拟计算环境中,任何支持这些标准的系统都可以被动态定位以及与网络上的其它 w e b 服务交互,任何客户都可以调用任何服务而无论它们处在何处,突破了传统的分布式计 算模型在通信、应用范围等方面的限制,允许企业和个人快速、廉价地建立和部署全球性应 用。 2 2w e bs e r v i c e s 的相关技术标准 2 2 1h t t p h t f p 是应用级协议,它适应了分布式超媒体协作系统对灵活性及速度的要求。它是一 个一般的、无状态的、基于对象的协议,通过对其请求方法进行扩展,可以被用于多种用途, 比如命名服务器及分布式对象管理系统。啪的一个特性是其数据表现类型允许系统构建 不再依赖于要传输的数据。h r t p 协议是基于请求回应机制的。客户端与服务器端建立连接 后,以请求方法、u r i 、协议版本等方式向服务器端发出请求,该请求可跟随包含请求修饰 符、客户信息及可能的请求体内容的m i m e 类型消息。 可扩展的标记语言x m l 是w e bs e r v i c e s 平台中表示数据的基本格式。除了易于建立和 易于分析外,x m l 主要的优点在于它既与平台无关,又与厂商无关。x m l 是由万维网协会 ( w 3 c ) 创建,w 3 c 制定的x m ls c h 锄a ( x s d ) 定义了一套标准的数据类型,并给出了一种语 言来扩展这套数据类型。 x m l 语言是由w 3 c 定义的一种元标记语言,是s g m l ( s t a n d a r dg e n e r a lm a r k u p l a n g u a g e ) 针对应用的一个子集。h t m l 和x m l 都派生自s g m l ,从技术上说,h t m l 仅仅 是s g m l 用来描述w e b 页的一个应用。随着i n t e m e t 快速的发展,h t m l 的弊端日益明显, 如标;己数目的受限,不同的浏览器处理标记的标准不同,统一的h t m l 标准不能对数据有效 性进行确认等。因此w 3 c 建立了x m l 工作组( x m g ) 创建了x m l a x m l 包含3 个要素:d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 或x m ls c h e m a ( x m l 模式) 、 x s l ( e x t e n s i b l es t y l es h e e tl a n g u a g e ,可扩展样式语言) 和x l i n k ( e x t e n s i b l el i n kl a n g u a g e ,可扩 展链接语言) 。d t d 和x m l 模式规定x m l 文件的逻辑结构,定义了x m l 文件的元素、元素 的属性以及元素和元素属性之间的关系 4 1 :n a m e s p a c e ( 命名空间) 实现统的x m l 文档数据 4 华北电力大学硕士学位论文 表示以及数据的相互集成:x s l 用于规定x m l 文档呈现的样式,这样使得数据与其表现形 式相互独立;而x l i n k 将迸一步扩展目前w e b 上已有的简单链接1 2 】o w e bs e r v i c e s 平台是用x s d 作为数据类型系统的。当用某种语言,如v b n e t 或鼎来 构造一个w e bs e r v i c e s 耐,为了符合w e bs e r v i c e s 标准,所有使用的数据类型都必须被转换 为x s d 类型。它所表示的数据如果需要在不同平台和不同软件间传递,还要规定使用什么 协议( 就是规定某种格式) ,如s o a p 。x s d 是一种遵循w 3 c 规范的模式语言,对数据的各 项信息,比如数据类型、数据问关系等都有完整的定义,适合于结构化数据的描述,而且应 用广泛,具有通用性。x s d 文档由顶级s c h e m a 元素组成,定义中必须包括 h t t p :w w w w 3 o r g 2 0 0 1 x m l s c h e m a 命名空间。s c h e m a 元素包含类型定义以及a t t r i b u t e 和 e l e m e n t 声明。除了其内置数据类型( 例如整数、字符串等) 外,还允许用户使用s i m p l et y p e 和c o m p l e xt y p e 元素定义新数据类型。s i m p l et y p e 可用作元素内容或属性值的类型定义,此 数据类型不能包含元素或具有属性。c o m p l e xt y p e 可以包含其他元素、属性和组,以及s i m p l e t y p e 或c o m p l e xt y p e 类型定义,它定义特定元素内包含的有效结构和数据。另外,可以定义 元素组来控制组内的各个元素出现在x m l 数据中的方式: s e q u e n c e 组,定义组内所有元素都以规定的顺序准确出现; c h o i c e 组,定义组中只有一个元素出现; a l l 组定义所有元素都出现或都不出现。 属性也可以安排到一个命名组中,作为复杂类型定义的组成部分。x s d 的数据类型和组 既可以是命名的也可以是未命名的。如果计划在架构内重用某数据类型,则创建命名类型, 并在需要该数据类型的所有元素中引用它。未命名类型是嵌套在元素定义中的数据类型,当 某类型在架构内只需要使用一次时可以使用未命名类型。 w e bs e r v i c e s 技术下使用x m l 表示包含数据的消息,而消息在客户端和服务器端的往返 是封装在s o a p 包中进行的。也就是x m l 消息传递的协议是s o a p 。它是建立在传输层上 的应用协议。s o a p 提供了标准的r p c ( 远程过程调用) 方法来调用w e b 服务。s o a p 定义了 用于表示信息交换的m e s s a g e ( 消息) 格式和一套使用由x m l 表示数据的规则以及通过 r r 开 协议使用s o a p 的方法。 s o a p 是基于x m l 的,在松散分布式环境中交换结构化信息的轻量级协议,包括四个 部分: 1 、s o a p 信封( e n v e l o p ) :定义了接体框架用来表示消息中的内容是什么,谁应当处 理它,以及是可选的还是必须有的。s o a p 信封包括一个s o a p 头( h e a d e r ) 和一个s o a p 体( b o d y ) 。s o a p 头是可选的,它的作用是在松散环境下扩展s o a p 消息的描述能力:s o a p 体是必需的,它包含需要传输给接收者的具体信息内容。 华北电力大学硕“i ? 学位论文 2 、s o a p 编码规则( e n c o d i n gr o l e s ) :定义传输数据类型的通用数据类型系统。这个简 单类型系统包括了程序语占、数据库中不同类型系统的公共特性。在这个系统中,一个类型 是一个简单类型或是一个复合类型。复合类型由多个部分组成,每个部分也是一个简单类型 或复合类型。s o a p 规范只定义了有限的编码规则,当用户需要使用自己的数据类型时,可 以使用自定义的编码规则,按需求扩展该基本定义。 3 、s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) :定义了远程过程调用和应答的协定。r p c 的调用和响应都在s o a pb o d y 元素中传送。在r p c 中使用s o a p 时,需要绑定一种协议。 可以使用各种网络协议,如h t i p 、s m t p 、f t p 等来实现基于s o a p 的r p c ,一般使用哪 来作为s o a p 协议绑定。s o a p 通过协议绑定来传送目标对象的u r i ,在h t i p 中的请求u r i 就是需要调用的目标s o a p 节点的u r i 。 4 、s o a p 绑定( b i n d i n g ) :定义了一个使用底层传输协议来完成在节点问交换s o a p 信 封的约定。目前s o a p 协议中定义了与 r r r p 的绑定。利用h i t i 甲来传送s o a p 消息,主要 是利用h 1 1 甲的请求响应消息模型,将s o a p 请求的参数放在h r r r p 请求里,将s o a p 响 应的参数放在 玎,响应里。当需要将s o a p 消息体包含在h t i p 消息中时, r m 应用程 序必须指明使用t e x t x m l 作为媒体类型。 虽然这四个部分是s o a p 的不同部分作为一个整体定义的,但他们在功能上相交,彼此 独立。特别是,信封和编码规则被定义在不同的x m l 命名空间中,这样有利于通过模块化 使得定义和实现更加简单。 s o a p 基于x m l ,本身并没有定义任何编程模型和应用语义,只是定义了一个消息结构 的框架,其具有良好的可扩展性。s o a p 消息结构框架扩展的一个特别类型是m e p ( m e s s a g e e x c h a n g ep a t t e r n ,消息交换模式) 。s o a pm e p 是一一个在s o a p 节点间信息交换模式的样板, 以提高对上层应用的有力支持。 s o a p 的设计目标是简单性和可扩展性,所以s o a p 是一个轻型协议,一些传统消息系 统或分布式对象系统中的某些性质将不是s o a p 规范的一部分。比如s o a p 没有定义有关分 布式垃圾收集、成批传送消息、对象引用和对象激活等方面的内容。 w s d l 是一种x m l 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档 ( d o c u m e m ) 或面向过程( r p c ) 信息的消息进行操作。这种格式首先对操作和消息进行抽 象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合 成为抽象端点( 服务) 。w s d l 是可扩展的,使得无论通信时使用何种消息格式或网络协议 都可以对端点及其消息进行描述。 w s d l 文档将服务定义为网络端点或端口的集合。在w s d l 中,端点和消息的抽象定义 从具体的网络部署或数据格式绑定中分离出来,这样就可以再次使用抽象定义;消息指对交 华北电力人学硕十学位论文 换数据的抽象描述:端口类型指操作的抽象集合。用于特定端口类型的具体协议和数据格式 规范构成了可以再次使用的绑定。将网络地址与可再次使用的绑定相关联,可以定义一个端 口,端口的集合则定义为服务。 w s d l 文档在网络服务的定义中使用以下元素: 1 、t y i s :t y p e s 元素包含与交换的消息相关的数据类型定义。为了获得最大程度的互操 作性和平台中立性,w s d l 选用x s d 作为标准类型系统,并将其当作固有类型系统。w s d l 允许通过扩展性元素来添加类型系统。扩展性元素可能出现在t y p e s 元素之下,标识正在使 用的类型定义系统,并为类型定义提供x m l 容器元素。该元素的作用与x m ls c h e m a 语 言的s c h e m a 元素的作用相似。 2 、m e s s a g e :代表所传输数据的抽象定义。消息由个或多个逻辑片段构成。每个片段 使用一个消息类型属性与某个类型系统的类型相关联。消息类型属性的集合是可扩展的。如 果使用的名称空间与w s d l 所用的名称空间不同,还可以定义其它消息类型属性。绑定扩展 性元素也可以使用消息类型属性。 3 、o p e r a t i o n :对服务所支持操作的抽象描述。 4 、p o r t a 、j p e :一组指定的抽象操作和有关的抽象消息。w s d l 提供四个可得到端点支 持的传输原语: 单向( o n e - - w a y ) :端点接收消息。 请求响应( r e q u e s t - - r e s p o n s e ) :端点接收消息和发送相关消息。 要求响应( s o l i c i t - - r e s p o n s e ) i 端点发送消息和接收相关消息。 通知( n o t i f i c a t i o n ) :端点发送消息。 5 、b i n d i n g :为特定p o r t t y p e 所定义的操作和消息指定消息格式和协议细节。对于某个 给定的p o r td p e ,可能有多个绑定。绑定必须明确指定一个协议,不能指定地址信息。 6 、p o r t :通过为绑定指定一个地址来定义一个端点。一个端口不能指定多个地址,不能 指定除地址信息之外的任何绑定信息。 7 、s e r v i c e :相关端点的集合。 服务中的端口具有如下关系:所有端口都不相互通信。如果一个服务中有几个端口属于 同一端口类型,但是使用了不同的绑定或地址,则这些端口是可以互相替换的端口。每个端 口根据每个绑定所规定的传输限制和消息格式限带提供在语义上等价的行为。通过检查端口, 可以确定服务的端口类型,从而使w s d l 文档的使用者可以根据所支持的端口类型来确定是 否要与特定的服务通信。 u d d i 基于现成的标准,如x m l 和s o a p ,是一套基于w e b 的、分布式的、为w e b 服 务提供的信息注册中心的实现标准和规范,同时也包含一组使企业能将自身提供的w e b 服务 华北电力大学预十学侮论文 注册,以使得别的企业能够发现访问协议的实现标准。u d d i 注册中心是对所有提供公共 u d d i 注跚服务站点的统称。u d d i 注册中心是一个逻辑上的统一体,在物理上则以分布式 系统的架构实施,不同站点之间采用p 2 p ( 对等网络) 结构实现,因此访问其中任意一个站 点就基本等于访问了u d d i 注册中心。u d d i 注册中心提供的信息分成三组: 白页包括地址、联系方式和已知的企业标识; 黄页包括基于标准分类法的行业类别; 绿页包括关于商业实体所提供的服务技术信息,包括w e b 服务规范的引用,也支持 指向基于发现机制的不同文件和u r l 的指针。 u d d ix m ls c h e m a 定义了四种主要信息类型,它们是技术人员在需要使用合作伙伴 所提供的w e b 服务时必须了解的技术信息,这些元素构成u d d i 信息结构。它们是:服务信 息( b u s i n e s ss e r v i c e 结构) 、商业实体信息( b u s i n e s se n t i t y 结构) 、绑定信息( b i n d i n g t e m p l a t e 结构) 和技术规范信息( t m o d e l 结构) 。 华北电力大学硕十学位论文 第三章基于w e bs e r vic e s 软件架构技术 3 1 软件架构的发展 一个软件系统是以软件架构为中心的,也就是说架构是一个软件系统中的核心元素,是 该系统中最为本质的部分,系统的各个组成部分通过架构所描绘的方式协同工作共同完成系 统的功能,从而表现出一个完整的系统。 软件架构设计要达到如下的目标: 可靠性( r e l i a b l e ) 软件系统对于用户的商业经营和管理来说极为重要,因此软件 系统必须非常可靠。 安全性( s e c u r i t y ) 软件系统所承担的交易的商业价值极高,系统的安全性非常重 要。 可伸缩性( s c a l a b l e ) 软件必须能够在用户的使用率、用户的数目增加很快的情况 下,保持合理的性能。只有这样,才能适应用户的市场扩展的可能性。 可定制化( c u s t o m i z a b l e ) 同样的一套软件,可以根据客户群的不同和市场需求的 变化进行调整。 可扩展性( e x t e n s i b l e ) 在新技术出现的时候,一个软件系统应当允许导入新技术, 从而对现有系统进行功能和性能的扩展。 可维护性( m a i n t a i n a b l e ) 软件系统的维护包括两方面,一是排除现有的错误,二 是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花 费。 客户体验( c u s t o m e re x p e r i e n c e ) 软件系统必须易于使用。 市场时机( t i m et om a r k e t ) 软件用户要面临同业竞争,软件提供商也要面临同业 竞争。以最快的速度争夺市场先机非常重要。 m i c m s o f f n e t 战略基于一组开放的互联网协议,推出了一系列的产品、技术和服务,在 最高层次上提出了软件设计架构,当然它本身也是以个软件开发设计平台的角色展现给我 们的。 9 华北电力大学硕十学位论文 图3 1m i c r o s o f t n e t 开发架构 从图3 1 可以简要的了解n e t 开发框架的几个主要组成部分;首先是整个开发框架的基 础,即通用语言运行( c u l ) 时以及它所提供的组基础类库:在开发技术方面n e t 提供了 全新的数据库访问技术a d o n e t ,以及网络应用丌发技术a s e n e t 和w i n d o w s 编程技术 w i nf o r m s ;在开发语言方面n e t 提供了v b 、v c + + 、c # 和j 辫多种语言支持;而v i s u a l s t u d i o 。n e t 则是全面支持n e t 的开发工具。 m i c r o s o f t n e t 给| 开发人员带来了一种全新的开发框架,而通用语言运行时则处于这个框 架的最低层,是这个框架的基础。通用语言运行时为多种语言提供了一种统一的运行环境。 另外它还提供了更多的功能和特性,比如统一和简化的编程模型,用户不必迷惑于

温馨提示

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

评论

0/150

提交评论