什么是WebService?及简单实例

  • WebService的定义:

是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA(面向服务的编程)的架构;
它不依赖于平台,通过Internet进行基于Http协议的网络应用间的交互,可以实现跨语言和平台之间的调用;
也就是说,不管你是java,还是.net 只要按照规范就可以进行通信。实现数据交互等。  

辅助理解:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

  • Web Service的基本原理
  1.     Service Provider【服务提供者】采用WSDL描述服务 
  2.     Service Provider 【服务提供者】采用UDDI将服务的描述文件发布到UDDI服务器(Register server) 
  3.     Service Requestor【服务消费者】在UDDI服务器上查询并 获取WSDL文件 
  4.     Service requestor【服务提供者】将请求绑定到SOAP,并访问相应的服务
  • WebService的三要素:

      WebService = WSDL + SOAP + UDDIwebservice的注册) 

WSDL 用来描述如何访问具体的接口,SOAP用来描述传递信息的格式, UDDI用来管理,分发,查询webService 。

  •  SOAP协议= HTTP协议 + XML数据格式
  1.        SOAP简单对象访问协议【Simple Object Access Protocol】是交换数据的一种协议规范,
  2.        是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,
  3.        它被设计成在WEB上交换结构化的和固化的信息。    
  4.        WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,
  5.        增加特定的HTTP消息头,说明HTTP消息的格式,这些特定的HTTP消息头和XML内容格式就是 SOAP协议,
  6.        SOAP提供了标准的RPC方法来调用Web Service。
  • WSDL(Web Services Description Language)WEB服务描述语言
  1.  描述服务是什么,(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。
  2.    WSDL就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。
  3.   WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找(这个应该意味着要有个服务中心),2.直接告诉给客户端调用者
  •  SOAP消息的语法规则及示例

一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  • 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息

  • 可选的 Header 元素,包含头部信息

  • 必需的 Body 元素,包含所有的调用和响应信息

  • 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息

  • SOAP 消息必须用 XML 来编码

  • SOAP 消息必须使用 SOAP Envelope 命名空间

  • SOAP 消息必须使用 SOAP Encoding 命名空间

  • SOAP 消息不能包含 DTD 引用

  • SOAP 消息不能包含 XML 处理指令

<!-- SOAP消息/协议示例-->

<?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>
  • Web Service的优点 
  1.   可以让异构的程序相互访问(跨平台)
  2.   松耦合 (3) 基于标准协议(通用语言,允许其他程序访问)

猜你喜欢

转载自blog.csdn.net/sunny1015627/article/details/81543344
今日推荐