Web服务涉及的主要技术

导读:


   Web服务涉及的主要技术

  今天在Web 服务的领域中有许多活动。我们经常看到的是一系列相关标准的快速发展与成熟,它们定义了Web服务的基本结构及Web服务支持开发的开发工具。WSDL,SOAP,UDDI 和XML 是这些众多选择中的几个。它们倾向于在一个面向服务的非集中、分布式的环境中描述、展示、发现和绑定Web服务。前三个标准支持面向服务环境的基本活动,即发布、终止服务,更新、发现和调用。Web Services

  及其各种协调过程都采用XML的技术作为核心。在应用服务器之后,XML 格式的消息被转变成中间件的请求,返回的结果也会转化成XML 格式。有了XML作为核心技术,各种网站提供的服务都不再局限于一些花花绿绿的页面,而是可以进行编程调用的Web Services。

  ◎

  Web服务描述语言(WSDL)

  WSDL

  是Microsoft公司的SDL(Services Description Language) 和IBM 公司的NASSL(Network- Accessible Services Specification Language)结合并被W3C接纳后形成的标准。

  WSDL 为服务提供者提供了以XML格式描述Web Services 请求基本格式的标准方法。WSDL 用来描述一个WebServices 能做什么,它的位置在哪里,如何调用它等。UDDI注册描述了Web Services 的绝大多数方面,包括服务绑定的细节。WSDL 可以看作是UDDI 服务描述的子集。

  WSDL 将服务定义为一个相关网络端点(即端口)的集合。在WSDL里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息、需要交换的数据的抽象描述、端口类型、操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用绑定的联接,端口的集合定义为服务。因此一个WSDL文档在定义网络服务的时候使用如下面七个基本要素:

  类型——使用某种的类型系统(比如XSD)来定义数据类型的容器;

  (2) 消息——用于通信的数据的抽象、有类型的定义;

  (3) 操作——服务支持的动作的抽象描述;

  (4) 端口类型——系列操作的抽象集合,这些操作由一个或多个端点支持;

  (5) 绑定——针对一个特定端口类型的具体的协议和数据格式规范;

  (6) 端口——个单一的端点,定义成一个绑定和一个网络地址的联接;

  (7) 服务——相关的端点的集合。

  WSDL 给客户提供了一个模板,方便他们描述和绑定所需要的服务。IBM 和Microsoft分别提供的WSTK 和

  .Net Studio 开发工具可以直接由服务组件生成WSDL,也可以由WSDL 方便的生成客户端的Stub,服务请求端可以直接调用生成的Stub 访问服务提供组件。这些工具屏蔽了WSDL 的具体技术细节,给Webservice 的访问带来巨大的便利。

  ◎简单对象访问协议(SOAP)

  SOAP是在Internet上发送消息和进行远程过程调用的标准。它独立于编程语言、对象模型、操作系统和平台。它用HTTP作传输协议用XML作数据编码,同时可能还会用到像FTP、SMTP、和原始的TCP/IP sockets。

  SOAP定义了两种消息,请求与应答以允许服务请求者请求一个远程过程,服务提供者响应这个请求。一个SOAP消息由两部分组成,一个头和一个XML载荷。头与传输层不同,但XML载荷相同。SOAP的XML部分主要由下面三部分组成:

  ·外包上定义了可供其它SOAP消息使用的各种命名空间。

  ·头部是可选元素,它用来承载像认证,交易、付费这样的附加信息。SOAP处理链中的任何一个元素都可以从头中加入或删除一些项目;如果有些项目不能识别各元素也会将它们忽略。如果一个头是当前头那么它必须是这个包的第一个孩子。

  ·消息体是消息的主要载荷。当SOAP进行RPC时,消息体包含了一个元素,这个元素中有方法名、自变量和Web服务目标地址。如果一个头是当前头消息体必须是它的同属;否则它必须是包的第一个孩子。

  SOAP 是一个协议规范,不仅定义了传递XML- encoded 数据时的统一方式,还定义了使用HTTP 作为底层通信协议时执行远程调用(RPC)的方法。它以XML格式发送消息有很多好处,如完全的与提供商的无关性,允许独立于操作系统、对象模型和编程语言的实现,这样能够确保互用性,尽管需要付出解析和序列化XML 文档的代价。

  SOAP 是SOA 架构实现的线缆级协议,它定义了服务请求对象和服务提供对象之间的消息协议,实现了Web Services 之间的消息交换。因此,服务请求对象可以以面向对象的方式执行服务提供对象的远端方法。

  SOAP 是SOA 中分布式对象通信的基础,因此,尽管SOA 没有定义相应的消息协议,SOAP 由于其在SOA 实现中的通用性而被称为协议(Services - Oriented Architect ure Protocol) 。



本文转自

http://soa.5d6d.com/redirect.php?fid=4&tid=101&goto=nextnewset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值