已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)面向安全web服务的电子商务订单系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向安垒w e b 艘务的j b 予商务订单系统的设计j j 实现 中文摘要 面向安全w e b 服务的电子商务订单 系统的设计与实现 中文摘要 为了更好地处理日益增长的软件复杂性,本文讨论了利用下一代的面向服务的开 发模型来改造传统的应用系统,从根本上解决面向对象技术的代码不能被广泛地重复 利用、分布式应用具有局限性、各个应用之间的数据难以荚享等弱点。但安全性问题 仍然是阻碍w e b 服务广泛应用的主要原因之一。本文又提出了w e b 服务的非对称签 名与加密模块的设计。该设计的目标就是建立一个能够为多个w e b 应用提供较高级 别的用户身份验证服务,服务的组件具有独立性、开放性、平台无关性,服务所提供 的签名与加密算法能满足应用较高的安全性的要求,组件能够被不断复用同时可以 灵活便捷地对所构造的服务进行升级和维护。 面向安全w e b 服务的电子商务订单系统,是建立在微软面向未来的n e t 开发平 台的基础之上,真正面向服务的、具有较高安全性的新的分布式应用系统。服务与应 用之间实现了“请求与响应模式、软件的松藕合、平台不相关、代码广泛适用”。并 将自定义的非对称签名与加密服务的功能集成到应用系统的w e b 用户身份验证之中, 具有面向服务软件模型的突出优点及其实际应用价值。该系统验证了面向安全w e b 服务的软件模型在各行业广泛应用的可行性以及它将给软件开发方法带来的深刻变 革。 关键词:w e b 服务,s o a p 消息,非对称算法,数字签名、数字加密 作者:石军 指导教师:孙涌 d e s i g na n di m p l e m e n t a t i o no fas a f e - w e b - s e r v i c e o r i e n t e de - b u s i n e s so r d e rs y s t e m a b s t r a c t i no r d e rt ob e t t e rd e a l i n gw i t hs o f t w a r ec o m p l e x i t y , t h i sa r t i c l et r yt ou s e s e r v i c eo r i e n t e dd e v e l o p i n gm o d e lt or e b u i l dt r a d i t i o n a lc o m p o n e n t - b a e d a p p l i c a t i o n ,w h i c hi t sc o d ec a n n o tb ew i d e - r a n g eu t i l i z e ,d i s t r i b u t e da p p l i c a t i o n o b v i o u s l ys t i l lh a sl i m i m t i o na n dh a r dt os h a r ec o m m o nd a t ab e t w e e nd i f f e m n t s y s t e m s b u ts e c u r i t yp r o b l e mi so n eo ft h ek e yr e a s o n st h a tp r e v e n tw e bs e r v i c e f r o mb e i n gw i d e l yu s e d t h i sa r t i c l eg i v e sas o l u t i o nf o rw e bs e r v i c eb y p r o v i d i n g a r ta s y m m e t r i cd i g i t a ls i g n a t u r ea n de n c r y p f i o nm o d u l e 丽他p u r p o s eo ft h em o d u l e i st op r o v i d eh i g el e v e l i d e n t i t yv a l i d a t i o n f o rw e b a p p l i c a t i o n s m o d u l e s c o m p o n e n t sa r ei n d e p e n d e n t , o p e na n dp l a t f o r mr e g a r d l e s s t h ea l g o d t h mw h i c h p r o v i d e db yt h em o d u l ec a ns a t i s f ya p p l i c a t i o n sr e q u i r e m e n to fh i g h e rl e v e l s e c u r i t y s e c u r i t ym o d u l eo ft h ew e bs e r v i c ec a nb ew i d e - r a n g er e u t i l i z e d , a n di s e a s yf o ru p g r a d ea n dm a i n t e n a n c e n ee - b u s i n o s sm _ d c rs y s t e mb a s e do nas a f ew e b 删i san e wd i s t r i b u t e d w e ba p p l i c a t i o n ,w h i c hi sb u i l d0 1 1t h e n e tp l a t f o r m , t o t a l l ys e f i v c e - o r i e n t e da n d h i g hl e v e is e c u r e d t i 他r e l a t i o nb e t w e e ns e r v i c ea n da p p l i c a t i o ni sr e q u e s t r e s p o n s e m o d e 1 0 0 s e c o u p l e d , p l a t f o r mr e g a r d l e s s t h es y s t e ma l s oi n t e g r a t e dw i t l lt h e a s y m m e l x i cd i g i t a ls i g n a t u l 七a n de n c r y p t i o nm o d u l et ov a l i d a t ew e bu s e r si d e n t i t y s o ,t h es y s t e mh a so u t s t a n d i n gp e r f o r m a n c ea n dh a sr e a lv a l u ei ne - b u s i n e s s s o f t w a r em a r k e t t h es y s t e ma l s op r o v i d e sap o s s i b l ed e v e l o p i n gm e t h o df o ra l l k i n d so fa p p l i c a t i o n s ,a n dd e s c r i b st h er e v o l u t i o n a r ym e a n i n go fs e r v i c e - o r i e n t e d d e v e l o p i n gm o d e l i nt h es o f t w a r ed e v e l o p i n gi n d u s t r y k e y w o r d s = w e bs e r v i c e ,s o a pm e s s a g e ,a s y m m e t r i ca l g o r i t h m d i g i t a l s i g n a t u r e ,d i g i t a le n c r y p t i o n w r i t t e nb ys h ij u n s u p e r v i s e db ys u ny o n g 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所 取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或 撰写过的研究成果,也不含为获得苏州大学或其它教育机构的学位证书而使用过的藉 料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承 担本声明的法律责任。 研究生签名逢 学位论文使用授权声明 日期:幽坠理 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合作部、中国 社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电子文档,可以采 用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论 文的全部或部分内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名:丕盈:日期:丛堑:! 竺 导师签名日期:型! ,生! 面向安伞w e b 服务的电子商务订单系统的设计与实现第一章绪论 1 1 问题的提出 第一章绪论 目前,利用面向对象技术的层次开发模型是软件开发的主流。在一个典型的三层 应用系统中,层次结构通常划分为:用户界面层、业务逻辑层、数据库层。如图卜1 所示。对于一个大型的应用。在面向对象的层次模型下,软件开发者必须面对从底层 到用户界面层的所有技术设计,必须花费大量的时间与精力在技术实现环节,因此软 件的快速开发、快速应用不可能实现。软件分层的目的就是提高软件的可维护性和可 重用性,但面向对象的层次模型的各个层次之间是 紧密藕合的,这就意味着分布计算连接的两端都必 须遵循同样a p i 的约束。如果一个c o m 对象的代码发 生了更改,那么访问它的代码也必须作出相应更 改。因此软件的可重用性及可维护性有很大的限 制。随着软件复杂性的不断增加,这种面向对象的 层次结构越来越变得很脆弱。 能否摆脱面向技术的解决方案丽朝着商业服 务的方向发展。针对这一问题,整个软件业都进行 圈l 1 传统应用赣悻的屡次结构 了探索和实践。因此,能否在面向对象模型的基础上产生一个新的软件开发模型,使 复杂应用软件系统的开发变得与搭积木一样容易,软件的层次之间实现服务与响应、 跨越不同平台、松散藕合的关系,克服传统软件模型带来的根本上的弊端,成为人们 持续不断努力的目标。 1 2x m lw e bs e r v i c e 带来的变革 软件的组件作为网络上的服务提供给应用程序,能被不同的应用程序重复地利 用。开发新的应用就象是一种混合与匹配的过程;根据应用程序的需要,利用网络上 已经存在的相应服务,直接将服务的组件集成在自己的应用中就可完成开发工作。w e b 服务的核心协议是x m l 和s o a p ,实现了平台无关性,改变了传统的平台依赖性问题。 各服务之间完全独立、互不影响,只存在互相调用的关系,这种松教的耦合方式使得 整个系统的集成变得简单容易,可以更好地处理f j 益增长的软件复杂性。 第一章绪论 血向安全w e b 服务的电子商务订单系统的设计与实现 尽管w e b 服务在系统集成中有诸多的优势。其开发和部署平台也正式发布,但到 目前为止,国内的应用还未广泛采用,w 曲服务的安全性问题是主要因素。本文通过 设计与创建安全模块来进一步完善w e b 服务。 1 2 1 安全w e b 服务模型的设计 w e b j 直用 叫安全模块l 警4 c | f i 数据库 蛩i 田 加密模块 ( 孓 i 些墨望塑堡i 、 i l w e b 应用 业务逻辑层 图1 - 2 面向安全g e b 腰务的软件横型 从图卜2 可以看出面向服务的模型分为两部分。w e b 服务与w e b 服务应用程序。这 两部分通过s o a p 协议来进行服务的请求与响应,它们之间是松散藕合集成在一起的, 服务与应用之间相对独立。应用程序可以根据需要选择网络上已有的不同服务,也可 以同时访问多个w e b 服务来集成自己的应用,丰富自己的应用的功能。w e b 服务的客户 端是所有的网络应用程序。它是高度独立的。w e b 服务在i n t e r n e t 上发布以后,可以 同时被多个网络应用程序调用,它只是接收服务的请求,并作出响应。这种高度独立 性使w e b 服务不用关心被应用程序如何调用、在哪里被调用也不必关心访问w e b 服务 的应用程序是何种语言、何种操作系统、是窗口应用程序还是w e b 应用程序。因为w e b 服务使用f h h t t p 协议封装的s o a p 协议进行数据交换,而s o a p 协议采用的是国标标准的 x m l 数据格式,所以具有平台无关性。而h t t p 协议可以使应用透过防火墙,避免了基 于t c p i p 端口连接的传统的网络应用程序如何穿透防火墙的鼹扰。w e b 服务使一种全 新的分布式应用成为可能,使应用程序在i n t e r n e tl - 的分发与集成变得更加简单容 易。 应用程序的开发者只需关心应用的用户界面层及商务逻辑层的开发,无需关心 w e b 服务的技术实现。改变了传统的面向技术的开发方式,而转向面向商务服务的开 发模式。面向服务的软件开发模型具有传统模型无可比拟的优越性,可以大大丰富应 用的功能、缩短研发周期,提高开发效率。 2 面向安全w e b 臌务的电子商务订单系统的设计实现 第章绪论 针对安全性问题这个w 曲服务进行广泛应用的主要障碍,本文特别设计了w e b l 臣 务的安全模块。w 曲服务通过安全模块向应用端提供非对称签名与加密算法,强制应 用端在身份验证的过程中必须采用相应的非对称签名与加密算法对重要或敏感的数 据进行签名与加密。应用端在通过高级别的用户身份验证后,才能获得相应的用户角 色,从而继续访阿w e b 服务的业务逻辑层并通过业务逻辑层访闯数据库。 1 2 2 增强w e b 服务安全性的最新发展 服务与应用之间是通过s o a p 协议进行通讯,但由于s o a p 协议在最初设计的时 候,它只是一个传送协议,没有考虑到安全性的闯题,而是考虑由封装s o a p 协议的 h 1 r r p 协议来实现数据传递的安全性。例如:可以采用信道级别的s s l 力n 密的方式, 使用h t t p s 协议来实现安全性。但s s l 的加密方式是对整个消息进行加密,不能将含 有路由的标头信息放在消息的外面。只能是点到点的通讯,无法实现加密消息的路由 功能。并且s s l y ) 议实现起来较困难,还存在一定的局限性。 随着s o a p 协议的广泛应用。s o a p 协议本身的安全性问题越来越重要,微软与 i b m 也提出了相应的w s s e c u r i t y 的规范。微软最近也推出了针对w s s e c u r i t y 规范的 开发引擎w 曲s e r v i c ee n h a n c e m e n t2 0 ,并且在2 0 0 4 年7 月又推出了w s e2 0s p i 。 w s s l i r i t y 规范的实现十分复杂,尽管可以采用其中的简单用户身份验证技术来实 现一定程度的安全性,但采用简单的用户身份验证技术还有许多安全满洞,并不能保 芷s o a p 消息传递过程中的x m l 数据截取、篡改等严重的安全性的威胁。但采用 髂一s e c u r i t y 规范中k e r b e r o s t o k e n 等较高级别的签名与加密方法存在对x 5 0 9 数字证 书的依赖的问题,给分布式应用软件的开发与使用带来了不便 本文深入讨论了应用w s s u r i t y 规范实现更高级剐翦器o p 消息的安全性的原 理,比较了不同方法的优缺点,并最终设计了与上述规范完全不同的新的签名与加密 方法。新方法的原理就是将非对称签名与加密算法与w e b 服务相结合,首先创建一个 服务,并将非对称签名与加密算法的公钥以w e bm e t h o d 的形式对外公开发布,w e b 应用程序可以通过获取公钥及相应的算法对重要的数据进行数字签名或加密,然后发 送给w e b 服务。经过签名与加密后的数据在i n t e r n e t 的传递过程中即使被截取理论上 也难以破解或篡改,只能由拥有私钥的w e b 服务的提供者才能解密。由于这种新方法 相当于自定义了一个“数字证书”的服务,公钥及加密方法无须通过第三方机构就可 以直接提供给应用端,更加提高了安全性,应用也更加方便灵活。本文采用这种新方 法进行高级别的用户身份验证,详细描述了应用端如何在需要发送的s o a p 消息中进 行非对称签名与加密以及w c b 服务端如何进行解密过程。 第一章绪论 咖向安全w e b 煨务的电于商务订单系统的设计与实现 1 3 基于安全的w e b 服务的订单系统的特点与难点 有别于传统的w e b 应用,本文创建的电子商务订单系统抛弃了旧的设计思想,根 据面向服务的开发模型,对软件基本结构进行了重新设计,并加入了w 曲服务的安全 模块,是一个全新的基于w e b 的分布式应用。该系统的开发明显分为相互独立的两个 部分。这两部分应该由两组不同的开发人员完成;一组为服务的开发、提供方;一组 为需要将此服务集成到自己的应用方。为了更好地模拟整个系统的相互集成过程,由 本人模拟这两组人的角色,分别对这两部分进行开发、集成。新的分布式应用将传统 的分布式应用的开发扩展到了i n t e m e t 上。 1 3 1 新的电子商务订单系统的特点 一、实用性。该订单系统针是针对城市的服务行业,设定城市的宾馆、饭店、酒 吧等服务型企业作为商业对象,会员可以通过网络预订自己的服务。这是一个较为典 型的网上信息查询、订单处理系统,网上也已经存在许多类似的应用,但真正采用面 向服务的开发技术及提供完善的安全性解决方案的还不多,网上订单系统研究了服务 行业普遍存在的实际业务需求,提供了先进的解决方案。 二、代码广泛适用性。w e b 服务的组件以服务的形式在i n t z m e t 上公开发布,服 务的代码可以被经过允许的其它分布式应用访问并调用,改变了传统的面向对象技术 代码重用的局限性,使代码的重用性扩展至l | t i n t e m e t 上所有的分布式应用。 三、无缝升级性。当w 曲服务中的组件进行一般性的升级时,可以在访问它的应 用完全不知情的状态下进行,对应用没有任何影响。只有当w e b 服务的根本的组件发 生改变,应用程序才需根据服务所提供的动态描述进行相应的改变。这是传统的面向 对象编程中的组件之间不可能做到的。 四、数据的安全性。创建服务的安全模块,对重要的用户个人信息及订单的数据 进行防护,保证信息在i n t e m e t 的传递过程不被恶意攻击是该系统面临的一个挑战。通 过对各种s o a p 消息加密方法的比较研究,应用了一种灵活方便的具有独创性的非对 称签名与加密方法,满足了实际应用的需要。 1 3 2 新的网上订单系统的难点 一、非对称签名与加密。没有安全性的应用软件,可以说没有多少实际商业价值。 网上订单系统必须考虑到实际应用中的用户身份的验证、密码传递及重要数据传递的 4 面向女仝w e b 溅务的电子商务订单系统的设计与实现 第一章绪论 加密、解密等问题,这涉及到针对w e b n 务群j s o a p 协议的加密过程。实践中比较了简 单身份验证、u s e r n a m et o k e n 、k e r b e m s t o k e n 等不同的加密方法,设计了一种无须 从专门的管理机构获取数字证书的非对称签名与加密方法。 二、功能强大的信息模糊搜索引擎。系统要求具有强大的综合数据模糊查询功能, 但n e t 平台上集成的d a t a g r i d 控件只能完成简单的条件查询,无法满足实际应用的需 要。该订单处理系统利用c # 语言编写了功能强大的具有通用性的w e bf o r m 综合查询表 单。用户可以同时输入多项查询条件模糊查询数据库中的相关数据,并且存在于用户 界面层的查询程序是与数据库相分离的,查询程序只有在需要的时候才通过服务代理 类访问w e b 服务,它们之间的数据是以标准的x m l 格式通过i n t e r n e t 进行数据交换。最 后该引擎对满足模糊查询条件的数据进行排序、分页娃示并完成链接等其它功能。 1 3 3 系统的实现环境 支持面向服务软件开发的平台主要有两种:j 2 e e 与n o t 。n o t 阵营以微软为主, j 2 e e 阵营以s u n 、i b m 、o r a c l e 为主要支持者。 该电子商务订单处理系统的开发平台为: 操作系统:w i n d o w ss e r v e r2 0 0 3e n t e r p r i s ee d i t i o i l 开发环境:v i s u a ls t u d i o n e t2 0 0 3 n o tf r a m e w o r k l 1 框架 h 协s e r v i c ee n h a n c e m e n t2 0s p l 1 4 课题意义 随着企业级的w e b 服务在国外的不断普及,许多国外的大公司已经开始使用w e b 服务来通过互联网连接公司数据库和其他公司的数据系统,特别是用于改进客户服务 和供应链。如何管理种类繁多的w e b 服务已经成为国外研究的下个热点。但国内的 大企业或软件公司似乎还未认识至l j w e b 服务所带来的软件业的巨大变革,还在忙于用 传统的方式进行核心业务的开发,面向服务的开发模型还远未得到认同与应用。 本文通过设计一个典型的面向服务开发模型,改变传统的面向对象的开发方式, 使其真正具有面向服务的软件结构。特别是应用了针对s o a p 消息的非对称签名与加 密技术来完善w 曲服务的安全性,验证了安全的w e b 服务在国内备行业应用的可行 性,描述了下一代的面向服务开发模型的许多无可比拟的优越性,同时也让国内的软 件公司认识到安全的w 曲服务在电子商务及企业级应用市场的潜在的巨大商业价值。 第一章绪论面向安全w e b 服务的电子商务订单系统的设计与实现 本人的主要工作: 一、软件的面向服务的体系结构设计。首先分析行业的实际需求,设计开发了业 务逻辑层及数据访问层的面向对象的组件,然后将面向对象的组件升级为 w 曲服务。用户界面层再通过i n t e r n e t 与w 曲服务相集成,来完成新的分布式 应用的开发。 二、w 曲服务的安全模块的设计与开发。深入研究了w 曲服务的w s s e c u r i t y 规 范,比较了增强s o a p 消息传递安全性的不同方法。为了避免现有各种方法 的弊端,将非对称签名与加密算法与w e b 服务相结合,开发了具有较高级别 s o a p 消息加密功能的安全模块,普遍适用于远程用户身份验证、s o a p 消 息中部分数据的签名与加密。独立编程并实现了远程身份验证的全过程。 三、订单系统逻辑层次及底层数据库的设计。在数据库设计的过程中,考虑到了 数据多级分类查询的需要,同时尽量减少数据库中t a b l e 的数量,并且还要 便于软件的开发,有利于减少程序代码。w e b 服务的底层组件采用面向对象 设计方法分为不同的逻辑层次。 四、功能强大的w e b 页面数据模糊搜索引擎的开发。在w e b 网页中而不是在 w i n d o w s 窗口程序中开发功能丰富的数据模糊搜索引擎具有较离的难度。但 为了满足实际应用的需要,开发了一种界面友好能同时满足多种条件模糊查 询的搜索引擎。 1 5 论文结构 本文在简要介绍了面向服务的软件模型的兴起及应用的背景后,第二章明确地阐 述了面向服务模型的核心一x m lw e b 服务的创建、发布、发现以及访问的过程。第 三章讨论了面向服务模型的总体设计方法以及为了便于集成的a d o n e t 数据集的引 出及实现步骤。第四章详细讨论了w e b 服务的主要威胁及增强服务安全性的 w s s e e u r i t y 规范,提出了消息级别的签名及加密的解决方案,并用实例说明了实现 过程。第五章讨论了综合查询表单实现的方法以及a d o n e t 对象在编程中的优点。 描述了自定义的查询表单的强大功能及显示风格。第六章在前面介绍完相关技术平台 的基础上,结合服务行业的业务需求,阐述了在n e t 平台上构建网上订单系统的整 个过程,从而验证了面向服务软件开发的可行性。通过安全的w e b 服务的建立,证明 其将在各个行业中广泛应用的必然性,摇述了软件行业变革的前景。第七章对全文进 行总结,并对x m l w e b 服务及服务安全性规范的技术发展与应用前景进行展望。 6 断向安全w e b 服务的i 乜予商务订单系统的设计j 实现 第二章w e b 服务的建立、发现与访问 第二章x m lw e b 服务的建立、发现与访问 2 1x m lw e bs e r v i c e 的建立 x m l w e bs e r v i c e 作为面向服务模型的核心,首先必须建立w e b 服务才有可能构 建面向服务的应用。吓面由w e b 服务的简单的h e l l om e t h o d 来说明w e b 服务从建立 到被发现的过程。 2 1 1 n e tf r a m e w o r k l 1 :w e b 服务引擎 本文提到的x m lw e b 服务都是建立在n e tf r a m e w o r k1 1 的基础之上,包括第 四章提到的增强x m lw e bs e r v i c e 安全性的w e bs e r v i c ee n h a n c e m 衄t2 0 也是依赖 于n e tf r a m e w o r k1 1 。n e tf r a m e w o r k 使开发者无需编写服务底层框架的代码,可 以直接引用n e tf r e m e w o r k 的许多功能。 在a s p n e t 环境中创建x m lw e bs e r v i c e 后。a s p n e t 环境会自动创建服务 的基本结构,处理服务的请求与响应,包括对s o a p m e s s a g e 的分解与创建。 2 1 2w e b 服务的基类 系统内建的s y 瞅m w e b s e r v i c e s w e b s e r v i c e 类是所有自定义w e b 服务的基类, 也就是说自定义的类都继承自类s y s t e m w e b s e r v i c e s w e b s e r v i c e 。基类提供了对 a s p n e t 对象的直接访问,例如:r e q u e s t 与s e s s i o n 对象。 2 1 3w e b 服务的属性 d e s c r i p t i o n 一属性的值包含有关服务的描述性信息,并显示给服务的使用 者。 n a m e 一属性的值表示服务的名称,默认与服务定义的类名相同。 n a m e s p a c e 一属性的值描述服务的名字空间,用来鉴别不同的服务。 2 1 4w e b m e t h o d 属性 w e b m e t h o d 属性指示出w e b 服务中定义的方法可以通过x m lw e b 服务被应用 程序所访问,只需将w e b m e t h o d 属性加在自定义的p u b l i c m e t h o d 前面。p r i v a t e m e t h o d 不能被应用程序访问。但p u b l i c m e t h o d 可以调用同一个类中的p r i v a t e m e t h o d 。p r i v a t e m e t h o d 通常用来完成业务逻辑层及数据访问层的脚本。 第一帝w e b 服务的建立、发现与访细 菌向蜜拿w e b 服务的电子商务订单系统的设计与实现 一- - _ 。_ - - _ - _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ - _ - _ _ - - _ _ h _ _ _ _ - _ _ _ _ _ 一 2 1 5 创建w e b 服务 下面的代码是u s e r s e r v i c e 服务定义的h e l l o 方法部分,它不包含数据访问层的代 码,但比较清楚地描述了u s e r s e r v i c e 服务的属性及其结构。 u s e r s e r v i c e 服务的文件名是:u s e r s e r v i c e a s m x c s 。其中“a s m x ”是a s p n e t 环境中w 曲服务的后缀名,“c s ”表示是c 撑语言。 程序2 - iu s e r s e r v i c e 服务t l e l i o e bm e t h o d 方法 u s i n gs y s t e m ; 弓i 甩a s p 、n e t 的组件 i u s i n gs v s i b m c o m n e n v 1 0 d e i : u s i n g s y s t e m d a t a ; 弓i 用数据访问对象的组件 u s 旧s y s t e m d a t a s q i c l i e n t ; u s 均s y s t e m i i m a o n o e l i c s ; u s 打均s y s t e m w e b ; u s i n g 。s y 。s t e m w e b s e r v i c e s ; 引用w e b 服务的蛆件 l 瞬呻s y s t e m c o l l e c t i o n s ; 惦i 哪s y s t e m q 蜊蜘s s p e c i a l i z e d ; u s i n gs y s t e m c o n f i g u r a t i o n ; u s i n g 啪c r o n 1 | j e 6 s e f l i o 鸥2 : 引用w s e 2 0 撮供的安全性组件 蜘m i c r o s o f t , w e b ,s e r v i c e s 2 s e c u | l i y ; u s i l m i a 镐叽w e b s e r v e s 2 s e c u r i t y t o k e n s ; u s i n gs 归l e m s e c u 啊o y p t o g r a p h y ; p u b l i cu 驰r s e r v 啪0 i n i t i a l i z e g o m p o n e n t o ; b 曲l h 。d 】慷明h d l 0 方法是应用端可访问的方法。 p u b l i cs t n n gh e l l o ( s t n n 9n a m e ) 上面的程序建立了一个最简单的w e b 服务u s e r s e r v i c e ,它只提供了一个 h e l l o ( s t r i n gn a m e ) 的w e bm e t h o d 。当然w e b 服务可以使用u s j n g 语句来引用底层组件 以实现更加复杂的功能。例如:u s i n gs y s t e m d a t a 用来引用数据访问对象; 一 双 一 收 一 一 黼 粼 瓣呲 一 氓。 舯 一 e 一 娈 一 一 。一;,咖,|一 墅塑壅全坐坚丝塑皇三堕丝塑差墨竺塑堡生芝兰塾 苎三兰些! 墨堑堕堡皇:垄墨要堕塑 u s i n gm i c r o s o f t w e b s e r v i c e 2 s e c u r i t y 用来引用w s e 2 0 的安全性组件等。 2 2w e b 服务的发现与访问 2 2 1 相关的协议 w e b 服务对应用来说就象个b l a c k - b o x ,有别于现在的面向对象的技术,建立与 w e b 服务的通讯,不再依赖于d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) 等传统的 形式。取而代之的是x m l 、s o a 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 ) 可扩展标识语言。订l 是由w 3 c 国际标准化组织制定的,描述数据内容和 结构的国际标准语言。x m l 是w e b 服务的核心,它使访问w e b 服务的应用可以 运行在任何平台上,使用任意语言。 ( 2 ) s q 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 ) 简单对象访问协议( s o a p ) 是x m l 的实施工具,它提供了一套公共规则集, 该规则集说明了如何表示并扩展数据和命令。s o a p 是w e b 服务的标准的数据 交换格式。 ( 3 ) w s d l ( w e bs e r v i c e sd e s c r i p t i o nla n g u a g e ) w e b 服务描述语言( w s d l ) 是一种x m l 语法,是由微软与i b m 联合开发 的以x m l 为基础的联系语言,开发人员和开发工具可使用它来表述w e b 服务的 具体功能。从开发者就可以看出,w s d l 将会被众多的开发工具所支持。 ( 4 ) d i s c o ( d i s e o v e r yp r o t o c 0 1 ) 应用的开发者需要有某种方法可以发现w e b 服务,发现协议( d i s c o ) 定义 了以x m l 为基础的发现文本格式和传送发现文本的协议,使开发者可以通过标 准的u r l 来发现w e b 服务。 ( 5 ) 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 服务的d i s c o v e r y u r l ,u d d i 协议建立了一种机制,使服务的提供者作“广告”让服务的使 用者依照自己的兴趣去查找,w i n d o w ss e r v e r2 0 0 3 服务器中已经集成了此 服务。 ( 6 ) h t t p ( h y p e r t e x tt r a n s f e rp r o t o c 0 1 ) h t t p 协议则用来封装s o a p 协议,这也使服务与应用的通讯可以轻易 地透过的防火墙。 第一二章w e b 服务的建立、发现与访问面向安全w e b 胜务的电子商务订单系统的设计与实现 建立在以上协议基础上的通讯具有传统协议无可比拟的平台无关性、高可靠性 为服务与应用之间松散藕合、集成,为面向服务模型开发打下了基础。 2 2 2s o a p 协议的安全性 s o a p 协议作为w 曲服务的核心协议,协议的安全性目前已经显得非常重要。 在设计协议之初是考虑:s o a p 协议是绑定在h t t p 协议之上,由h t t p 来封装,所 以s o a p 协议只是一个传送协议,没有考虑其安全性。其安全性只能由 盯r p 协议来 实现a 但随着s o a p 协议的广泛应用,s o a p 协议自身的安全性是面临的难题。微软 最近刚刚推出了n e t 平台上w s e 2 o ( w 曲s e r v i c ee n h a n c e m e n t2 0 ) 来取代w s e i 0 , 其中的w s s ;c u r i t y 规范可以用来增强s o a p 协议的安全性。本文在第四章详细说明 并应用了w s e 2 0 中的许多w e b 服务自身所没有的安全特性,实现了更高级别的安 全的w e b 服务。 2 2 3w e b 服务的发现机制 圈2 - 1w e b 耱务的发现与访问机制 在图2 - 1 中,假设提供u d d i 服务的网址是h t t p :u d d i c h i n a o r g 。u d d i 就象是一 个电话本可以用来查询有关服务的名称、功能等信息。由于国内还没有专门的管理 机构,所以此网址不存在,只能用作说明。但相信在不久的将来随着各行业的w e b 服务的发布,w e b 服务的管理也会不断走向成熟。在本文的应用中,由于本人已知自 0 由向安全w e b 服务的电子商务订单系统的设计q 实现 第二章w e b 服务的建立、发现与访问 己创建的服务的d i s c o 及w s d l 的网址,因而没有使用到u d d i 服务的功能。 w e b 服务的发现与访问一般分为四个步骤,已知w e b 服务的u r l 可以省去第一 步: ( 1 ) 查询w e b 服务的目录u d d i 。,u d d i 返回服务的u r l 。 ( 2 ) 查询w e b 服务的d i s c o v e r y 文档;w e b 服务返回d i s c o v e r y 文档。 程序2 - 2d i s c o v e r y 文档的x m l 格式 s o a pa d d r e s s = h t t p :l l o c a l h o s t w o s w e b s e r v i c e u s e 向r v i c e h j s e r s e r v i c e a s r n x x m l n s :q l = h t t p :h o c a l h o s t w e b s e n h c e s b i n d i n g :。q 1 :u s e r s e r v i c e s o a p x m l n s = 。h t t p j s c h e m a b x m l s o a p o r g d i s c o s o a 旷挣 型堕唑竺 应用程序通过w e b 服务的u r l 查询到相关服务的d i s c o v e r y 文档,其显示页面 如下,其中包含了指向w e b 服务描述文档的链接。 图2 - 2d i s c o v e r y 文档的显示页面 ( 3 ) 查询w e b 服务的嫒l 描述文档:返回w e b 服务的描述文档。 w e b 服务的w s d l 文档的基本格式大同小异,下面是关于服务h e l l o 方法的 描述。 程序2 - 3w s d l 文档的格式 ? d t i tv e 晤i o n _ _ 1 0 。e n c o d i n g = 。u 帅。和 。 苎三皇竺些璺丝竺壁皇:垄型! 堕鲤 堕塑茎全坐璺丝塑生王塑丝塑:苎墨堕塑堂茎曼壅型 可t y p e s i n p u tm e s s a g e = s o :h e l l o s o a p l n 。扫 o p e r a l i o nn a m e = h e l l o 。, s o a p :b o d yu s e = 。l i t e r a l ,) o u t d u l ) s e r v i c en a m e = 。u s e r s e r v i c e 。) w e b 服务的w s d l 文档以x m l 的数据格式详细描述了w e b 服务的名字空间、 服务的地址以及服务所包含的w e bm e t h o d s 及其参数。 2 耍塑塞全兰竺矍堑塑皇兰塑丝塑:墨墨竺竺丝生! 壅翌 墨三兰兰! 璺! 坚兰:苎型皇堕塑 w s d l 文档的显示页面: 圈2 - 3u s 叮:;a 叫腿务w s d l 文档的显示页雨 ( 4 ) 向w e b 服务发出正式的服务请求:w e b 服务返回相应的响应信息。传递的消 息使用绑定h t t p 的s o a p 协议。 2 2 。4 应用程序对w e b 服务的访问 访问w e b 服务的应用程序可以是传统的窗口程序,也可以是w e b 应用程序,它 们都是通过s o a p 消息与w e b 服务进行通讯的。本文涉及的应用程序是指w e b 应用 程序。 应用程序通过以下基本步骤来访问w e b 服务: l 、以w e br e f e r e n c e 的形式将发现的服务集成到应用环境 2 、为w e b 服务创建代理类; 3 、引用该代理类; 4 、创建该代理类的实例: 5 、通过代理类的实例来调用w e b 服务的w e bm e t h o d 。 如下图,首先应用程序通过服务的u r l 地址查询到w e b 服务,然后a d d w e b r e f e r e n c e 将服务集成到应用端的开发环境。 图2 - 4 中的u r l 地址为: h t t p :l o c a l h o s t w o s w e b s e r v i c e u s e r s e r v i c e u s e r s e r v i c e a s m x 因w e b 服务是在本地的服务器上,所以直接使用l o c a l h o s t 来表示服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车回收拆解工岗位合规化技术规程
- 塑料浇铸工安全应急评优考核试卷含答案
- 皮具制作工岗位职业健康、安全、环保技术规程
- 快件揽收员岗前环保及安全考核试卷含答案
- 热力管网运行工岗前工作合规化考核试卷含答案
- 2025年南皮县中小学教师招聘笔试备考试题及答案解析
- 2025年怀集县教师招聘笔试参考试题及答案解析
- 2025年广东低压电工作业特种作业考前冲刺备考速记速练500题-含答案
- 2025年鹰潭市中小学教师招聘笔试备考试题及答案解析
- 2025年临猗县中小学教师招聘笔试参考试题及答案解析
- 水闸安全管理办法
- 2025中华护理学会团体标准-成人患者医用粘胶相关性皮肤损伤的预防及护理
- 雨课堂学堂在线学堂云《SPSS在医学统计中的应用(首都医大 )》单元测试考核答案
- 药剂证书考试题库及答案
- 绳锯施工方案及现场安全操作标准
- 江苏省2026年普通高中学业水平合格性考试英语仿真模拟卷01(春季高考适用)(全解全析)
- 2025年中铁党建考试试题及答案
- 拯救北极熊课件
- 仪器分析课件19质谱法
- 计量联合接线盒技术规范书
- 14-GP12控制作业指导书
评论
0/150
提交评论