Web Services体系

类别:Delphi 点击:0 评论:0 推荐:
1 总括
服务被服务提供者service providers部署deploy到web上,由一个给定的web service提供的功能使用WSDL描述。
部署的服务被发布publish到web上,服务代理service broker帮助服务提供者和服务请求者service requestor互相发现。
一个服务请求者使用一个API向服务代理请求需要的服务,当服务代理返回结果后,服务请求者使用这些结果绑定bind到一个实际的服务上。
这里讨论的所有通讯可以使用任何协议,但为了简单,选择SOAPVersion 2.0 协议,它允许应用程序调用远程对象的方法。

2 Web Services 组件
有三种组件:
   ◆服务提供者:提供服务,进行注册以使服务可用
   ◆服务代理:服务交换所,服务提供者和服务请求者之间的媒介
   ◆服务请求者:向服务代理请求服务,调用这些服务创建应用程序

3 Web Services操作
三种操作:
   ◆发布/不发布(Publish/Unpublish):提供者向代理发布(注册)服务或不发布(移去)这些服务的注册
   ◆发现(Find):由服务请求者向服务代理执行find操作,服务请求者描述要找的服务,服务代理分发匹配的结果
   ◆绑定(Bind):在服务请求者和服务提供者之间绑定,这两部分协商以使请求者可以访问和调用提供者的服务

4 UDDI - 通用发现,描述和整合
这是一个Web services的信息注册的规范,基于UDDI的web services注册可以被发现。UDDI的发现方法是:在web上有一种分布的注册服务,商务和服务以一种通用的XML格式描述,XML中的结构化数据易于发现,分析和操作。

5 WSDL - Web 服务描述语言
如果我们打算找出一个地方的所有web services,我们需要一种描述他们的通用语言。如果我提供了一种服务,我需要能够向外部世界描述它,同时如果我想要使用一种服务,我也要描述我要找什么,WSDL正是这个目的。
下面是一个描述一个web services的WSDL文档:
<binding name="StockQuoteServiceBinding" type="StockQuoteServiceType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="getQuote">
    <soap:operation soapAction="http://www.getquote.com/GetQuote"/>
    <input>
      <soap:body type="InMessageRequest"
     namespace="urn:live-stock-quotes"
    encoding="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output>
      <soap:body type="OutMessageResponse"
     encoding="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
  </operation>
</binding>
这是一个股票报价服务的定义的一部分,它定义了一个叫做getQuote的方法,同时带有相关的SOAP信息,以使一段代码可以发现这种服务,调用一个方法,且处理响应。

6 总结
结合这些技术,我们就有了使web services工作的基础结构。服务提供者可以描述自己,服务请求者可以描述自己要找什么,服务代理可以自动决定哪个请求者-提供者对是一个好的匹配,一旦产生了一个匹配,就可以使用必要的绑定信息用标准的方法(ways)找到与这种服务交互的方法(methods)。

本文地址:http://com.8s8s.com/it/it5677.htm