




已阅读5页,还剩59页未读, 继续免费阅读
(计算机软件与理论专业论文)基于j2ee的web+service安全机制的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着w e bs e r v i c e 技术的日益广泛应用,它的安全性问题也逐渐地被人们所关 注,并已经成为制约其发展的重要因素。如何向开发者提供一些有效的安全组件, 为w e bs e r v i c e 搭建综合和健壮的安全平台提供参考,以满足w e bs e r v i c e q 降定的安全 性需求,是w 西服务安全领域的一个重要研究内容 一些现有的w e bs e r v i c e 的安全技术( 如x m l 加密、x m t :签名,身份验证和授权 策略等) 已经存在,但是他们的处理过程都是单独进行的。如何将它们封装成独立的 组件,以提高它们灵活性和重用性,并且使它们能够根据不同的需求结合起来,满 足特定的安全需要,是本文研究的重点 在本文中,首先详细分析了w 西s e r v i c e 安全性特点,总结出w e bs e r v i c e 的安全 性要求及安全现状,并研究了w e bs e r v i c e 相关的安全技术,如x m l 加密、讧l 签 名、对访问者的身份验证和授权等,提出了为w e bs e r v i c e 设计安全组件的需求 考虑到j 2 e e 规范中的e j b ( e n t e r p d s ej a v a b e a n ) 作为一种服务器端组件体系结 构,它被设计为支持应用程序的可移植性和可重用性,它简化了用j a v a 开发企业级 的分布式组件应用程序的过程。因此。本文中设计出了为w 曲s e r v i c e 提供安全保证 的e j b 组件,这些e j b 组件使用了一些现有的w 曲s e r v i c e 安全技术,从而可以使安全 组件通过各种方式结合在一起,以适应构建多种安全性模型,达到完善w c bs e r v i c e 的安全机制的目的。 最后,通过研究a p a c h e 的a x i s 弓l 擎的原理,实现了利用a x i s 对安全组件的调用和 集成,并对安全组件的调用进行了优化。提出了基于j 2 e e 的三层结构的六层w e b 应 用框架,实现了对安全组件的应用。最后,总结出在w e bs e r v i c e 通信中使用本文所 设计的安全组件的优点。 关键词:w e bs e r v i c ee j b安全组件s o a p 西北大学信息科学与技术学院硕士研究生论文 a b s t r a c t w e bs e r v i c e sh a v eb e e nw i d e l yu s e di nm a n ya r e a s h o w e v e r , t h es e c u r i t yp r o b l e m s t h a tw e bs e r v i c e sm e e ti np r a c t i c eh a v eb e e nr e s t r i c t i n gt h ea p p l i c a t i o na n dd e v e l o p m e n t o fw e bs e r v i c e s h o wt op r o v i d es o m ee f f e c t i v ea n de f f i c i e n tc o m p o n e n t sf o r p r o t e c t i n g w e bs e r v i c e sf r o mb e i n gt h r e a t e n e di sa l li m p o r t a n tp r o b l e mt h a tw es h o u l dr e s o l v e d s o m es e c u r i t ys o l u t i o n sh a v e a l r e a d yb e e nu s e d ,l i k ex m le n c r y p t i o n , x m l s i g n a t u r 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 ,b u tt h e ya r ew o r k i n gs e p a r a t e l y s oh o wt o e n c a p s u l a t et h e mi ns o m ei n d e p e n d e n tc o m p o n e n tt oe 1 1 h a n c et h e i rf l e x i b i l i t ya n d r e u s a b i l i t y , a n dm a k et h e m w o r kt o g e t h e ri nd i f f e r e n t w a y s t om e e td i f f e r e n t r e q u i r e m e n t si st h ep o i n to f t h i st h e s i s f i r s t l yt h et h e s i si n t r o d u c e st h ea r c h i t e c t u r eo ft h ew e bs e r v i c e s ,a n da n a l y s e s c h a r a c t e r i s t i c so fs e c u r i t yi nw e bs e r v i c e sw i t ht h ei n t r o d u c t i o no fx m le n c r y p t i o n , x m ls i g n a t u r 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 a tt h es a m et i m et h et h e s i sa l s o p r o p o s e st op r o d u c es o m ec o m p o n e n t st op r o t e c tw e bs e r v i c e s 。 c o n s i d e r i n gt h ee j bw h i c hb e l o n gt oj 2 e ee n v i r o n m e nh a st o om a n yg o o d c h a r a c t e r i s t i c s ,i n c l u d eb e t t e rt r a n s p l a n t a t i o na b i l i t y ,e x t e n s i b i l i t y ,r e n e w a b l ea b i l i t ya n d m a i n t a i n a b i l i t yt or e a c ht h ep u r p o s eo fi m p r o v i n gs o r w a r eq u a l i t y s ow ed e c i d et o r e a l i z et h ec o m p o n e n t sb ye j bw h i c hm a k eg o o du s eo fp r e s e n tx m ls e c u r i t y t e c h n o l o g i e s ,a n dw o u l dg i v ew e bs e r v i c e ss e c u r i t yg u a r d f i n a l l y , b yr e s e a r c h i n ga n du s i n ga p a c h e sa x i s ,t h ei n t e g r a t i o na n da p p l i c a t i o no f s e c u r i t yc o m p o n e n t sw e r ei m p l e m e n t e d w ea l s oo p t i m i z e dt h ec a l l i n go fc o m p o n e n t si n h a n d l e r s t h i st h e s i sp r o p o s e da6 - t i e r sa r c h i t e c t u r eb a s e do nj 2 e e3 - t i e r sa r c h i t e c t u r et o i m p l e m e n tt h ea p p l i c a t i o n sa n di n t e g r a t i o no fs e c u r i t yc o m p o n e n t s a tl a s ts o m et r a i t so f u s i n gt h e s es e c u r i t yc o m p o n e n t sa r ec o n c l u d e da n dl i s t e d k e y w o r d s :w e bs e r v i c e e j b s e c u r i t yc o m p o n e n t s o a p 西北大学信息科学与技术学院硬士研究生论文 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属于殖北大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和电予版。本人允许论文被查阅和 借阅。学校可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同 时,本人保证,毕业后结合学位论文研究课题再撰写的文章一律注明作 者单位为西北大学。 保密论文待解密后适用本声明。 学位论文作者签名: 玉生一指导教师签名:丝坐 堋年易月f 日 6 佯j 月绣日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 本论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西 北大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 弦 学位论文作者签名:寻一 沙i 年6 只 日 第一章绪论 1 1 研究背景 第一章绪论 如今,w e bs e r v i c e 已经得到了人们普遍的认同和广泛的使用,并且越来越多的 企业和商业实体开始利用w 曲s e r v i c e 来完成他们的活动。w e bs e r v i c e 是以订l 和 w e b 技术为基础的,它是通过将紧密耦合的、高效的计算技术与面向消息的、松散 耦合的w e b 概念相结合来实现的。w e bs e r v i c e 可以独立于特定的语言和平台,能够 很好的解决组件间相互通信所面临的问题,在现有的各种异构平台的基础之上构筑 一个通用的、与平台无关、语言无关的技术层,各种不同的平台依靠这个技术层进 行彼此的连接和集成 w e bs e r v i c e 使用s o a p 作为其通信协议,so j a p 提供了一种简单的、可扩展的、 并且功能丰富的x m l 消息处理框架,用于定义高级别的应用程序协议,从而在分布 式异构环境中提供更高的互操作性s o a p 的设计目标就是使之成为一种非常广泛 的协议,能够以各种不同的方式满足不同的需求。作为w e ;bs e r v i c e 技术的核心。 s o a p 协议的安全性承载着w e bs e r v i c e 技术安全性的绝大部分责任。然而,s o a p 协 议从设计之初并没有过多考虑安全性,而是更多地注重于简单性、可扩展性和互操 作性,这就为s o a p 协议的安全性埋下了隐患。本文通过研究w e bs e r v i c e 和s o a p 协 议的原理、机制、以及安全性的特点,利用s o a p 协议的可扩展性对其进行了安全 性方面的扩展,并从机密性、完整性、身份认证和不可否认性等方面对这种扩展进 行了安全性论证。 j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 技术提供了一个基于组件的方法来设 计、开发、装配和部署企业级应用程序。在本文中,主要研究如何使用j 2 e e 规范中 的e j b ( e n t e r p r i s ej a v a b e a n ) 组件作为向w e bs e r v i c e 提供安全控制的组件。因为通过 e j b ,能写出可扩展的、健壮的和安全的应用程序,并且可以快速而轻松地利用j a v a 构件服务器组件。本文中设计的e j b 组件利用了一些现有的w e bs e r v i c e 安全技术, 西北大学信息科学与技术学院硕士研究生论文 第一章绪论 并实现了对现有安全技术的结合,来完善w e bs e r v i c e 的安全机制。进而可以通过对 这些e j b 组件的调用,为w c bs e r v i c e 提供安全保障。 最后,在传统的j 2 e e 的三层结构的基础上,提出了本文的六层w e b 应用框架, 实现了对安全组件的应用。 由于w e bs e r v i c e f l 身的特点,被业界称为计算机技术继p c 和i n t e m e t 之后的第三 次革命。它作为一种新兴的、依赖于h a t e - m e t 的、为其他w c bs e r v i c e 提供单一服务功 能的组件,将成为软件未来的存在形态如果w e bs e r v i c e 还能够保证较高的安全通 信效率,那么w e bs e r v i c e 的应用前景将更加广阔。 1 2 研究内容 本文的主要研究内容是分析现有的w 曲s e r v i c e 的安全技术,并通过对现有技术 的改进和结合,设计出能够保护w e bs e r v i c e 安全的e j b 组件,并通过对安全组件的 调用,实现了对w e b s e r v i c e - 安全的保护。 首先,x m l 加密、x m l 签名等一些现有的w e bs e r v i c e 安全技术已经存在,并 得到使用,但是他们的处理过程都是独立完成的。可以从这些现有的技术着手,实 现这些技术的整合和改进,使它们互相配合,更好地保护w e bs e r v i c e 其次,随着j 2 e e 平台的广泛应用,e j b 已经成为一种成熟的服务器端组件体 系结构,利用e j b 结构开发的应用程序是可伸缩的,事物性的、多用户安全的。因 此,可以把w 曲s e r v i c e 的安全处理,放在e j b 中完成从信息交换和服务本身安 全的角度出发,去研究如何设计出能够为w e bs e r v i c e 提供安全保障的e i b 组件, 并通过这些组件对w e bs e r v i c e 消息的安全保护,使w e bs e r v i c e 的通信变得更加安 全。 最后,在安全组件的基础上,使用a p a c h e 的a x i s 引擎作为s o a p 引擎来完成 对安全组件的集成和应用,并且对安全组件的调用进行了优化,提高了调用的效率。 西北大学信息科学与技术学院硕士研究生论文 2 第一章绪论 1 3 论文结构 本文从信息交换和服务本身安全的角度出发,研究和实现了为w e bs e r v i c e 提供 安全保障的e j b 组件,并设计出安全组件的应用框架。全文内容的安排如下: 第一章引言,介绍w e bs e r v i c e 的概念、特点,分析了w c bs e r v i c e 的安全问题, 并提出了解决安全问题的总体思想 第二章介绍了w e bs e r v i c e 技术的体系结构和核一t l , 技术,以及用于为w e b s e r v i c e 提供安全保证的e j b 组件技术。 第三章分析了w e bs e r v i c e 安全性的特点,介绍了x m l 加密、x m l 签名和 w s s e c u d t y 觌范。 第四章实现了w e bs e r v i c e 的安全e j b 组件,并分别描述了每个安全组件的安全 处理过程。 第五章实现了对安全组件的集成和应用,使它们相互配合、协作完成对w e b s e r v i c e 通信的安全防护。最后,总结出在w c bs e r v i c e 通信中使用本文设计的安全组 件的优点。 第六章展望与总结,提出进一步的研究计划。 西北大学信息科学与技术学院硕士研究生论文 第二章相关技术基础 2 1 e j b 及其相关技术 2 1 1 e j b 概述 第二章相关技术基础 e j b 1 1 ( e n t e r p r i s ej a v a b e a n ) 是普通j a v a b e a n s 的一种提升和规范,因为企业信 息系统开发中需要一个可伸缩的性能和事务,安全机制,这样才能保证企业系统平 滑发展,而不是发展到一种规模重新更换一套软件系统e j b 作为一种服务器端组 件体系结构,它是一个协议,为基于组件的服务器端应用程序提供了一种与厂商无 关的j a v a 接口,可以让任何符合啪规范的组件运行于每一种符合e j b 规范的服 务器上。被设计为支持应用程序的可移植性和可重用性,它简化了用j a v a 开发企业 级的分布式组件应用程序的过程。通过使用e j b ,能写出可扩展的、健壮的和安全 的应用程序,而不用自己去写复杂的分布式组件框架【2 】e j b 用于快速开发服务器 端应用程序,通过利用由业界提供的预先写好的分布式基础结构,可以快速而且轻 松地利用j a v a 构件服务器组件。由于具有以上优点,e j b 已经在j a v a 平台上被广泛 使用。 e j b 组件分为3 种基本模型:e n t i t yb e a n ( 实体b e a n ) 、s e s s i o nb e a n ( 会话b e a n ) 和m 嚣s a g e - d r i v c nb e a n ( 消息驱动b e a n ) 。 e n t i t yb e a n 用于建模持久性对象和持久性对象间的关系,代表数据库中的持久 记录,为数据库中的数据提供可重用的、一致的接口为大量的客户端提供快速、 可靠的数据和行为使用,同时保护数据变化的完整性 s e s s i o nb e a n 代表客户端与服务器间的一次会话,用于建模工作流,与e n t i t y b e a n 、数据和其他资源协同工作以完成特定的业务逻辑。通过向客户端屏蔽工作流 细节,简化了客户端与e j b 系统的交互,是客户端代码与业务逻辑实现相对独立, 有利于系统升级和维护,同时也傻得为工作流建模的代码可以被重用。 在本文中,主要使用了用于处理业务逻辑的s e s s i o nb e a n 来封装对s o a p 消息 西北大学信息科学与技术学院硕士研究生论文 4 第二章相关技术基础 的安全处理过程。 2 i 2 e j b 的会话匿模式 e j b 的会话面( s e s s i o nf a c a d ew i t he y a ) 模式【3 】用于在合作的企业对象间调节操 作,并将应用函数合成一个单一简单的界面;它减少了类之问合作的复杂性,并使 得类的调用者在该类变化的时候无需改动,这种模式通常以一个会话b e a n 实现, 以用来隐藏底层e j b 的复杂交互。 这种设计模式出现的背景在于e j b 通常既包括程序数据,又包括程序逻辑,而 这些代码都会通过一定的界面作用于客户层,在多层次的j 2 e e 平台应用程序中, 就会造成一定的困难。 具体来说,在j 2 e e 平台上的多层次系统中。通常会存在以下的问题: 1 ) 层次之间联系过于紧密,客户层和后端的业务对象具有较强的依赖关系; 2 ) 在客户和服务器之闻有多次方法调用,因而导致了w e b 性能方面的问题; 3 ) 缺乏一定的客户访问机制,使得一些后台对象被随便访问。 一个多层次的j 2 e e 应用程序通常具有很多由e j b 实现的服务器端对象,它们 通常负责提供系统服务、数据信息等,也就是说作为业务对象,它们既包括相关的 程序数据,也包括其程序逻辑;在j 2 e e 应用系统中,负责程序逻辑的对象通常由 会话b e a n 实现。而表示持久性存储,并在多个用户问共享的对象则由实体b e a n 来 实现;当然,应用系统的用户需要访问企业对象来满足自己的需求,如果企业对象 向用户提供接口,用户可以直接地与相关对象通信,但是这样一来,用户必须负责 管理所调用的企业对象之间的关系,并且能够处理其间的业务流程;然而,如果用 户和业务对象之间存在过于直接的交互,两者的联系就会过于紧密,同时也使得用 户过于依赖企业对象的具体实现,并负责管理与交互过程有关的业务对象查找和创 建,以及不同的对象问相互调用的关系,甚至一些时候用户还需要管理多次调用之 间的事务管理环节。 在用户需求不断增加时,这也是应用系统经常发生的情况,用户与不同的企业 西北大学信息科学与技术学院硕士研究生论文 第二章相关技术基础 对象之间的交互也会变得越来越复杂,而企业对象可能需要一定内部的更新才能满 足前者的需要,但是这样的话用户又需要根据企业对象实现的变化而做出相应的改 变,这种情况将为应用系统带来相当大的麻烦:在访问e f b 应用系统时,用户需要 与远程对象进行交互。如果用户直接与所有相关的业务对象交互的话,将带来很大 的w e b 负担;因为对于每一个e j b 的激活,都将产生一次远程的调用,而如果存在 大量的系统用户,用户与对象间的交互就将为w e b 通信带来很大的压力,使系统性 能受到很大破坏;如果用户可以直接访问后端的企业对象,但是系统中又缺少一个 统一的用户访问机制,那么这些访问很有可能变得杂乱无章,引起系统性能的下降, 甚至导致一些安全问题 为了解决以上的问题,开发人员可以采用会话面的设计模式,即使用会话b e a n 来实现一个面( f a c a d e ) 来包含一个工作流中所有相关对象的交互;这个会话面负责管 理业务对象,并向用户提供一个统一的服务访问层,会话面可以面向底层对象的交 互过程,并提供一个仅仅包含必须提供的接口的服务层,由此它将复杂的对象交互 和用户之间隔离开来;会话面也负责管理企业数据和企业对象之间的交互,并表达 其中需要的企业逻辑,因此会话面也可以管理企业对象之间的作用关系;同时,根 据工作流的需要,会话面也管理对象的创建,查找,修改和删除。 在一个复杂的应用系统中,会话面可以将其生命周期的管理下放到一个单独的 帮助对象去:同时,在应用系统中,检查业务对象之间的作用关系也是非常重要的, 一些关系可能是暂时的,即只使用于一定的交互过程,而另外一些关系则是永久的, 暂时的关系适合建模于会话面中的工作流,永久的关系则需要具体情况具体分析 图2 1 中的类图简要描述了会话面的设计模式。 西北大学信息科学与技术学院硕士研究生论文 6 第二章相关技术基础 图2 1 会话面的设计模式 这里我们对各个组件加以简要的介绍: 1 1 客户( c l i e n t ) 。这表示会话面的客户,即需要访问相关企业服务的客户端应 用程序,当然也可以是在同一层面或不同层面的另外一个s e s s i o nb e a n 。 2 1 会话面( s e s s i o nf a c a d e ) 。会话面通常是用s e s s i o nb e a n 来实现的,它管理着 多个企业对象的作用关系并提供一个高层次的抽象界面给用户 3 ) 业务对象( b u s i n e s so b j e c t ) 。业务对象是一个可以使用多个不同设计方案的 对象,例如会话b e a n 、实体b e a n 和数据访问对象。在图2 1 中业务对象负 责提供数据和服务,而会话面则需要与多个业务对象实例交互而获得相应的 服务。 会话面实际上就是业务层的一个控制对象,它负责控制用户与企业数据和企业 服务对象之间的交互:在一个复杂的应用系统中,甚至可能会有多个会话面作为用 户和对象模块之间的中介。 2 2 w e bs e r v i c e 2 2 1 w e bs e r v i c e 概述 w e bs e r v i c e t 4 1 是微软提出的基于互联网的开发模型,它是在i n t e m e t 上进行分布 式计算的基本构造块。w e bs e r v i c e 是对象,组件技术在i n t e r n e t q a 的延伸,是封装成 西北大学信息科学与技术学院硕士研究生论文 7 第二章相关技术基础 单个实体且发布到网络上以供其它程序使用的功能集合。在w e bs e r v i c e 的体系中。 应用系统被分割为高内聚、低耦合的单个的服务,可以分散于w e b 的各个地方,通 过互相地调用以协同完成业务活动,建立可互操作的分布式应用程序的新平台p 】 有多少个构建x m lw e bs e r v i c e 的公司,就可能有多少种x m lw e bs e r v i c e 定 义,不过几乎所有定义都具有以下共同点: w e bs e r v i c e 通过标准的w e b 协议向w e b 用户提供有用的功能。多数情况下使 用s o a p 协议。 w e bs e r v i c c 可以非常详细鲍说明其接口,这使用户能够创建客户端应用程 序与它们进行通信这种说明通常包含在称为w e bs e r v i c e 说明语言 f w s d l ) 1 6 】文档的x m l 文档中。 w e bs e r v i c e 经过注册,便潜在用户能够轻易地找到这些服务,这是通过统 一发现、描述和集成( u d d i ) 【7 】来完成的。 业界将w 曲s e r v i c e 定义为:通过s o a p 在w 曲上提供的软件服务。使用w s d l 文件进行说明,并通过u d d i 进行注册它们。w e bs e r v i c e 是一个能够使用x m l 消息 通过网络来访问的i n t e r f a c e ,这个i n t e r f a c e 描述了一组可访问的操作它是由s o a p 和w s d l 包装的o b j e c t ,通过一个s o a p 接口被访问,而此接1 2 1 则定义在一个w s d l 文档里,能够适应松散耦合的网络环境,可通过w 曲访问,手段是s o a p 消息:对服 务的行为,输入,输出郝可使用w s d l 描述。 w e bs e r v i c e 使用基于x m l 的消息处理作为基本的数据通讯方式,消除使用不同 组件模型、操作系统和编程语言的系统之间存在的差异。因此w c bs e r v i c e 体系结构 的主要优点之是;允许在不同平台上、以不同语言编写的各神程序以基于标准的 方式互相通信。开发人员可以用像过去在创建分布式应用程序时使用组件一样的方 式创建将来自各种源的w e bs e r v i c e 组合在一起的应用程序。相对以前的方案而言, w c bs e r v i c e 的另大优点是使用标准的w e b 协议x m l 、h t t p 和t c p i p 。 w e bs e r v i c e 所实现的最基本的方案是向它的客户端提供某个基本功能以供其 使用,也可以以复合方式使用w e bs e r v i c e 来集成一组似乎完全不同的现有应用程 西北大学信息科学与技术学院瑷士研究生论文 s 第二章相关技术基础 序。以w c bs e r v i c e 方式提供现有应用程序,可以构建新的、更强大的应用程序。应 用程序通过使用多个不同来源的w e bs e r v i c e 构造而成,这些服务相互协同工作,而 不管它们位于何处或者如何实现。因此,只要能够对w e b 进行编程,便能够创建数 以百计的应用程序 w e bs e r v i c e 具备以下特征【8 】: 完好的封装性。w e bs e r v i c e 是一种部署在w e b 上的对象,具备对象的良好 封装性对于使用者而言,他能够,并且只能够看到该对象提供的功能列表。 松散耦合的协调性。这一特征也是源于对象,组件技术,当一个w e bs e r v i c e 的实现发生变更的时候,调用者并不会感受到这种变化。对于调用者来说, 只要w e bs e f v i c e 的调用界面保持一致,w e bs e r v i c e 实现任何变更对他们来 说都是透明的,甚至是当w e bs e r v i c e 的实现平台从j 2 e e 迁移到了n e t 或者 是相反的迁移流程,用户都可以对此一无所知。对于松散耦合而言,尤其是 在i n t e m e o ;l :境下的w e bs e r v i c e 丽言,需要有一种适合i n t e m e t 环境的消息交 换协议而x m l s o a p 正是目前最为适合的消息交换协议。 使用协约的规范性。这一特征从对象而来,但相比一般对象其界面规范更加 规范化和易于机器理解。首先,作为w e bs e r v i c e ,对象界面所提供的功能 使用标准的描述语言来描述( 比如w s d l ) ;其次,由标准描述语言描述的服 务界面是能够被发现的,因此这一描述文档需要被存储在私有的或公共的注 册库里面同时,使用标准描述语言描述的使用协约将不仅仅是服务界面, 它将被延伸到w e bs e r v i c e 的聚合,跨w e bs e r v i c e 的事务、工作流等,丽这 些又都需要服务质量( q o s ) 的保障。最后,在所有层次的处理都应当是可管 理的,因此需要对管理协约运用同样的机制。 使用标准协议规范。作为w e bs e r v i c e ,其所有公共的协约完全需要使用开 放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范, 以便由任意方进行实现。 高度可集成能力。由于w c bs e r v i c e 采取简单的、易理解的标准w e b 协议作 西北大学信息科学与技术学院硕士研究生论文 第二章相关技术基础 为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,实现了 在当前环境下最高的可集成性。 w e bs e r v i c e 是建立在一些通用协议的基础上,它的核心基础是扩展标记语言 x m l ,其相关标准协议包括服务调用协议s o a p 、服务描述语言w s d l 以及服务注 册检索访问标准u d d i 等。这些协议在涉及到操作系统、对象模型和编程语言的选择 时,没有任何倾向,因此将会有很强的生命力。 2 2 2 w e bs e r v i c e 的体系结构 w c b s e r v i c e 的一个主要思想,就是未来的应用将由一组应用了网络的服务组合 而成只要两个等同的服务使用统一标准和中性的方法在网络上宣传自己,那么从 理论上讲,一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的服务 之中选出一个 w 西s e r v i c e 解决了服务的发布、服务的查找以及服务的绑定三个方面。根据这 三者的关系,图2 2 表示出了w c bs e r v i c e 的体系结构: 服务注册中心 服务请求者服务提供看 图2 2g e bs e r v i c e 体系结构 从图中可以看出,w e bs e r v i c e 体系结构中共有三种角色:服务提供者( s e r v i c e p r o v i d e r ) 、服务请求者( s e r v i c er e q u e s t o r ) 、服务注册中t ) , ( s e r v i c er e g i s t r y ) 。下面对 这三种角色作简单的介绍: 西北大学信息科学与技术学院硕士研究生论文 1 0 第二章相关技术基础 服务注册中心:服务注册中心提供了一个注册w e bs e r v i c e 资讯的环境,对 其进行分类,并提供搜索服务。服务提供者可以把他们所要提供的服务在注 册中心进行注册,来公布w e bs e r v i c e 的资讯,而服务请求者则可以通过服 务注册中心搜寻服务,来发现和绑定服务信息。服务请求者绑定服务信息的 方式有两种:静态绑定以及动态绑定静态绑定是开发者在开发应用程序的 时候查询相关的服务信息,并得到服务的接i z l 信息。在这种方式下,服务注 册中心是可选项,因为服务请求者可以通过多种方式直接从服务提供者那里 得到相关的w e bs e r v i c e 信息。 典型的服务注册中心一u d d i 是一套基于w e b 的、分布式的,为w e b s e r v i c e 提供服务注册中心的实现标准规范,同时也包含一组企业能将自身提 供的w e bs e r v i c e 注册以便于别的企业熊够发现的访问协议的实现标准,所 有的u d d i 的访问都通过s o a p 进行 对u d d i 的操作主要分为两种:查询和发布,主要由服务请求者和服务 提供者发出,u d d i 开发工具会针对用户的需要发, m , s o a p 请求,u d d i 接受 s o a p 请求并对它处理,最后把结果打包成s o a p 响应消息返回给请求者。 服务提供者:发布自己的服务于i n t e m e t 上,并且对使用自身服务的请求进 行响应从企业的角度来看,服务提供者是w e bs e r v i c e 的拥有者;而从该 体系结构中来看,服务提供者可以看作是拥有w e bs e r v i c e 的个站点或者 是门户,以及服务本身的执行环境。 服务请求者:利用s e r v i c er e g i s 时查找所需的服务,既可以通过浏览器来访 问相应的服务,也可以通过一个应用程序来访问w e bs e r v i c e 。从企业的角 度看,服务请求者是一个请求完成某项功能的企业:从体系结构的观点来看, 服务请求者是某种c l i e n t 或一个和某个w e bs e r v i c e 进行交互的应用程序。 西北大学信息科学与技术学院硕士研究生论文 第二章相关技术基础 2 3 x m l 2 3 1 x m l 概述 x m l 9 1 是e x t e n s i b l em a r k u pl a n g u a g e 的缩写,即可扩展标记语言是种您可以 用来创建自己的标记的标记语言它由万维网协会( w 3 c ) 创建,用来克服h t m l ( 即超文本标记语言( h y p e r t e x tm a r k u pl a n g u a g e ) 。它是所有网页的基础) 的局 限。和h t m l 一样,x m l 基于s g m l 一标准通用标记语言( s t a n d a r dg e n e r a l i z e d m a r k u pl a n g u a g e ) 尽管s g m l 已在出版业使用了数十年,但其理解方面的复杂 性使许多本打算使用它的人望而却步( s g m l 也代表“听起来很棒,但或许以后会 用( s o u n d sg r e a t , m a y b el a t e r ) ”) x m l 是为w 曲设计的x m l 是整个w e bs e r v i c e 技术的基础,本文涉及的各 种w e bs e r v i c e 协议都是以x m l 作为信息描述和交换的标准手段。x m l 实际上是 w e b 上表示结构化信息的一种标准文本格式,它没有复杂的语法和包罗万象的数据 定义x m l 同h t m l 一样,都来自s g m l ( 标准通用标记语言) s g m l 是一种在 w e b 发明之前就早已存在的用标记来描述文档资料的通用语言。但s g m l 十分庞大 且难于学习和使用鉴于此,人们提出了h t m l 语言但近年来,随着w e b 应用 的不断深入,h t m l 在需求广泛的应用中已显得捉襟见肘,有人建议直接使用s g m l 作为w e b 语言。但s g m l 太庞大了,学用两难尚且不说,就是全面实现s g m l 的 浏览器也非常困难。于是w 曲标准化组织w 3 c 建议使用一种精简的s g m l 版本 一x m l 。x m l 与s g m l 一样,是一个用来定义其他语言的元语言 x m l 具有以下就是它具有重要特性【9 1 。 自描述性:自描述性使差异性可以存在,使计算机可以在没有人干涉的情况 下,理解数据的含义 可扩展性:文档通过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 或x m ls c h e m a 的约束。 层次性结构:能够保证信息的层次性描述。 丰富的链接定义:对应于h t m l 单一的单向单通道链接,x m l 提供各种不 同的链接,如一对多、多对一和双向链接。 多样的样式表支持:x m l 将数据内容和它们的表现形式分开这样既可以 只关心数据的逻辑结构,也可以通过样式表来格式化数据的表现。 保值:x m l 文件不会因为时问的变换而变得不可读,不可处理,因为x m l 格式之间的转化是很容易的。这也是s g m l 希望拥有的特性,但是s g m l 由 此而变得庞杂,x m l 相比而言简单而且更加灵活 可精确搜索:x m l 标签表达了内容的定义,从而搜索引擎可以通过搜索x m l 文档得到更精确的内容。 正是这些优点,使得x m l 得到广泛应用,尤其是在需要信息交换的地方,使用 x m l 能做到事半功倍的效果。 2 3 2 ) 口l 的文档结构 x m l 中描述的数据对象被称为x m l 文档。x m l 文档的定义形式是一个简单的层 次树,其中仅有一个根节点,成为文档实体或者文档根。所有x m l 文档都必须符合 句法限制,即满足格式规范的要求。在一定条件下,要求x m l 满足特定规则的语言 限制,即满足有效性要求。定义x m l 文档有效性规则的方式有多种,但是在w e b s e r v i c e 中将使用x m ls c h e m a ( x m l 模式) 。总的来说,格式规范的x m l 的文档要满 足以下规定: 1 ) 语法符合x m l 规范要求。 2 ) 每个x m l 文档至少包括一个元素。 3 ) x m l 文档的元素构成了一个层次树型结构,其中根节点只包含一个文档元 素。 对于所有的元素,如果其起始标签在另外一个元素中,那么结束标签也应该在 西北大学信息科学与技术学院硕士研究生论文 第二章相关技术基础 相同的元素中 支持x m l 的浏览器能够自动检查x m l 文档是否满足格式规范的要求。x m l 文 档中有的元素是可以相互嵌套的,而有些元素是并列的兄弟节点,其他还有从属元 素的属性,这样的关系构成了x m l 文档的逻辑结构 x m l 文档有一个文档的声明和一个根节点元素。x m l 声明包括声明x m l 的版 本、字符集等信息;根元素有自己的元素值、属性和属性值,元素值和属性值都是 根元素节点的叶子节点,即值节点。整个x m l 文档有且只有一个根元素,但是根元 素以下的元素都可以有多个自己的子元素,每个子元素都可以有自己的多个属性, 每个属性都可以有自己的属性值,每个子元素也可以有自己的元素值。所有的值都 以文本的形式存放,这些节点都是文档结构的叶子节点,即值节点。从另外的角度 看,无论是根还是叶,还是当中的子元素或者其他标记,每个节点都将对应各自的 存储单元,它们形成t x m l 的物理结构。x m l 文档是由一个或者多个存储单元构成。 这些存储单元就是所谓的实体x m l 文档就是通过引用定义的实体,或者在实体中 引用其他的实体来组成的。实体的定义是指可以收集并存储与之相关的数据的某种 对象。在x m l 中,实体的目的是用来表达和存储用于x m l 文档中的数据对象。 2 3 3 x m l 的名称空间 如果在一个x m l 文档中相同的标记词汇出现在多个不同的位置,则x m l 处理程 序如何正确的识别这些相同的标记词汇成为一个需要解决的问题。可见需要寻找一 个新的方法,可以用来区分元素的特定用途,特别是支持在相同的x m l 文档中混用 不同的标记,或者相同名称的标记具有不同的含义为了解决这样的问题,引入 x m l 名称空间”的概念 x m l 名称空间借助了计算机语言中n a m e s p a c e 的概念,但是它和一般的 n a m e s p a c e 机制有所不同,主要区别在于x m l 中名称空间不仅提供了名称的集合, 而且提供了文档的内部结构。x m l 名称空间将x m l 文档内容和引用通用资源标识 符( u r i ) 的名称空问结合起来,来限定其中的元素和属性名。这些名称由u r i 的引用 西北大学信息科学与技术学院硕士研究生论文 1 4 第二章相关技术基础 唯一表示,在x m l 文档中用作元素类型和属性名称。 x m l 名称空间的使用包括两个步骤,首先必须声明名称空间,其次是在合适的 地方利用名称空间来限定元素和属性名称空间可以在多个元素中声明,也可以在 一个元素中声明多个名称空间如果在两个元素中声明名称空间。可以在改元素中 的所有属性和子元素中使用该名称空间,也可以在多个元素中声明各自的名称空间。 x m l 中通过保留的属性来声明名称空间,其属性必须是x m l n s 或者以x m l n s :为前缀 2 3 4 x m l 在w c bs e r v i c e 中的应用 x m l 己经成为一种用于在i n t e m e t 上交换数据的有效机制。s o a p ,这种发送 x m l 消息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自治域内协议书
- 分手了断协议书
- 搬迁补偿协议书范本
- 厂房托管协议书
- 表决权委托协议书
- 餐厅股东合作协议书
- 七年级道德与法治上册 第二单元 生活中有你 第四课 第一次“握手”情境探究型说课稿 人民版
- 车辆背户协议书有用
- Unit 7 Happy birthday!Reading Plus说课稿人教版(2024)英语七年级上册
- 人教版初中九年级下册 6.2.1 伟大的历史性转折 说课稿
- 网络交友新时代课件
- 2025年乡村医生公共卫生服务专业知识题库及答案解析
- 2024年江南大学公开招聘辅导员笔试题含答案
- 议论文写作入门基础任务式课件2025-2026学年统编版高中语文必修上册
- 佛州驾照考试试题题库及答案
- 《人工神经网络理论及应用》课件-第8章 深度神经网络-卷积神经网络(下)
- 索佳全站仪SET230RK3使用说明书
- 甘草中药课件
- 2025贵州贵阳机场安检站安检员岗位实习人员招聘笔试历年参考题库附带答案详解
- 建设工地试验室日常质量监督计划
- 基本生活能力评估表BADL使用指南
评论
0/150
提交评论