Web Service的介绍

来源:互联网 发布:elementary 安装软件 编辑:程序博客网 时间:2024/05/18 06:27
                                                              WebService介绍
1.WebService简介

  1)WebService是构建互联网分布式系统的基本部件。
  2)WebService是为了使原来孤立的站点之间的信息能够相互通信、共享而提出的一种借口。
  3)WebService 是一种非常有效的工具,使我们能够通过互联网为客户提供非专有的、开放的服务和数据访问。

2.为什么要使用WebService?
   1)首先WebService最主要的优点是:使用不同序和在不同系统平台上开发出来的程序,都可以相互通信。
   2)把现有的应用程序以WebService部件形式发布,可以帮助其他的公司构件功能强大的应用程序。
   3)WebService以一种最简单的方式实现异构系之间的互通信和数据交互,且跨平台。因此在实际项目开发中的开发成本是最低的。
 ps:例如天气预报、国内手机号码归属地都采用了WEB服务。

3.哪种情况下要用到WebService?
  1)应用程序的集成
  2)B2B的集成

4.Web Service的3个基本技术?
  1)SOAP(简单对象访问协议)
      ①什么是SOAP?
        基本的Web Service平台是XML+HTTP 它基于XML,独立于语言,独立于平台。
        在SOAP之前使用的是RPC(远程呼叫处理的协议)但是这个协议的安全性不是很好,多数防火墙都会阻拦RPC的通信包,而SOAP则使用HTTP协议作为基本的协议,使用端口80可以透过防火墙,完成RPC的功能。
        SOAP可以和现存的许多因特网协议和格式结合使用,包括HTTP(超文本传输协议),SMTP(简单邮件传输协议),MIME(多用途网际邮件扩充协议)
        SOAP协议和HTTO协议是一样的,都是底层的通信协议,只是请求包的格式不同,HTTP包是文本或者二进制文件,SOAP包是XML格式的
      

      ②SOAP的语法规则?
         SOAP消息必须用XML来编码。
         SOAP消息必须使用SOAPEnvelope命名空间。
         SOAP消息必须使用SOAPEncoding命名空间。
         SOAP消息不能包含DTD引用。
         SOAP消息不能包含XML处理指令。

       例如:<?xml version="1.0"?>
              <soap:Envelope
              xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
              soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
              <soap:Header>
                  ...
              </soap:Header>
              <soap:Body>
                   ...
           <soap:Fault>
               ...
           </soap:Fault>
             </soap:Body>
              </soap:Envelope>
-----------------------------------分割线---------------------------------------------------------
  SOAP Envelope 元素 :SOAP的Envelope元素是SOAP的根元素,它可以把xml文档定义为soap消息
     xmlns:soap 命名空间:SOAP消息必需拥有与命名空间"http://www.w3.org/2001/12/soap-envelope"相关联的一个Envelope元素,如果使用了不同的命名空间,应用程序会发生错误。
     encodingStyle 属性 :SOAP消息没有默认的编码方式,SOAP的encodingStyle属性用于定义在文档中使用的数据类型。
  
  SOAP Header 元素: 可选的SOAP Header元素包含头部信息。
  SOAP Body元素: 强制使用的SOAP Body元素包含实际的soap信息。
  SOAP Fault元素: SOAP Fault元素用于存留SOAP消息的错误和状态信息。
-------------------------------------分割线------------------------------------------------------
  SOAP--消息交换模型
    ① 单向传送模型-->发送者创建和发送SOAP消息给SOAP接收者,在这个模型中,接收者不反馈响应信息,信息的发送是单向的。
    ② 请求/响应模型-->接收方向发送方发送响应信息
    ③ 增加可选的“SOAP中介”-->在将消息发送给SOAP接收者之前 截取SOAP消息的任意中介都可以分析它,以执行过滤、记录和缓存等操作。 SOAP中介可以看作是发送者和接受者。

  2)WSDL (服务器描述语言)
     
①什么是WSDL?
        WSDL是用于SOAP的。 WSDL是一种XML文档,用于描述网络服务,也可用于定位网络服务。
     
      ②WSDL文档结构?
        <portType>-->描述web service 执行的操作、以及相关的信息。
        <message>-->web service 使用的消息
        <types>-->web service 使用的数据类型  WSDL使用XML Schema语法来定义数据类型。
        <binding>-->web service 使用的通信协议

       例如: <definitions>
                <types>
                 data type definitions........
                </types>
               <message>
                definition of the data being communicated....
               </message>
               <portType>
               set of operations......
               </portType>
               <binding>
               protocol and data format specification....
               </binding>
              </definitions>
                
  3) UDDL (通用描述、发现、整合)
        ①什么是UDDL?
            UDDI 指的是通用描述、发现与集成服务。UDDI 是一种由 WSDL 描述的 web services 界面的目录。用于存储有关 web services 的信息的目录。
          
        ②UDDI 基于什么?
            UDDI 使用 WSDL 来描述到达 web services 的界面,通过采用 SOAP,还可以实现跨平台的编程特性
   
        ③UDDI 如何被使用?
            假如行业发布了一个用于航班比率检测和预订的 UDDI 标准,航空公司就可以把它们的服务注册到一个 UDDI 目录中。然后旅行社就能够搜索这个 UDDI 目录以找到航空公司预订界面。当此界面被找到后,旅行社就能够立即与此服务进行通信,这样由于它使用了一套定义良好的预订界面。
原创粉丝点击