为Web服务打基础

web|web服务

 随着微软公司最终发布了 Visual Studio .NET和.NET框架,众多的IT公司也纷纷开始重新构筑其产品体系以支持Web服务   
。虽然IBM、微软和Sun以及其他W3C的会员企业都已经着手制定了大量的技术规范来定义和设计Web服务环境(包括SOAP和XML等),不过,为了让Web服务成为跨应用间通信、基于Internet的可行平台,人们还需要做大量的工作。

出于对Web服务这一新技术体系在可靠性和安全性方面的考虑,许多公司的CIO们都还不能确定目前是否是开始部署依赖于Web服务的系统的时机。既然标准已经在开发和制定过程中,CIO们至少应在相应的问题可以得到更容易管理的情况下才能开发内部系统,与此同时他们还需要等待有关机构公开发布最终通过的技术标准。一旦技术标准被负责机构通过,在防火墙之外建立可互相操作的系统就会简单多了。

IBM和微软等公司围绕Web服务技术设计和编写了大量的技术草案并提交给W3C成为最新的Web服务提案,到目前为止,新的草案—WS-Inspection、WS-Referral、WS-Routing、WS-Security以及 WS-Licensing等都已经提交W3C讨论。下面就让我们讨论一下Web服务体系还需要完成的部分,以及这些规范是如何解决这些问题的。

直接发现服务
现有的通用描述、发现和集成(UDDI:Universal Description, Discovery, and Integration)标准对在Web服务地点未知情况下发现和使用Web服务进行了说明。UDDI的工作方式很像是电话薄的黄页广告目录,它可以让应用程序发现和联系提供给定Web服务的服务器。但是,在大多数情况下,Web服务的地点都是已知的,一开始就采用UDDI来查找服务地址从效率上看是比较低下的。所以说,像UDDI这种用于发现服务的中央存储库对那些想对外提供服务的服务发布者可能很有用,但对那些想连接这些服务的消费者而言,其效率却并不令人满意。

在另一方面,WS-Inspection则依靠一种完全意义上的分布模式来提供和服务有关的信息。服务描述存在于服务交付点,而获取这些信息的请求则直接导引给提供服务的站点。WS-Inspection采用XML格式,可以帮助申请Web服务的主叫(Calling)应用程序查询暴露其可用服务的已知站点。它定义了一套规则专门规定站点应该如何给提出请求的主叫方暴露其有关的检查信息。WS-Inspection文档还提供了多种方法用于汇集先前存在的服务文档的索引,而不论它们所采取的原有格式。按照该标准,查询之后返回的服务信息采用既有的标准,比如WSDL(Web服务描述语言:Web Service Description Language)等。这些标准允许主叫系统在不对信息进行任何修改的情况下就可以直接采用返回的Web服务信息。

建立可靠的系统
SOAP协议的最初实现很简单,不过就是一种一个系统对另一个系统的单向调用   
。WS-Referral和WS-Routing规范提供了帮助系统设计人员建立更稳固系统的核心技术。以上两种规范协同作用,共同定义了SOAP路由器这一概念,有了SOAP路由器,系统设计人员和系统开发人员就可以用其开发负载均衡、镜像和客户认证等多种Web服务。比方说,有一种Web服务可以把自己的部分处理任务转交给第3方服务,其结果可以返回给该服务的原来用户而用户却并不知道内部发生的这一切。

WS-Referral规范定义了SOAP路由器在多个服务点之间建立消息途径的方式,而WS-Routing则定义了说明消息途径的方式。WS-Routing还增加了定义反向消息途径的能力,结果促使通信系统可以启用双向消息交换模式,比如请求/响应、对等会话并且返回消息确认和错误等。这些举措大大增加了建立在SOAP平台基础之上的系统可靠性。

建立安全的系统
现有的SOAP系统采用XML文本字符串的格式传递其负载。虽然这样做可以让任意两个系统之间不论其体系结构而建立相互通信,但是这样也同时产生了严重的安全问题。现有的标准允许对处于通信管道之中的信息进行加密(采用SSL over HTTP)或者直接对管道本身加密(采用Internet Protocol Security或者IPSec)。但是这些方式都是要么全有要么全无的极端形式,在安全的管理上缺乏必要的调节粒度。除非会话双方都一致采取了保证消息本身安全的格式,否则不可能实施更具有粒度性的安全措施。

WS-Security联合WS-License规范一道增强了SOAP系统的粒度安全性。WS-Security定义了交换信任、检查消息完整性的能力,同时还强化了消息的机密性,两重标准既可以单独使用也可以联合使用。采用WS-Security的情况下,消息同许可权相关联(包括,但不仅仅局限于X.509证书或者Kerberos票据)。WS-License描述了同WS-Security一道采用的信任编码过程。WS-Security包括了保证消息完整性和机密性的技术规范(采用WS-License),其方式是,支持对消息的总体或者部分加密,同时提供了接收消息一方系统解码消息的措施。

责任编辑:小李(Email:li_shuangzhen@zdnet.com.cn)

TechRepublic是一个专为各类IT专业人士设立的在线社区以及资源中心,我们提供有深度的技术文章,这些文章由IT专家写成,面对IT专家读者。除了提供从Windows到e-mail到防火墙等各种文章以外,我们还提供IT业界分析,下载,管理要点,讨论组以及新闻邮件服务。

时间: 2024-10-02 11:11:35

为Web服务打基础的相关文章

如何创建RESTFul Web服务

想写这篇文章很久了,这是个大话题,不是一时半会就能说清楚的. 所以准备花个一星期整理资料,把思路理清楚,然后再在Team里做个sharing:) 其实RESTFul是架构风格,并不是实现规范,也不一定非要用HTTP,但鉴于HTTP的普世性和 SOA的实现基本都基于HTTP实现. 这句话只对了前一半, 实际上REST和HTTP是息息相关的,是一种Web架构,WWW是世界最大型的分布式应用,而其实现就是基于REST的web架构的设计标准,REST架构的提出者(Roy T. Fielding 2000

使用SQL Server 2000将现有代码作为Web服务提供

    一.简介 Microsoft SQL Server 2000的 XML功能可以简化将现有代码作为 Web服务提供的任务.本文集中讨论了传入和传出 Transact SQL代码的数据与 XML消息(在 Web服务客户机和服务器之间使用)之间的转换. 二.SQL Server 2000中的现有代码 SQL Server 2000的 XML功能简化了将现有 Transact SQL代码作为 Web服务提供的过程.这依赖于 SQL Server 2000中的两项 XML功能: 1.对 Trans

异步调用Web服务方法

基于Ajax技术构建的门户是web 2.0这一代中最为成功的Web应用程序.而这块市场上iGoogle和Pageflakes这两大站点已经走在了时代的前列. 当你打开Pageflakes,将会看到如下的界面: 接下来就是界面上的各个"部件"去向服务器请求各种web服务,而服务器作为代理,则代为向外部web服务发出请求.(这是因为ajax调用无法跨越,所以常通过代理来请求数据) 问题场景:某个很受用户欢迎的"部件"很长时间不能执行,导致很对请求无法及时执行,引起请求失

开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)

当你添加Asp.net AJAX功能到你的Web程序的时候,你需要在Web.config中做一些改变,需要你显式地移除默认的ASMX处理程序并且添加asp.net ajax框架自己的脚本处理器来作为ASMX处理程序.在上一篇异步调用Web服务方法中,我们谈论过,ajax框架的asmx(ScriptHandler)是不支持异步调用Web服务方法的,所以为了让asp.netajax支持异步Web方法调用,我们需要避开该处理器,以提供自定义的处理器来取代它. Asp.netAJAX框架的ASMX处理器

WSE3.0构建Web服务安全(2)

WSE3.0构建Web服务安全(2)非对称加密.公钥.密钥.证书.签名的区别和联系以及X.509 证书的获得和管理 上一节文章WSE3.0构建Web服务安全(1):WSE3.0安全机制与实例开发,写处来以后感觉还是需要补充一下这个加密相关概念的文章,因为很多概念容易混淆,在理解WSE3.0构建Web服务安全的时候遇到了麻烦.为了更好第学习WSE3.0编程开发,我特地整理了加密.公钥.证书.签名的知识点,来阐述这些概念的区别和联系,最后会详细介绍X.509 证书的信息,以及如何的获得X.509 证

用XSL翻译Web服务应用程序

web|web服务|程序 Web服务应用程序存在的一个常见问题是,真正的后端软件不支持XML(或者至少不支持你Web服务所使用的标准化的XML).要解决这个问题,很多架构都实施了一个翻译阶段,用来解释收到的XML,并将它转换成为后端系统能够识别的更加适当的格式.虽然将XML翻译成不同的格式有很多种方式法,但是可扩展样式表语言(eXtensibleStylesheet Language,XSL)提供了一个强健的.标准的和对XML友好的解决方案. 一些常见的问题 在XML消息和将要处理它的应用程序之

为何XML对Web服务很重要

web|web服务|xml Web服务经常从它的组件技术的角度来进行描述.SOAP.UDDI.WSDL.XML以及HTTP各自组成了Web服务体系的一部分,它们都发挥了重要作用.让我们看看XML技术对Web服务平台的贡献. 标准化 与其它Web服务技术相比,标准化是XML特色之一.XML提供了Web服务应用程序之间传输数据的标准格式.万维网联盟(W3C)管理XML标准并发布给全球的XML技术提供者,这就确保了XML产品的兼容性. 除了XML引擎和产品外还有XML文法(grammar).每一个XM

用ASP.NET创建管理XML WEB服务全接触

asp.net|web|web服务|xml|创建 Internet的发展已经用它超乎想象的力量重新规划了应用程序开发领域.公司和机构越来越依赖因特网和有关技术提供的数字资源和通讯渠道.因而,现在设计和开发的应用程序很少不考虑如何最好的整合和运用Internet技术.在应用程序中整合Internet技术成为业界对开发技术的提出的新的要求.微软适时提出的以XML为基础的Web服务满足了这种需求,本期专题我将向大家介绍利用ASP.NET的创建和管理XML WEB服务的过程. 概述 XML Web服务是

ASP.NET创建Web服务之使用事务

asp.net|web|web服务|创建 支持XML Web服务的事务利用公共语言运行期中的支持,其是基于Microsoft Transaction Server ( MTS)和COM+ Services中相同的分布式事务模型.该模型基于明确的判断一个对象是否参与一个事务,而不是编写特定的代码用来处理委托和回调一个事务.对于一个使用ASP.NET创建的XML Web服务,你可以通过设置其应用到一个XML Web服务方法上的WebMethod属性的TransactionOption属性来声明一个X