已阅读5页,还剩73页未读, 继续免费阅读
(计算机软件与理论专业论文)web服务及xml安全.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西川大学颈学位论文一一w e b 驻务及x m l 安全 y7 7 8 9 w e b 服务及x m l 安全 计算机软件与理论专业 研究生裁强指导教帮常致全 随着电子商务的日盏发展,各种应用之间信息流和资金流的交换与传输 鹣嚣求更熬辜富亿。在巍黪环凌下磅突邀孑离务,我秘应该袋攥砉寸论毫子亵 务能够给我们带了什么好处这个局限 :,我们更加关注于如何实现这些信息 的传输与安全,如何将各种需求用容易理解与容易实现的方式来表述。如何 鳃决它们之澜售息的互用,实现跨平窘匏特性,骥蛰统一全球魄子巍务的方 向发展,是我们面临的问题。 作为在电子商务时代中作为数据交换的中间格式,使用x m l 能够充分发 撵它的与平台无关性,能在各神应用服务显示强大的威力。同时,不断发展 鹣应霄也辩x m l 安全摄滋了瑟楚要袭,热鹰实凌x m l 敏感锫戆瓣簧辕与僚 密,是x m l 应用中非常麓要的方面。 w e bs e r v i c e 是基于网络的、分布式的模块化组件,它执行特定的任务, 遵守具体豹技术翅蔻,这些趣范瞳褥w e bs e r v i c e 能与其链兼容瓣缝终进行曩 操作。 本文从w e b 服务、x m l 数据转换实现、x m l 数字签名、x m l 数据加 密等方面全灏介绍了x m i 。的应用,劳用具体的应髑程序展示了转换、数字然 名、魏密等方西的实际应稿,梅遥了惫子商务交荔数据砖辕移楚瑾静完整过 程。 关键通:w e b 驻务、x m l 鼗撂转换、x m l 数字签鑫、x m l 数据麴密 四翊大学疆圭学整论文一w e b 辍务及x m l 安全 w e bs e r v i c ea n dx m l s e c u r i t y w i t ht h ed e v e l o p m e n to fe l e c t r o n i cb u s i n e s s ,t h em q u l r e m e mo fi n f o r m a t i o n e x c h a n g ea n dt r a n s f o r m a t i o nb e t w e e na l ls o r t so fa p p l i c a t i o n sa n dc o m p a n i e s i n f o r m a t i o nf l o wa n df u n df l o wb e c o m e sm o r er i c ha n dc o l o u r f u l i nt h en e w e n v i r o n m e n t ,w es h o u l dg i v eu pd i s c u s s i n gw h a tb e h a l fi t w i l lt a k et ou s ,w e s h o e df o c u so nh o wt oa c c o 堇n p l i s ht h ei n f o r m a t i o ne x c h a n g ea n dt r a n s f o r m a t i o n , h o wt od e s c r i b et h e s er e q u i r e m e n t sw i 搬a ne a s yw a ya n de a s yt ob eu n d e r s t o o d 。 h o wt or e s o l v et h em u t u a l l ya p p l ya n da c c o m p l i s hc o m m u t a t i v e l 3 , ;t a k ee l e c t r o n i c b u s i n e s st ot h eu n i v e r s a l ,i sap r o b l e mw ea r ef a c i n gw i t h a s 越i n t e r m e d i a t ei n f o r m a t i o ne x c h a n g ea n dt r a n s f o r m a t i o nf o r m a t , x m le a r l a c tap l a t f o r mi n d e p e n d e n tr o l ea n dd i s p l a ye s s e n t i a lf u n c t i o n a tt h es a r f l et i m e , t h ed e v e l o p m e n to fa p p l i c a t i o n sr e q u i r e m e n ts t r o n gs e c u r i t y , h o wt ok e e pt h e i n f o r m a t i o ns e c r e td u r i n gt h ep r o c e s so ft r a n s m i s s i o n i sa l s oa ni m p o r t a n ta s p e c t o f t h ex m l a p p l i c a t i o n w e bs e r v i c ei sb a s e do nt h en e t w o r kd i s t r i b u t e dc o m p o n e t s ,i tp l a y ss p e c i a l t a s k sa n do b e y ss p e c i a lt e c h n o l o g yc r i t e r i o nw h i c hc a ni n t e r a c t i v ew i t he o p a t i b l e c o m p o n e t s , 砸sa r t i c l ei n t r o d u c e sw e bs e r v i c e ,x m ld a t at r a n s f o r m a t i o n ,x m ld i g i t a l s i g n a t u r e a n dx m ld a t a e n c r y p t i o n ,d e m o n s t r a t et h e u s eo fx m ld a t a t r a n s f o r m a t i o n , x m ld i g i t a ls i g n a t u r e ,a n dx m ld a t ae n c r y p t i o n ,c o n f i r mt h e w h d e p r o c e s s o f e l e c t r o n i cb u s i n e s s k e yw o r d s :w e bs e r v i c e ,x m ld a t at r a n s f o r m a t i o n ,x m ld i g i t a ls i g n a t u r e , x m ld a t ae n c r y p t i o n 露川大学疆学位论文w e b 驻务殿x m l 安全 第一章绪论 l 。l 课韪背景 电子商务从出现以来,就以其巨大的能量和动力,给整个世界的经济运行 方式秘社会熊活形态荣浆了露天覆蟪蜓交纯。姨b 2 b 、b 2 c 到b 2 g ,铁e d i 捌x m l ,孵子商务技术盼变化比其他任何领域都要邋速。 电子商务是互联网的主要应用之一,如果说目前静态的基于元素位置摆放 的第一代w e b 还可勉强威付b 2 c 和b 2 b 的要求,那么统一的数据交换和传输 就成交了毫予裔务遂一梦发震熬舔颈。毕竟,裔家之闻和囊家与令久清费者交 易所涉及的物流、管理流、信息流和资金流需要在规范和标准的轨道上进行, 动态的交互和商业数据的存储交换也已成为打开浏龅器后的必然。在这样的情 蒎下,跨擎念数据处理瓣方式蟊效率缓提妥一个凝戆褰度,扩展标记语蠢 ( 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 ) i e 在这种环境下威运而生。x m l 可以跨越所 有平台,要获得真正独立的,跨平台的数据传送格式,x m l 可能魁最好的选择。 另一方瓣,若通过网络传输结构优数据时采用x m l ,文糨的安全性变褥 愈秀羹重要。谶赛互联网袋鼗( w 3 c ) 葶羹嚣特瓣工程任务缰( i e t f ) 正在翻定粥 于数字签名的x m l 词汇表与规则。 将x m l 格式的数据转化为符合人们日常习惯的数据格式,也越来越引怒 菱多久麓兴麓,萁应矮魂菱熬广泛。 一般情况下,就安全性而言,在通过网络传输保密数据时,成保证以下瞪 点: 1 。挽密惶一其他经铹人都不能游趣或复制该数据。 2 。完熬性一该数掇觚发送者到达接收者静遥糕中未被更改。 3 身份验证一该文档确实发自所指的发送者。 4 。无擎议一发送者不可否认该文档确由其发送,也不能否认文档的内容。 1 2 课题内容 本课蕨烹要是从实琢驰电子商务交易出发,阐述了月x m l 织必数蚕传输 l 四川大学硕士学位论文一w e b 服务及x m l 安全 和交换的工具,如何实现x m l 文档到传统数据格式的转换。另外,参考国际 标准,详细讨论了如何实现x m l 在传输过程的安全问题,详细阐述了x m l 数 字签名、加密和解密的语法、过程,如何实现对x m l 文档的数字签名和加密, 构造了电子商务全程交易模型。 1 3 本文结构 本文首先介绍了w e b 服务及相关概念,介绍了实现w e b 上服务的信息交 换、注册、通信协议等方面的知识和未来发展方向,说明了x m l 在w e b 服务 上的应用。另外,说明了在现实商务交易中采取x m l 作为数据交换手段的可 行性和必要性,以一个实际应用介绍了如何以多种方式解析l 文档,实现 x m l 格式数据的转换。将x m l 与关系数据库做了简单的比较,详细地介绍了 x m l 数字签名和加密的语法和实现方式,并从实现的角度实现了x m l 文档多 种粒度的签名和加密。 四川大学硕士学位论文一w e b 服务及x m l 安全 第二耄w e b 服务 2 1x m i 的特点 在傣息化对代,垒业依靠越来越多的管理傣息系统实现遮营。箍对最花八 门的系统交互,企业首先要解决数据交换问题。开发专用接口或统一数据格式 戒为人稻鬻鼹驰办法。餐是在互联溺上,这些办法势不是难熬熬凌手段。各 种格式和内容的数据交互,对关系数据库管理系统提出了更高要求,同时保证 各平台数据之闻酶交互也成为现在管理僚患系统瓣必然需求,因诧,定铡数据 交换标准的需求应运丽生。1 9 9 8 年,国际标准化组织w 3 c 推出x m l ,解决了数 据交换的标准问题。 可扩展标记语言e x t e n s i b l em a r k u pl a n a g u a g e ( 列l ) 是檬准通髑标记语言 s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 的一个子集,其目标是能够以日 蓠黼l 霹缝实鬻酶方式在w e b 上健掰、接鼹程处疆逶蜀s g m l 。x m l 静设诗嚣标是 实现简便并且能与s g m l 和h t m l 共同操作。也就是说,x l d l 可以将s g m l 的丰富功能 和h t m l 的易用瞧结合铡w e b 应用中。 总的寒说,x m l 具有如下特点:特别适念作为数据传输格式;可以很 灵活地添加或添加元索;以人们最熟悉和最容易理解的形式展示复杂的数据 续梅;按照爨己豹瓣要,游x m l 转换为掰霉掺式:真正嶷理不疑数据蠹容 和格式的平台无关性。 使丽x m l 静醋标除了可戮将英疆接焉予i n t e r n e t p f ,还应该在其继静多耱应 用中扮演重要的角色,作为s g m l 的个予集,当然应该支持s g m l ,因此,任何 支持s g m l 的分千斤器也能处理x m l 文档。同时,作为数据传输和交换的一个标准, x m l 文挡艘该容器编写积清嗽爨蠖。但是,要成为格式嶷好秘有效嬲x 她文档, 它的格式可能比较复杂,需疆我们对数据的组织做到“见其彤,知其意”,因 藏,穗魄传统关系数据瘁露畜,复杂翟瘦甚至会更骞。 随着y d v i l 技术的遐新和进一步的发展,新的x m l 技术,已经不单单是指 s 嫂沮,还包括其他的标准:x m ls c h e m a 、x s l t 、d o m 、s a x 、x p a t h 等, 以及应用在各行各业蚋标准如b i z t a l k 、x m l e d i 、r o s e t t a n e t 、e b x m l 等。 圈蛾大学联士学整论文一懒骚务及x 磁,安垒 2 2 w e b 服务 扶表瑟上露,w e bs e r v i c e 裁是一令疲瑗程旁,宅国终奏暴霪爨一令戆够逶 过w e b 进行调用的a p i 。这就是说,我们能够用编程的方法通过w 曲调用来实 现某个功能的威用程序。我们可以创建一个w e bs e r v i c e ,它的作用是查询某公 司菜员工的基本信息。它接受该员工的编号作为查询警符串,返回该员工豹具 体信息。其毽久虢霹鼓在溺焚器静遗遗毯审壹揍输入h t t pg e t 请浆来疆震罗 列该员工基本倍息的a s p 弧狮,这就可以算作是体验w e bs e r v i c e 的用处了。 从深层次上看,w e bs e r v i c e 是一种新的w e b 应用程序分支,亩们是自包 令、鑫捶逮、摸块鼗熬应蠲,戳在爨终馐雾羹w e b ) 孛菝撵述、发毒、查援 以及通过w e b :米调用。 w e bs e r v i c e 是基于网络的、分布式的模块化组件,它执行特定的任务,遵 守矮钵豹技术援范,这些觏魏使褥w e bs e r v i c e 能与焚她兼容的缎伴进行互攥 佟。它可敬使藤标准黥互联黼协议,像怒文本传输漆议h t r p 帮x m l ,将功缝 体现在互联网和企业内部网上。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 r v i c e 平台需要一套协议来实现分布式应用稷序的创建。任何平台都 谢它的数据表看专方法和类型系统。要实现踅操作性,w e bs e r v i c e 平台必须提供 一骥标准的类溅系统,月予沟通不厨平螽、编程语言帮组 争模型中豹不圈类型 系统。 可扩展的标记语言x m l是w e bs e r v i c e 平台中寝示数据的藏本格式。除 了易于建立和易于分析外,x m l 主要的优点在于它既与平台无关,又与厂商无 关。x m l 是赉万维霜蛰会( w 3 c ) 鑫j 建,w 3 c 潮定戆x m ls c h e m a x s d定义 了一套标准的数据类型,并给出了一种谮吉来扩展这褰数据类型。w e bs e r v i c e 平台是用x s d 来作为数据焱型系统的。尚你用某种语富如v b n e t 或c 群来 桷逡一个w e bs e r v i c e 时,为了符合w e bs e r v i c e 标准,所有你使用的数据类型都必须被转换为x s d 类型。如想让落使用在不同平台和不同软件的不同组织间传递,还需要用某种 东题将它包装起来。这种东髓就是一种协议,如s o a p 。 4 四川大学硕士学位论文一w e b 服务及x m l 安全 在x m l 基础上发展起来的w e b 服务( w e bs e r v i c e ) 是一种革命性的分布 式计算技术。它使用基于x m l 的消息处理作为基本的数据通讯方式,消除使 用不同组件模型、操作系统和编程语言的系统之间存在的差异,使不同类系统 能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应 用程序时使用组件的方式,创建由各种来源的w e b 服务组合在一起的应用程 序。由于w e b 服务是建立在一些通用协议的基础上,如h t t p ( h y p e r t e x tt r a n s f e r p r o t o c o l ,w w w 服务程序所用的协议) ,s o a p ( s i m p l e o b j e c t a c c e s s p r o t o c o l , 简单对象访问协议) ,x m l ,w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,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 y ,a n di n t e g r a t i o n ,通 用描述发现和集成协议) 等,这些协议在涉及到操作系统、对象模型和编程语 言的选择时,没有任何倾向,因此w e b 服务将会有很强的生命力。 下图展示了w e b 服务的w 3 c ( w o r l dw i d ew e bc o n s o r f i l l i i l ,万维网联盟) 标准:两个应用程序通过w e b 服务进行远程通信时,所需的标准核心构件如下 图所示: 服务发现 u 加工、d i s c o 服务描述 w s i i t x 咖s c h e m a , d o e s 消息格式 s 0 p 编码 x m l 信输 h r t f 、s g t p 等 图i w e b 服务代表着可以访问远程对象,利用这些对象完成自己想要完成的任 务,获得分布式环境中的各种资源,并可以在这些资源上执行操作或者获得所 需要的结果。 w e b 服务可以通过无线的手机、电脑、或者通过一个程序、甚至是通过调 用其他的w e b 服务来获得服务,这些服务可以是b 2 b 、b 2 c 或p 2 p 的服务等, 网络可能就是i n t e m e t 、e x t r a n e t 、i n t r a n e t 等。 e 四j t | 大学硬士学位论文一w e b 服务及x m l 安全 w e bl 陵务使用三层模黧。在服务筏孺者和提供纛这两个霆色之审,勇乡 一 个角色完成了在服务使用学和提供者两者之间的代瑷,用以完成猩使用者和撼 供者之间的信息转换。服务提供者可以通过代理注册自己的服务,服务使用赘 溪戳逶过戴璩粪询毒关鬏务。 我们要安糯w e b 服务,弱 需要在服务盼各种本趣载远程组件之阐进行通信, 这些组件主骤是x m l 、s o a p 、w s d l 和u d d i 。s o a p 是x m l 和h t t p 的缎 台体,w s d l 是一种x m l 格式,用于将网络服务攒述为一组端点,这些端点 辩包含莲态文档信意或覆向过程信患静潜惑进行揉僚。这释格式罄先对搡终和 消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。 相关的具体端点即组合成为抽象端点( 服务) 。可以对w s d l 进行扩展,这样 茏论逶售辩傻羯露耱漤塞糖式或爨络癸议,都胃荻怼溃点及其淤感进行撵述。 u d d i 主要怒提供一种定义注册表的飙范,服务使用者和提供者可以在这类淀 册表中发布和查找服务,窥义了服务的数据结构和服务的应用就鼹接口( a p i ) 。 有多少个公司要构建x m lw e bs e r v i c e ,就阿戆有多少瓣x m lw e b s e r v i c e 定义。毽是,豆乎掰有定义都其有良下共同蕊: x m lw e bs e r v i c e 通过标准的w e b 协议向w e b 用户提供有用的功 能。多数情况下使厢s o a p 协议。 x m lw e bs e r v i c e 霹浚 零详缨遵说襞其接瓣,这镬躅户糍够翅建客户 端应用程序与它们进行通信。这种说明通常能含在称为w e b 服务说明 语言( w s d l ) 文档的x m l 文档中。 x m lw e bs e r v i c e 曩经过注翳,以便潜在用户能够轻易媳找到这些服 务,送楚通过运露发现、说明稍集成( u d d i ) 来完成躲。 x m lw e bs e r v i c e 定义为:通过s o a p 在w e b 上提供的软件服务,使用 w s d l 文件进行说明,并通过u d d i 进行注册。撤据定义,我们可以看出, x m lw e bs e r v i c e 俸系缝襁鑫皇主要爨点之一是:兔谗在不霾孚套土、疆不霜潺 吉编写的各种程序以基予标准的方式相互通信。与c o r b a 相比,用s o a p 实 现不同编稷环境下应用的通信的实现要简单的多,要实现与标准兼容的 s o a p ,障碍也萎少撂多。跌x m lw e bs e r v i c e 方式撼供现有应震鼹謦,可以搀 建新的、更强大的应恩穰序,并科焉x m lw e bs e r v i c e 作为构髓模块。 例如,用户可以开发一个采购应用程序,以自动获取来自不同供应商的价 6 因川火学颈学位论文一w e b 缎务及x m l 安全 格信息,从而使用户可以选择供应商,提交订单,然后跟踪货物的运输,蠹歪 收到货物。而供应商的应用程序除了在w e b 上提供服务外,还可以使用x m l w e bs e r v i c e 检查客户的信用、收取贷款,并与货运公司办理贷运手续。 2 2 1s o a p s o a p 蹩x m lw e bs e r v i c e 鲍逶僖协议。s o a p 一种规范,用来定义游 怠豹谨l 格式。 s o a p 规范的其他部分介绍如何将程序数据袭示为x m l ,以及如何使用 s o a p 进行远程过程调用( r p c ) 。这魑可选的规范部分用于实现r p c 形式的 瘟矮程旁,獒中客户壤将发奎一条s o a p 渣怠( 程含霹调霉瓣数,羧及簧褥 送到该函数的参数) ,然届服务器将返回包含函数执行结果的消息。目前,多数 8 0 a p 实现方案都支持r p c 应用程序。s o a p 还支持文档形式的应用程序, 在这类应燃程序中,s o a p 消息只楚x m l 文楼戆一个包装。文档形式黪 s o a p 应掰程序非常灵活,许多薪的x m lw e bs e r v i c e 都利愆这一特点来构 建使用r p c 难以实现的服务。 s o a p 规范的最后一个可选部分定义了包含s o a p 消息的h t t p 消息 静样式。筵h t t p 绑定津誊重要,嚣为几乎鬃鸯警蔫鹣o s ( 淤及谗多浚蔻豹 o s ) 都支持h t t p 。h t r p 绑定虽然是可选的,假几乎所有s o a p 实现方察 都支持h t i p 绑定,因为它是s o a p 的唯一标准协议。由于h t t p 非常蒋 遽,几乎掰蠢当翦载x m lw e bs e r v i c e 都使爱宠。壶于f r l t p 是w e b 浆羧 心协议,潮戴大多数组织的网络基础结构都支持h t t p ,并且貔们已经了解了 如何对其进行管理。如今,已经建立了用于h t t p 的安全保护、监视和负载平 衡的基础结槐。 开始使瘸s o a p 嚣雩,最容荔混淆鹣是s o a p 援范及萁诤多实瑗方案之翔 的差异。多数使用s o a p 的用户并不直接编写s o a p 消息,而是使用s o a p 工具包来创建和分析s o a p 消息。这些工具包通常将函数调用从某种语言转 换必s o a p 瀵患。 到目前为止,s o a p 最大的特镒怒它可以在许多不同的软件和硬件平台上 实现。这意味着s o a p 可用于链接簸业内部和外部的不同系统。过去曾试过 多种方法以掇出一个可捌予系统集成躲通用通信协议,但它们郄没有象s o a p 7 四川i 大学硕士学位论文一w e b 服务及x m l 安全 一样获得广泛的认可。为什么呢? 因为与许多早期的协议相比,s o a p 更小巧, 而且更易于实现。例如,d c e 和c o r b a 的实现需要数年时间,所以只发布 了很少几个实现方案。而s o a p 可以利用现有的x m l 分析器和h t t p 库完 成大部分艰苦的工作,因此s o a p 实现方案在数月内便可完成。这就是为什 么现在已经有7 0 多个s o a p 实现方案的原因。当然,s o a p 并不具备d c e 或c o r b a 的全部功能,虽然功能减少了,但由于其复杂程度大大降低了,因 此s o a p 更易于应用。 s o a p 客户端是一种创建x m l 文档的程序,该x m l 文档包含在分布式系 统远程调用方法所需的信息。s o a p 客户端不是传统意义上的程序,它除了用 作普通的桌面应用程序外,还可以是一种w e b 服务器或基于服务器的应用程 序。 来自s o a p 客户端的消息和请求一般是通过 i t t p 发送的。因而,s o a p 文 档可以穿过几乎所有的防火墙,从而能跨越不同的平台交换信息。 s o a p 服务器只是用于监听s o a p 消息的特殊代码,它可用作s o a p 文档 的分配器和解释器。外部w e b 服务可以与基于j 2 e e 技术的应用程序服务器交 互,这种应用程序服务器可以处理多种客户端的s o a p 请求。s o a p 服务器确 保通过h t t p 连接接收的文档被转换成可以被另一端对象理解的语言。由于所 有的通信都采用x m l 格式,某种语言中的对象可以通过s o a p 与另一种语言 ( 如c + + ) 中的对象通信。s o a p 服务器的工作就是确保各端都能理解为它们 提供服务的s o a p 。 根据s o a p1 1 规范,s o a p 是“一种用于在分散的、分布式环境中交换信 息的轻型协议”。s o a p 不会委托单一的编程模型也不会为特定的编程语 言定义语言绑定。在j a v a 编程语言环境中,它取决于j a v a 团队来定义特定的 语言绑定。 s o a p 是一种可扩展的、基于文本的架构,它允许在不同角色之间通信, 这里的角色一般是指对象,它们先前并不了解对方或对方所在的平台。从网络 对象的角度来看,s o a p 是它们的最后不可见形式。客户端应用程序可以在松 耦合的环境中互操作,以发现和动态地连接到服务,而这并不需要事先在应用 程序与服务之间建立一种协定。 四川大学硕士学位论文一w e b 服务及x m l 安全 s o a p 是可扩展的,这是因为无需中断已有的应用程序,s o a p 客户端、 服务器和协议自身都能发展。而且s o a p 能极好地支持中间介质和层次化的体 系结构。这意味着处理节点可以把请求的路径置于客户端与服务器之外。中间 节点通过使用报头来处理s o a p 指定的各部分消息。这种类型的中间报头处理 是通过客户端应用程序与中间处理节点之间的私人契约来执行的。s o a p 为报 头提供了一个m u s t u n d e r s t a n d 属性,它允许客户端将处理指定为是必须执行的 还是可选的。如果m u s t u n d e r s t a n d 被设置为1 ,服务器必须执行报头指定的中 间处理或给出错误。 s o a p 还定义了数据编码规则,称为基准编码。s o a p 编码可以简短地描 述成简单值或复合值的集合。 简单值可以是简单类型,如整型、浮点型和字符型,或者是x m l 架构规 范第2 部中定义的内置类型,包括各种数据类型,如字节型数组和枚举。 复合值包括结构、数组和x m l 架构制定组定义的复杂类型。最后,s o a p 数据编码指定了对象序列化规则,即通过网络排列和分散数据流的机制。这些 “s e c t i o n5 ”编码在任何情况下都不是强制性的,这样客户端和服务器可以自 由地使用不同的数据编码规范,只要它们符合格式就行。但是这样做的话,就 会毁灭s o a p 在网络上提供标准化服务所起的推动作用。 最后,s o a p 建立了一组规则,它允许客户端和服务器把s o a p 用作一种 通信架构来执行远程过程调用。s o a p 可以使用这些规范像r p c 类型的型 样良好地工作。对象序列化的机制给s 0 a p r p c 提供了活力。 s o a p 在标准化消息格式环境中,可以做所有它能完成的工作。消息的主 体部分是“t e x t x m l ”形式的m i m e 类型,并且包含一个s o a p 封套。该封套 是一个x m l 文档。封套包含了报头( 可选的) 和报文( 必须有的) 。封套的 报文部分总是用于最终接收的消息,而报头项目可以确定执行中间处理的目标 节点。附件、二进制数字及其他项目可以附加到报文上。 s o a p 提供了一种让客户端指定哪个中间处理节点必须处理报头项目的方 法。由于报头与s o a p 消息的主体内容是互不相关的,所以可用它们给消息添 加信息,而不会影响对消息报文的处理。 例如,报头可用于为报文中包含的请求提供数字签名。在这种情形下,身 份验证授权服务器可以处理报头项目独立于报文可以剥离信息以验 9 四川大学硕士学位论文一w e b 服务及x m l 安全 证签名。一旦通过验证,封套的其余部分将被传递给s o a p 服务器,它将对 消息的报文进行处理。深入研究一下s o a p 封套,有助于明了s o a p 报头和 报文元素的位置和用途。 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 t i o nl a n g u a g e ) 表示w e b 服务说明语言。在 本文中,我们可以认为w s d l 文件是一个x m l 文档,用于说明一组s o a p 消息以及如何交换这些消息。换句话说,w s d l 对于s o a p 的作用就象i d l 对于c o r b a 或c o m 的作用。由于w s d l 是x m l 文档,因此很容易进 行阅读和编辑;但大多数情况下,它由软件生成和使用。 要查看w s d l 的值,可以假设我们要调用由我们的一位业务伙伴提供的 s o a p 方法。我们就可以要求对方提供一些s o a p 消息示例,然后编写我们 自己的应用程序以生成并使用与示例类似的消息,但这样很容易出错。 w s d l 文件用于说明消息格式的表示法以x m l 架构标准为基础,这意 味着它与编程语言无关,而且以标准为基础,因此适用于说明可从不同平台、 以不同编程语言访问的x m l w 曲s e r v i c e 接口。除说明消息内容外,w s d l 还 定义了服务的位置,以及使用什么通信协议与服务进行通信。也就是说,w s d l 文件定义了编写使用x m lw e bs e r v i c e 的程序所需的全部内容。有几种工具 可以读取w s d l 文件,并生成与x m lw e bs e r v i c e 通信所需的代码。 2 2 3 u d d i 简单的说,通用发现、说明和集成( u d d i ) 是w e b 服务的黄页。与传统 黄页一样,我们可以搜索提供所需服务的公司,阅读以了解所提供的服务,然 后与某人联系以获得更多信息。当然,我们也可以提供w e b 服务而不在u d d i 中注册,就象在地下室开展业务,依靠的是口头吆喝;但是如果我们希望拓展 市场,希望有更多人了解我们提供哪些服务,则需要u d d i 以便能被客户发现。 u d d i 目录条目是介绍所提供的业务和服务的x m l 文件。u d d i 目录条 目包括三个部分。“白页”介绍提供服务的公司:名称、地址、联系方式等等:“黄 页”包括基于标准分类法的行业类别;“绿页”详细介绍了访问服务的接口,以便 遥川大学硬学垃论文叫f 疆 瓣务放x m l 安全 用户能够编写应用程序以使用w e b 服务。服务的定义是通过一个称兔类黧模 型( 或t m o d e l ) 的u d d i 文档来完成的。多数情况下,t m o d e l 包含一个w s d l 文件,用于说明访问x m lw e bs e r v i c e 的s o a p 接口,但怒t m o d e l 非常灵 活,可鼓说疆尼乎繇有炎鳖弱服务。 x m l 在w e b 服务体系中扮演了在各个协议标准的通信桥梁,对外掇供 服务的表现也是x m l 格式,这可以用下图来体现这个机构: 2 。2 。4 数掇交按 图2 作为一种特定的w e b 服务形式,b 2 b 、b 2 c 的数据交换采用x m l 的形式, 既可以简化数掘的表示,又可屏蔽不同数据格式和内容的差异,能够在不同的 数据辏式瑟表凌形式闻灵活应瑶。 然而,只有了数据交换,这还遮邋不能满足捷业的需求。众业要进行商务, 就要在不同商务平台之间进行对话,也就是进行b 2 b 交易。实现真正的b 2 b 襄务,不仅涉及到企业蚓敬数据交换,也要涉及到众韭翅韭务浚程熬相互操作。 在互联网时代,企业所面对酶客户和供应商融经不再仅仅羯限于本遗露黻 的几个,而是散布在世界各地的数目非常大的一批。如果说原来企业间交易可 以通过专门开发的接口,那么面对数麓众多的异构商务平台,对实时性的骤求 受毫,专愆绥墨已经不貔簇任,建立个基予x 艇毛数据交换掾准匏、接遽众 业间商务流程交易的标准框架体系融经成为必需。 我们现在以一个简单的定单交易为例,客户( 个人或企业) 向供应商摄交 四川大学硕士学位论文一w e b 服务及x m l 安全 定单,定单以x m l 的形式提交。在提交定单之前,首先要从企业的库存中找 到库存量和产品种类( 以x m l 格式存储) ,转换成易于阅读和提交的形式,这 是对定单内容的数据传递和对定单的处理,属于数据传输。当买方把定单用基 于x m l 的格式传给了其供应商,供应商按照自己的需要的格式进行处理,那 么它们之间就完成了定单的数据交换。接下来就应该是流程的处理。买方和供 应商之间对定单的应答过程构成了定单的流程交易。 设计是基于分销商和供应商处于分布式的情况下的,各地的分销商从供应 商处获得定单,从x m l 数据仓库中查找属于自己区域的定单,一旦检索到属 于自己区域的定单,可阻选择将定单下载到本地,数据的格式可以是文本格式 或者x m l 格式,如果是文本格式,则可以将其转化为可以用e x c e l 等常用软件 的格式阅读的形式,如果下载到本地的是x m l 的形式,则可以合适的x s l t 和x 口a 血将其转化为直观的格式,并对该定单处理后的结果返回到x m l 数据 仓库中。在这个过程中,如果需要改变下载到本地的数据格式,只须简单的改 变x s l t 和x p a t h 的格式即可,完全不用修改程序和数据结构,因为x m l 完 全可以解决不同的数据表示,这样就可以避免因为每个分销商对所需求数据内 容的需求不一致而需要改变数据结构,可以以一种简单的方式改变数据显示格 式,而真正的数据结构并没有改变,不再需要更改数据结构,就不会造成数据 结构的混乱。 表示商品的x m l 文件内容为: g o o d s n a m e = ”x m l ,j a v aa n dw e bs e r v i c e ” p r i c e = ”6 9 b g o o d s n a m e = ”x m ls e c u r i t y ” p r i c e = ”8 5 ”b 1 2 四川大学硕士学位论文一w e b 服务及x m l 安全 i n v e m o r y 定单提交界面: 1 3 四川大学颈学位论文一w b 服务及x m l 安全 图3 定单提交到供应商憝麓,良x m l 豹形式持久稍:弼中心数嚣寇库,供分销 商从x m l 数据仓库中提取相应区域的数据,做后期处理。 2 2 。5 毒嚣蔹溺w e bs e r v i c e ( 1 ) 跨越防火墙的通信 如果应用程序育成予上万豹用户,丽且德们都分布在世界各地,那么客户 1 4 四川大学颈学位论文w e b 服务及x m l 安全 端和服务器之间的通傣将是一个棘手的问题。那怒因为客户端和服务器之间通 常都会有防火墙或者代理服务器。程这种情况下,如果使用d c o m 就不是那么 简单了,掰且,通常也不愿意把客户端程序发布到如此庞大数爨的每一个用户 手中。 想象一下应该怎么在你的应用稷序里面加入一个新的页丽;你必须先建立 好用户界掰( w e b 页面) ,以及在这个页面后面,包含相应商业逻辑的中间滕维 律。这还不够,逐要霉建立至少一拿a s p 页嚣,燃寒接受翅户输入筑蔼息,淫 用中间层缀件,把结暴格式化为h t m l 形式,最精还要把”结巢黉”送目浏览器。 要是客户端代码不再如此依赖于h t m l 表单,客户端的编程不就简单多了吗? 还有,建立a s p 页面的郡一步可以销蝰掉吗? 当然。如果你的中间层组髂楚 w e bs e r v i c e 的话,完全可| 筮鼹爱户器蘑直接调麓串阀层缓辞,葳两省簿建嶷 a s p 页面的那一步。要调用w e bs e r v i c e ,你可以直接使用m i c r o s o f t s o a p t o o l k i t 或n e t 这样的s o a p 客户端,也可以使用你自融开发的s o a p 客户端,然后 怒宅窝豫熬疫矮翟枣逶缓起来。这撑徽,不仅虿豁缩短开发援麓,还毒叛躐痧 代码的复杂度,并增强熬个应用程序的可维护性。同时,你的威用程序也不箨 需要在每次调用中间层组件时,都跳转到相应的”结果页”了。 这样徽还有另一个好处,就是你将撂到一个巍w e bs e r v i c e 缀成的中闻鼷, 这一层是究全可醵在废髑程序集成戏其经场合下被重用静。躐后,逶遘嗡b s e r v i c e 把你的应用程序的逻辑和数据暴露出来,还可以让其它平台上的客户照 用你的应用程序。 ( 2 ) 疲矮程每集藏 企业缀的应用程序开发者都知邋,企业里经常都要把用不同语言写成的在 不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发的力激。 应用程序缀零都霉要扶运萼亍在吉老熬i b m 主极上瓣程疼孛获取数据;或者嚣撼 数据发送副主机或u n i x 应用程序审去。即使是程同一个平螽上,不同的软件 厂商生产的各种软件也常常需要集成起来。通过w e bs e r v i c e ,_ | 藏用程序可以用 标准的方法把功能和数据暴露出来,供其它的应用程序使用。 镶懿,一个订单登蒙疆穿,爱予鼗录簌客户采豹瑟订擎,链疆窖产售怒、 发货地址、数量、价格和付款方式等信息。同时,还有一个订单执行程序,用 于实际货物发送的管理。这两个程序是来自不同软件厂商的。份新订单进来 四川大学硕士学位论文一w e b 服务及x m l 安全 之后,订单登录程序需要通知订单执行程序发送货物。通过在订单执行程序上 面增加一层w e bs e r v i c e ,订单执行程序可以把”a d d o r d e r ”函数暴露出来。这样, 每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了。 f 3 ) b 2 b 的集成 w e bs e r v i c e 是b 2 b 集成成功的关键。通过w e bs e r v i c e ,公司可以把关键 的商务应用暴露给指定的供应商和客户。例如,把电子下单系统和电子发票系 统暴露出来,客户就可以以电子的方式发送购货订单,而供应商则可以以电子 的方式把原料采购的发票发送给你。当然,这并不是一个新的概念:电子文档 交换( e d i ) 早就是这样了。w e bs e r v i c e 和e d i 之间的主要区别在于,w e b s e r v i c e 的实现要比e d i 简单得多,而且w e bs e r v i c e 是运行在i n t e m e t 上的,在世界任 何地方都可轻易实现,这样其运行成本就相对较低。不过,w e bs e r v i c e 并不像 e d i 那样,是文档交换或b 2 b 集成的一套完整的解决方案。 w 曲s e r v i c e 只是b 2 b 集成的一个关键部分,还需要许多其它的部分才能完 成这个集成。用w e bs e r v i c e 来实现b 2 b 集成的最大好处在于可以轻易实现互 操作性。只要把你的商务逻辑暴露出来,成为w 曲s e r v i c e ,就可以让任何指定 的合作伙伴轻松的调用商务逻辑,而不管他们的系统在什么平台上运行,使用 的是什么开发语言。这样就大大减少了花在b 2 b 集成的上的时间和成本。这样 的低成本让许多原本无法承受e d i 的投资成本的中小企业也能实现b 2 b 集成。 ( 4 ) 软件重用 软件重用是一个很大的主题,它有很多的形式和程度。最基本的形式是源 代码模块或者类一级的重用。另一种形式是二进制形式的组件重用。当前,像 表格控件或用户界面控件这样的可重用软件组件在市场上都占有很大的份额。 但这类软件的重用都有一个很严重的限制:重用仅限于代码,而数据不能被重 用。原因在于可以很轻易的发布组件甚至源代码,但要发布数据就没那么容易 了,除非那些数据都是不会经常变化的静态数据。而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 就可以了。举个例子,如想在应用程序中确认用户输入 的邮件地址,那么,只需把这个地址直接发送给相应的w e bs e r v i c e ,这个w e b 四川大学硕士学位论文一w e b 服务及x m l 安全 s e r v i c e 就会查阅街道地址、城市、省区和邮政编码等信息,确认这个地址的确 在相应的邮政编码区域。w e bs e r v i c e 的提供商可以按时间或使用次数来对这项 服务进行收费。这样的服务要通过组件重用来实现是不现实的,因为那样的话 你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库, 而且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《法医学概述》课件
- 2026年艾灸师职业技能等级认定(二级)理论知识章节练习题
- (2026版)服务百姓健康行动大型义诊活动总结
- 数控钢筋弯箍机12C
- (2026版)小学开展资助工作总结
- 挑战自我主题班会
- 小学英语分层作业设计实施方案
- 全科医生老年人健康管理手册
- 全科医生门诊接诊工作规范
- 医学人才分层分类培养实施方案
- 塔吊司索工考试题库及答案2026
- 2026人教版五年级数学上册第五单元第1课《用字母表示数量关系》课件
- 2026年滴滴出行司机管理岗竞聘模拟题
- 2026年远程客服兼职合同协议
- 梦幻交易账号合同
- 妇产科操作院前急救流程规范化与转运风险防控
- 路基施工安全教育
- 2025年中国建设银行小微企业借款合同范本
- 中医康复演讲稿范文
- 消防安装工程监理细则范文
- 无锡二手房买卖合同
评论
0/150
提交评论