(计算机软件与理论专业论文)基于sca的soa编程模型及安全策略的应用研究.pdf_第1页
(计算机软件与理论专业论文)基于sca的soa编程模型及安全策略的应用研究.pdf_第2页
(计算机软件与理论专业论文)基于sca的soa编程模型及安全策略的应用研究.pdf_第3页
(计算机软件与理论专业论文)基于sca的soa编程模型及安全策略的应用研究.pdf_第4页
(计算机软件与理论专业论文)基于sca的soa编程模型及安全策略的应用研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机软件与理论专业论文)基于sca的soa编程模型及安全策略的应用研究.pdf.pdf 免费下载

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

文档简介

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究 所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均 已在文中以明确方式标明。本声明的法律责任由本人承担。 学位论文作者: 界彤备 日期:多咖年岁月髟e l 学位论文使用授权声明 本人在导师指导下完成的论文及相关的职务作品,知识产权归属郑州大学。 根据郑州大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门 或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权郑州大学 可以将本学位论文的全部或部分编入有关数据库进行检索,可以采用影印、缩印 或者其他复制手段保存论文和汇编本学位论文。本人离校后发表、使用学位论文 或与该学位论文直接相关的学术论文或成果时,第一署名单位仍然为郑州大学。 保密论文在解密后应遵守此规定。 学位论文作者:多乒彬裔 日期:砷年 多月形日 摘要 摘要 随着企业的不断发展,应用系统不断增多,企业中可能存在着大量的 异构系统,这些系统有的使用不同的编程语言,有的运行在不同的平台上。 因此,对这些异构的遗留系统进行整合是企业面临的一个难题。s o a 就是 在这样的背景下提出来的。s o a ( 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 c a ( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ,服务组件结 构) ,s c a 是一个规范,它描述了使用s o a 构建应用程序和系统的编程模 型,用s c a 建立的系统体现了s o a 结构的优点。 论文结合实际科研项目的需求,研究了构建基于s c a 的s o a 系统的关 键技术,设计并实现了异构系统的集成,为中小企业进行信息整合和系统 集成提供了新思路和参考依据。本文的研究工作主要有以下几个方面: ( 1 ) 对s o a 架构的理论体系、w e b 服务安全协议进行分析研究,并重 点分析了s c a 编程模型的技术规范及s c a 策略框架的安全机制。 ( 2 ) 以一个实际旅游公司异构信息系统为背景,基于s o a 的设计思想, 运用s c a 的编程模型,使用a p a c h et u s c a n y 和p h ps c a 实现异构系统的 集成。 ( 3 ) 利用s c a 的策略框架实现对系统发布组件服务的安全控制,维护 和确保发布的s c a 组件服务的安全性。 关键词:面向服务的架构s c a s c a 组件w e b 服务s c a 安全策略 a b s t r a c t a b s t r a c t t h ea p p l i c a t i o ns y s t e mo fe n t e r p r i s ei si n c r e a s i n gg r a d u a l l yw i t ht h e d e v e l o p m e n to f t h ee n t e r p r i s e t h e r ea r el o t so fh e t e r o g e n e o u ss y s t e m s ,s o m eo ft h c r n a r ep r o g r a m m e dw i t hd i f f e r e n tl a n g u a g e s ,a n ds o m ea r er u n n i n go nd i f f e r e n ts y s t e m p l a t f o r m s h e n c ea g g r e g a t i o na n di n t e g r a t i o no fl e g a c ys y s t e mi sab i gp r o b l e m t ot h e e n t e r p r i s e u n d e rt h i sb a c k g r o u n d ,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 ( s o a ) c o m e sw i t h t h et i d eo ff a s h i o n , s o aw h i c hh a st h ec h a r a c t e r i s t i c so fl o o s e - c o u p l i n g , r e g a r d l e s so f t e c h n o l o g y , i n t e g r a t a b l e ,m a n a g e a b l ea n dm a i n t a i n a b i l i t y , b e c o m e so n eo f t h em o s t p o p u l a rs o f t w a r e a r c h i t e c t u r ei nr e c e n ty e a r s t h e r ea r ev a r i e t i e so ft e c h n o l o g i e s w h i c ha l eb r o u g h tf o r w a r di nt h i sa r e a , a n dt h em o s ta t t e n t i o n - g e t t i n ga m o n gt h e s e t e c h n o l o g i e si ss c a ( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ) s c ai sas p e c i f i c a t i o nw h i c h u s e dt od e s c r i b em a k i n gu s eo fs o at oc o n s t r u c ta p p l i c a t i o na n ds y s t e mm o d e l ,t h e s y s t e mb a s e do ns c a w i l lt a k et h ea d v a n t a g e so ft h es o a i na c c o r d i n gt ot h er e q u i r e m e n to ft h ea c t u a lr e s e a r c hp r o j e c t , t h ep a p e rr e s e a r c h e d t h ec r i t i c a lt e c h n i q u eo f t h em a k i n gu s eo fs o at oc o n s t r u c ta p p l i c a t i o na n d s y s t e m ,d e s i na n di m p l e m e n tt h ei n t e g r a t i o no ft h el e g a c ys y s t e m ,p r o v i d e san e w m e t h o df o rs m a l la n dm e d i u m - s i z e de n t e r p r i s ew h i c hi s i n t e g r a t i n gi n f o r m a t i o n s y s t e m t h i sp a p e rw i l lm a i n l yc o v e rt h ef o l l o w i n gc o n t e n t s : ( 1 ) a n a l y z et h es o aa r c h i t e c t u r et h e o r ys y s t e ma n dw e bs e r v i c es e c u r i t y p r o t o c a l ,e m p h a s i z i n go nt h ea n a l y s i so f t h es c as p e c i f i c a t i o n sa n dt h es c as e c u r i t y p o l i c yo f t h es c a p o l i c yf r a m e w o r k ( 2 ) m a k i n g u s eo ft h ed e s i g ni d e a so fs o aa n ds c ap r o g r a m m i n gm o d e l ,w i t h a p a c h et u s c a n ya n dp h p s c a i m p l e m e n t a t i o nt e c h n i q u e ,t oa c h i e v et h ei n t e g r a t i o n a m o n gt h el e g a c ym i ss y s t e mo f at r a v e lc o m p a n y ( 3 ) u s i n gt h es c as e c u r i t yp o l i c yt op r o m o t es a f e t yo ft h ep u b l i s h i n gs e r v i c eo f t h es c a c o m p o n e n t k e yw o r d s :s o a ,s c a ,s c ac o m p o n e n t 、w e bs e r v i c e ,s c as e c u r i t yp o l i c y l l 目录 目录 摘要i a b s t m c t i i 目录i i i 1绪论1 1 1 论文的研究背景1 1 2国内外研究现状2 1 3 本文的研究内容及组织结构2 1 3 1 本文的研究内容2 1 3 2 论文组织结构3 2s o a 基础4 2 1 s o a 概述4 2 1 1 s o a 概念4 2 1 2 服务的特点5 2 2w e b 服务基本规范6 2 2 1 s o a p 协议。7 2 2 2w s d l 协议9 2 2 3u d d i 协议一9 2 3w e b 服务安全一1 0 2 3 1 w e b 服务的安全协议介绍一l o 2 3 2 基于w s s e c u r i t y 的安全s o a p 消息1 l 2 3 3a x i s 2w e b 服务安全1 3 2 4 本章小结一1 4 3s o a 编程模型s c a 15 3 1s c a 的起源15 3 2 s c a 简介1 6 3 3s c a 的特点19 3 4 s c a 与s p r i n g 2 0 i l l 目录 3 5s c a 策略框架2 2 3 5 1s c a 策略框架简介2 2 3 5 2s c a 安全策略2 3 3 6 a p a c h et u s c a n y 简介2 4 3 7 本章小结2 6 4 基于s c a 的酒店预订功能的实现2 7 4 1系统需求2 7 4 2 系统设计。2 8 4 3 系统实现3 1 4 3 1 基于t u s c a n y 的s c a 组件开发环境设定3 l 4 3 2 客户管理组件及s p 短信发送组件的实现3 2 4 3 2 酒店房间管理组件的实现3 5 4 3 4 预订信息管理组件、酒店用户管理组件的实现! 3 5 4 3 5 房间预订组件的实现3 8 4 4 实现效果。4 2 4 5 本章小结4 4 5 基于s c a 策略框架实现组件服务安全的控制4 5 5 1安全策略实施步骤4 5 5 2v i p 客户信息管理组件的安全策略4 6 5 3 短信发送组件的安全策略4 8 5 4 房间预订信息组件的安全策略4 8 5 5 本章小结5 0 6 总结与展望5 2 参考文献5 3 致谢5 5 人个简历、在学期间发表的学术论文与研究成果5 6 个人简历5 6 参研项目5 6 i v 图目录 图目录 图2 1w e b 服务的体系结构6 图2 2 消息组成结构图8 图2 3w 西服务安全模型协议组成图。1 0 图2 4 基于w s s e c u r i t y 实现的s o a p 安全消息1 2 图3 1 组件结构图17 图3 2 组件绑定示意图1 9 图3 3s c a 域南1 9 图4 1v i p 客户管理系统基本功能用例2 7 图4 2 会员酒店功能用例图2 8 图4 3 基于m v c 构架的服务层扩展示意图3 0 图4 4 房间构件组成示意图31 图4 5v i i 客户管理组件实现中的类图3 3 图4 6 短信发送实现类s e n d m s g s e r v i c e i m p l 类图3 3 图4 7r o o m b o o k m s g 、r o o m b o o k m s g s e r v i e e i m p 类图3 6 图4 8h o t e l u s e r 、h o t e l u s e r s e r v i e e l m p l 类图3 6 图4 9 酒店房间预订的流程图一4 2 图4 1 0 酒店房间预订界面图4 3 图4 1 1 会员酒店用户管理界面4 3 v l 绪论 1绪论 1 1 论文的研究背景 计算机软件技术发展到今天,从企业的i t 战略来说,各个企业都已经在不 同的业务领域架构了一些i t 系统,虽然这些i t 系统可能已是一套完整的企业解 决方案。但在日新月异的商业环境下,客户的需求也在不断的发生着变化,软 件产品的生命周期变得越来越短,新的业务运行模式被陆续的提出来。新的业 务模式需要新的业务流程系统的支撑,这个新的业务流程可能不仅仅需要一个 部门内部的合作,有可能是跨部门甚至是企业和企业之间的合作,一个能满足 客户需求并能很灵活响应需求变化的业务流程才是现代企业竞争力的根本。这 不仅仅是一个是企业管理的问题,也是对企业的i t 系统架构的一个需求,这些 需求为企业的i t 架构和策略提出了需求,如何能做到真正的灵活适应需求的变 化? 如何能重用自己企业原有的i t 技术和i t 系统资源? 如何能提高企业对i t 系统的投资回报? 从另一个方面来说,h 系统技术和i t 架构也经历了一个变化的过程,从传 统的c s ( 客户端服务器端,c l i e n t s e r v e r ) 架构,到从9 0 年代开始兴起到现在 已经普遍使用的b s ( 浏览器j l 艮, 务器,b r o w s e r s e r v e r ) 架构,再到现在开始慢慢被 人们接受的基于服务的架构。同样,编程技术也在不断的发展变化,从机器语 言、汇编语言等较为底层的编程语言,到以c 为代表的面向过程的编程语言、 以j a v a 为代表的面向对象的编程语言,进而到j 2 e e 、n e t 的模块化分布式企业 级的编程架构。可以发现编程的粒度越来越大、i t 系统分层的概念越发普遍的 规律,使得开发人员可以只关注业务逻辑的开发,大大节省系统开发的时间, 这也是一个趋势。 业务模式的变迁和i t 技术的发展趋势,需要一个i t 战略架构来满足需求, s o a ( 面向服务的架构,s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 在这些需求的背景下被提 了出来,并且因为其可复用性、可扩展性、开发性而快速发展起来。 s o a 顾名思义是面向服务的结构,或者说是以服务为基础搭建的l t 体系架 构。s o a 架构的核心此是服务,并以粗粒度的服务为基础对业务进行建模,可 以使整个业务和系统结构更加的简洁。以服务为基础来实现可以使i t 系统更加 灵活的应对变化,更加容易被复用1 2 】。 1 绪论 s o a 是一种松散耦合的软件架构,同时也包括运行环境、编程模型、架构 风格和相关的方法论,并涵盖服务的这个生命周期。s o a 以其平台无关性、协 议无关性,具体编程技术无关性等特点,使得在构建企业l t 系统时能做到以i t 业务的需求为主,技术能充分的响应业务需求和快速应变,更好的体现出技术 的价倒引。 1 2 国内外研究现状 在国外,s o a 的概念最早在1 9 6 0 年被著名i t 国际分析机构g a r t n e rg r o u p 提出,由于当时的技术发展水平并不能支持s o a 的架构思想,因此并没有引起 人们的足够重视。但是随着网络技术特别是9 0 年代后w e b 服务技术的发展并日 趋成熟,s o a 被称为“现代应用开发领域最重要的课题 ,业界和好多的高校、 科研机构都表现出了极大的兴趣。以i b m 、b e a 为代表的大的l t 厂商纷纷提出 自己的s o a 解决方案,并且b e a 、i b m 、o r a c l e 、s a p 等知名的国际公司联合 制定了一套基于s o a 的编程模型规范s c a ( 服务构件架构,s e r v i c ec o m p o n e n t a r c h i t e c t u r e ) ,在2 0 0 5 年1 1 月发布了s c a 规范的0 9 版本,在2 0 0 6 年4 月发布 了改进版本0 9 5 版本,随后在2 0 0 7 年3 月,s c a 版本完善至1 0 。s c a 提供了 一个s o a 的编程模型,它的核心是服务组件的统一构建和统一调用。现在s c a 的开源实现也有了j a v a 、c + + 、p h p 等版本。 在国内,s o a 也不是一个新鲜的事物,国内一些知名的厂商如金蝶、用友、 普元等中间件厂商纷纷推出自己的中间件产品和s o a 的解决方法,其中普元加 入了o s o a ( o p e ns 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 c a 制定委员 会中的一员。而国内在s o a 的研究方面还处于理论探索研究方面,s o a 的应用 也集中在银行、电信等大型的企业,中小型企业的s o a 应用还处于起步阶段。 s c a 规范的出现也是近两年的事,s c a 的研究及实践更处于一个初级阶段【4 1 。 1 3 本文的研究内容及组织结构 1 3 1本文的研究内容 本文的研究工作主要是:在对面向服务的架构s o a 的详细分析研究的基础 上,分析和研究了编程模型s c a 规范及s c a 的策略框架,并利用s c a 编程模 型实现对旅游公司遗留i t 系统复用并实现新的业务功能,最后利用s c a 的策略 2二 1 绪论 框架实现对系统发布组件服务的安全控制。 1 3 2 论文组织结构 全文共分为六章: 第1 章绪论,介绍本文的研究背景、国内外研究现状、本文的研究内容、 论文组织结构方面的内容。 第2 章s o a 的基础,介绍了s o a 的概念、特点、协议和w e b 服务安全模 型等方面的内容。 第3 章s o a 的编程模型s c a ,介绍了s c a 的起源,s c a 和其他技术的集 成及s c a 的策略框架,特别是安全策略方面的内容,最后介绍了s c a 的开源实 现t u s c a n y 。 第4 章介绍了使用s c a 组装旅游公司下的遗留l t 系统、新开发功能以组件 服务的形式发布,并利用这些组件实现酒店房间预订系统,展示了s c a 在具体 应用开发中作用。 第5 章使用s c a 的策略框架以满足发布组件服务的安全方面的需求 第6 章总结和展望,对全文内容进行总结,并提出进一步研究工作的设想和 展望。 3 2s o a 基础 2s o a 基础 本章介绍了s o a 的概念、特点、协议和w e b 服务安全协议、安全模型等方 面的内容。 2 1s o a 概述 2 1 1s o a 概念 什么是s o a ? “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 ,”顾名思义,面向服务的架构, 或者说,以服务为基础搭建的企业i t 架构。s o a 最早是由国际著名的i t 分析 机构g a r t n e rg r o u p 在1 9 9 6 年提出的,2 0 0 2 年g a r t n e rg r o u p 提出s o a 是现代应 用开发领域最重要的课题,g a r t n e r 最初将s o a 描述为:“客户端朋艮务器的软件 设计方法,一项应用由软件服务和软件服务使用者组成,其中的软件包括软件 服务和软件服务消费者,s o a 和大多数通用的客户端服务器端模型的不同之处 在于它强调软件组件的松耦合性,并使用独立标准的接口。 由于当时技术条件 的限制,s o a 技术体系架构的存在超过2 0 年的时间,但一直未得广泛的应用。 随着w e b 服务技术的出现渐渐被人们接纳,s o a 终于迎来了自己的发展时期【5 】。 目前,对于s o a 的定义有多种版本,s e r v i c e a r c h i t e c t u r e t o m 将s o a 定义为: 本质上是服务的集合。服务间的彼此通信可能是简单的数据传送,也可能是两 个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务 就是精确定义、封装完善、独立于其他服务所处环境和状态的函到6 1 。 l o o s e l y c o u p l e d t o m 将s o a 定义为:按需连接资源的系统。在s o a 中,资 源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统 的系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系1 7 】。 i b m 将s o a 定义为:s o a 是一种i t 体系架构风格,支持将业务转换为一 组相互链接的服务或者是可重用的业务任务,可在需要时通过网络访问这些服 务和任务。s o a 体系结构允许进行可重用的构建,允许以松耦合的方式工作。 s o a 是真正支持使用可重用组件或服务装配业务流程的体系结构,这些组件或 服务独立于应用程序及它们的运行环境哺j 。 s o a 有很多定义,但是从根本上可以分为两类:一类认为s o a 主要是一种 架构风格;另一类认为s o a 是包含运行环境、编程模型、架构风格和相关方法 4 2s o a 基础 论等在内的一套新的分布式软件系统架构方法和环境,涵盖服务的整个生命周 期:建模开发整合部署运行管理。后者概况的范围更大,更适宜未来的发展, 本文更倾向于后者的定义。 在本文中,s o a 将被描述为是一个基于分布式体系结构的软件架构,该架 构运用面向服务的设计思想,将应用系统按照业务需求划分为不同的服务组件 来提供服务,不同的组件之间通过定义接口和协议连接起来,接口用来描述服 务提供的内容,可以采用中立的方式定义,服务的实现及服务之间的交换不依 赖于具体的硬件平台,操作系统和编程语言和通信协议等,服务组件之间具有 松耦合性、可重用性的特点。从软件体系架构方面来说,s o a 的思想还要涵盖 软件工程的整个生命周期:建模设计编码整合部署等。为其提供面向服务的 指导思想和一系列完整方法论、体系理论。 s o a 架构带来的一个重要的观点就是业务驱动i t ,即i t 和业务更加紧密地 对齐。以粗粒度的业务服务为基础来对业务建模,产生更加简洁的业务和系统 视图;以服务为基础来实现的l t 系统更灵活、更易于重用、更好更快的面对变 化;以服务为基础,通过显式的定义、描述、实现和管理业务层次的粗粒度服 务,提供了业务模型和相关i t 实现之间更好的“可追溯性 ,减小了它们之间的 差距,使得业务的变化更容易传递到i t 。 近些年来,一些1 1 r 组织成功建立并实施s o a 应用软件,i b m 、b e a 、o r a c l e 、 中国普元等厂商看到其价值,也纷纷推出自己的s o a 解决方案。s o a 将成为占 有绝对优势的软件架构和工程的实践方法。 2 1 2 服务的特点 s o a 是一种面向服务架构,服务是构建s o a 的一个基础组件,s o a 中服 务的主要特征如下【9 川】: ( 1 ) 服务是可以独立操作的。服务都可以对外提供操作来完成服务的功能, 这些操作通过标准的方式发布和封装,其功能实现不依赖于其他的服务或者组 件,能很容易的被独立调用。 ( 2 ) 服务使用标准的描述格式定义了服务的消息格式和所能提供的操作, 具有自描述的特性,服务的发布者和调用者都不用关心如实现技术、地址等信 息。 ( 3 ) 服务具有异构、松散耦合的特性。服务的发布者和调用者可以采用分 布式部署的方式,可以由不同的技术实现,可以运行在不同平台上。 2s o a 基础 ( 4 ) 服务是可以被组合使用的,可以使用相应的服务组合技术。比如,目 前服务编排和流程引擎技术,可以把一系列简单的服务组合成为一个比较复杂 的服务,也就说服务具有很高的灵活性。 ( 5 ) 服务具有动态特性,已经发布的服务能被动态的发现和绑定。 ( 6 ) 服务是标准和开放的,这样才能保证企业间不同的部门、企业与企业 之间的服务能够相互调用或者能动态的组织到一起提供业务流程。 ( 7 ) 服务可以保证遗留系统的功能,这样服务的领域会变得更加的广泛: 并可以使企业遗留的i t 资源被重用,减少重新开发应用的投资。 ( 8 ) 服务是有质量保障的,这是服务q o s 的性能。 w e b 服务属于服务范畴,是s o a 中服务实现技术的一个选择,w e b 服务是 一个既有的成熟服务技术标准。下一节将介绍一下w e b 服务的基本规范。 2 2w e b 服务基本规范 w e b 服务有三个最基本的规范s o a p 、w s d l 、u d d i ,这三个规范提供了 对w e b 服务开发的支持,图2 1 是w e b 服务的体系结构。 图2 1w e b 服务的体系结构 w e b 服务的体系结构由服务的请求者、服务的提供者、服务注册中心三者 6 2s o a 基础 组成,并且它们之间存在发布、查找和绑定三类操作。 ( 1 ) 服务请求者:服务请求者在需要请求服务时,它发起对注册中心的服 务查询 ( 2 ) 服务提供者:服务一般有定义良好的接口( 对内的和对外的) ,并且接 口的定义是平台和语言中立的,接口的描述信息被发布到服务目录( 或称为服务 注册表) 中,这样就可以被动态发现和调用。 ( 3 ) 服务注册中心:服务注册中心提供了服务目录的功能,是沟通服务请 求者和服务提供者的桥梁。它包含一个可用服务的存储库,并允许感兴趣的服 务使用者查找服务提供者接口。 在这三者上定义了相互的三种操作: ( 1 ) 发布:为了使服务可访问,需要发布服务描述以使服务请求者可以查 找它。 ( 2 ) 查找:查找操作中,服务请求者直接检索服务描述或在服务注册中心 中查询所要求的服务类型。 ( 3 ) 绑定:在绑定操作中,服务请求方通过分析从注册服务器中得到的服 务绑定信息,包括服务的访问路径、服务调用的参数、返回结果、传输协议、 安全要求等,对自己的系统进行相应配置,进而远程调用服务提供者所提供的 服务。 下面将分别介绍一下w e b 服务的三个基本规范s o a p 、w s d l 、u d d i 。 2 2 1s o a p 协议 s o a p ( s i m p l eo b j e ta c c e s sp r o t o c a l ) 1 2 】是一种轻量级的基于x m l 的简单通 信协议,它定义了一种通过网络传送x m l 消息的格式。该消息由一个s o a p 信 封( e n v e l o p e ) 元素和被信封元素包围的一个可选择的s o a p 头元素和一个必须的 s o a p 体元素组成。s o a p 是为了解决互联网中的互操作性问题而出现的。其中, h 1 v r p 用于s o a p 的消息传输,而x m l 是s o a p 的编码模式。图2 2 为s o a p 各个组件协作的组成示意图。 7 2s o a 基础 图2 2 消息组成结构图 s o a p 在请求者和提供者对象之间定义了一个通信协议。这样,在面向对象 的环境中,请求者对象执行一个对提供者对象的远程方法调用。s o a p 的优点在 于它与厂商无关,可独立于平台、操作系统、目标模型和编程语言而实现。另 外,传输和语言绑定以及数据编码参数选择都是由具体实现决定的。 s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化类型的 信息提供了一个轻量级的机制。s o a p 规范由四个部分组成。 ( 1 ) s o a p 封装:封装定义了一个描述消息中的内容是什么是谁发送的, 谁应当接受并处理它以及如何处理它们的框架。 ( 2 ) s o a p 编码规则:定义了用以交换应用程序的数据类型实例的一系列机 制。 ( 3 ) s o a pr p c 表示:定义了一个用来表示远程过程调用和应答的协定。 ( 4 ) s o a p 绑定:定义了一个使用底层传输协议来完成在结点间交换s o a p 信封的约定。 2s o a 基自i i ; 2 2 2w s d l 协议 w s d l 的全称是w e bs e r v i c e sd e s c r i p ti o nl a n g u a g e 13 1 ,是基于x m l 描述 w e b 服务的标准语言,其主要目的在于w e bs e r v i c e s 的提供者将自己服务的所 有相关内容,如服务的传输方式、服务的方法接口、接口参数、服务路径等, 生成相应的文档,发送给使用者。使用者通过这个w s d l 文档,创建相应的请 求消息给服务提供者,而服务在完成以后,服务请求者会根据w s d l 文档把返 回的服务结果消息解析成自己能理解的内容。w s d l l 1 于2 0 0 1 年3 月1 5 日获 得w 3 c 的认可,正式成为标准。w s d l 文档的组成分为如下几个部分: ( 1 ) t y p e :类型定义。定义了w e bs e r v i c e s 使用的所有数据类型集合,可被 m e s s a g e 部件引用。 ( 2 ) m e s s a g e :消息定义。定义了w e bs e r v i c e s 所有的请求消息、响应消息。 ( 3 ) p o r t t y p e :接口定义。该部分描述了w e b 服务的接口定义,可以看作类 似j a v a 语言的抽象接口。 ( 4 ) b i n d i n g :包含了如何将抽象接口的元素转变为具体表示的细节,具体 表示也就是指特定的数据格式和协议的结合:特定端口类型的具体协议和数据 式规范的绑定。 ( 5 ) p o r t :定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务 访问点。 ( 6 ) s e r v i c e :这是一个命名的元素,代表端口的集合和相关服务访问点的 集合。 2 2 3u d d i 协议 w s d l 描述了访问特定w e b 服务的相关信息。可是在互联网上、在企业内 部不同的部门之间,怎么能够发现所需要的w e b 服务呢? 人们需要一种简便的 快捷的方式检索那些所有可能的贸易伙伴,并与他们方便的联系和系统对接; 而那些w e b 服务供应商需要一个渠道将自己开发的w e b 服务进行发布,广而告 之。于是统一描述、发现和集成协议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 d i n t e g r a t i o n ) 应运而生。u d d i 是一个跨产业、跨平台的开放性架构,可以帮助 w e b 服务提供商在i n t e m e t 上发布w e b 服务信息。 u d d i 最初由i b m 、m i c r o s o f t 和a r i b a 等公司提出,并提交到o a s i s 组织 进行标准化。从2 0 0 0 年至今,已经发展到第三个版本。在初期,u d d i 标准得 到了大量的支持,i b m 、m i c r o s o f t 、s a p 、n 1 v r 等公司建立了面向公众开发的 9 2s o a 基础 u d d i 注册中心,但是u d d i 的发展并不像人们期望的那样成为i n t e r n c t 上自由 开发贸易环境下的基础核心技术,目前u d d i 仍然是服务发现领域的重要标准, u d d i 的研究对理解新的技术依然有着非常重要的意义【1 4 1 。 2 3w e b 服务安全 2 3 1w e b 服务的安全协议介绍 对于w 曲服务的应用来说,安全是一个重要的环节。o a s i s 组织从2 0 0 2 年开始定义w e bs e r v i c es e c u r i t y ( w s s ) 协议,目前最新的w s s 协议版本是 1 1 。 w s s 并不能解决w e b 服务安全的所有问题,它必须和其他的安全协议协同 工作才能确保安全系统的有效性。比如,w s s 和s s l 一起工作可以端到端的传 输,并在s o a p 消息层和网络连接层都是安全的。w s s 和p k i 的实施可以保证 第三方认证是有效的。w s s 和k e r b c r o s 可以使得基于w e b 服务跨域的单点登录 ( s s o ) 成为可能。此外,在w e b 服务的协议集中,还有一些其他的协议;比 如w s p o l i c y 、w s a d d r e s s 结合起来可以提供更广泛的安全机制。在业界,i b m , v e r i s i g n 和微软提出了一个w e b 服务安全的解决模型。如图2 3 所示。 图2 3w e b 服务安全模型协议组成图 整个安全模型是基于w s s 和s o a p 的,下面是对w e b 服务协议集的安全模 型中的协议的介绍: 1 0 2s o a 基础 ( 1 ) w s p o l i c y :为服务的请求者和服务的提供者定义了语法和语义来描述 它们的需求、首选项、和性能。语法以策略的形式表述为每个领域的需求提供 了一种灵活简洁的方法。 ( 2 ) w s t r u s t :用来管理信任以及在不同w e b 服务的参与者之间直接建立 信任关系。它对w s s 规范提供了一些扩展,专门处理有关安全t o k e n s 的发布, 验证,确保各方参与者的互操作处在一个可信任的安全数据交换环境中【1 5 】。 ( 3 ) w s p r i v a c y :描述服务的请求者和提供者之间关于消息保密的模型。 ( 4 ) w s s e c u r c c o n v e r s a t i o n :在不同的参与者之间,提供鉴定和安全上下文 交换。 ( 5 ) w s f e d e r a t i o n = 提供给多个异构联邦系统分发和管理“信任”的模型。 ( 6 ) w s a u t h o r i z a t i o n :提供管理授权信息和策略。 这些协议包括w s s 协议可以被组合使用,以适应于特定的需求场景,其中 常见的场景包括以下几个【1 6 1 7 】: ( 1 ) 不同的w e b 服务消息的使用者需要被隔离,从而使得它们可以消费同 一个被加密的消息。 ( 2 ) 需要消息中介处理的场景。 ( 3 ) 传输s o a p 消息的平台不是h 丌p 。 ( 4 ) 在消息体中需要附加多个用户的登录信息。 2 3 2 基于w s s e c u r i t y 的安全s o a p 消息 在w e b 服务安全方面,通常使用的方法是s o a p 消息传递用户认证信息、 消息的完整性信息和保密性信息等。图2 4 描述了使用w s s e c u r i t y 实现s o a p 安全消息的图示。 2s o a 基础 图2 4 基于w s s e c u r i t y 实现的s o a p 安全消息 对于安全的s o a p 消息而言,主要由两部分构成,在s o a p 头中的安全相 关部分s e c u r i t yh e a d e r s 部分和在s o a p 的消息体中的加密信息。在s o a p 头安 全相关部分中,可以存放安全令牌、时间戳、签名和加密的密钥等。 安全认证控制:可以在s o a p 的头消息中添加w s s e 标签,在w s s e 标签 下u s e m a m e t o k e n 标签包括了用户的用户名和密码,服务器接收到s o a p 消息 后,将用w s s e 标签里面的用户信息区确认用户的认证信息是否正确。如果正 确的话,消息体才会被处理。用户名和密码的认证方式是w s s e c u r i t y 传递用户 认证信息的一种最基本的方法,还有其他的认证方法,比如数字签名、l t p a 令 牌、用户扩展令牌等【1 8 2 0 1 。 完整性控制:完整性是指在安全控制下的信息是完整的、没有被修改和丢失 的。可以在实现中通过使用安全摘要和签名保证消息的完整性。在s o a p 头中 的w s s e 标签里面,有用户的证书信息、签名信息和算法及结果。消息接收者 收到消息后使用用户的证书和算法对签名信息进行确认,消息合法消息体才会 被处理。 保密性:s o a p 消息的保密机制是通过对s o a p 消息体进行加密来实现的。 只有知道相应解密密钥的接受者才能看到解密后的信息。 1 2 2s o a 基础 2 3 3a x i s 2w e b 服务安全 a x i s 2 是a p a c h e 开源组织下的w e b 服务引擎,它是基于j a v a 语言的最新 s o a p 规范和s o a pw i t ha t t a c h m e n t s 规范的代码实现,许多流行的开发工具都 使用a x i s 实现w e b 服务的功能,其中包括s c a 的j a v a 开源实现t u s c a

温馨提示

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

评论

0/150

提交评论