WebService原理

 

(1)概念

    WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService得到所需结果。
       基础的 Web Services = XML + HTTP。
      Web services 平台的元素:
WebService原理

 

  1.  client 有需要,想调用一个服务,但不知道哪里去调用 但知道 UDDI Registry 上可以查到。
  2. 果然 UDDI 记录了某个一个叫做 Web Server A 的服务器能提供这样的服务。
  3. 于是 Client  Web Server A, 询问确切的调用方法。
  4.  Web Server A 看到 Client 提出的“确切方法查询”之后, 立即返回给它一个 WSDL 描述的 xml 文档这里记录他能提供的各类方法接口 .
  5.  Client 了解到这些之后,将这些 xml 的接口方法,封装成为 HTTP 请求 发给 Web Server A. 这些封装方式采用的是标准的 SOAP 方式 实质是满足 HTTP 协议的一些 SOAP 的报文消息
  6.  Web Server A 回应的也是 HTTP 协议的 SOAP  这样双方的请求 - 响应完全畅通。

(3)使用场合

 

  1. 跨平台 支持 HTTP 协议的主机和服务器 都能够建立通信联系 并且大部分的主机和服务器 (99.999% 以上 ) 将支持 HTTP 协议。一般而言,不同目标主机之间的通信,需要通过防火墙,打开某个端口 , HTTP 协议的优势在于,防火墙一般不会封掉 80 端口 这样就可以方便,安全的通信。
  2. 跨语言 任何语言 都支持 XML 文本解析 这个的目的是为了实现不同语言之间的通信 通信的内容,是被xml 限制的,因此这样进行通信,能跨越语言障碍,即 , Java 开发的服务端,客户端可以用 C 访问 可以用java  VB 等访问 反之亦然

(4)开发流程 

 

  • 客户端开发

 

  1.    通过 UDDI ,查找到 Client 程序需要的 Web Service 的位置
  2.    通过 WebService 找到 WSDL 接口描述文件
  3.    通过工具,将步骤 2 得到的 WSDL 文件,生成一个 Client Stub, 这个实质上是代码 也就是打了一个桩。把这个 stub 的代码归并到 Client 程序中 .
  4.   每次 Client 需要调用 WebService 的时候,直接调用步骤 4 生成的 Stub 接口,就实现了对 Server 端的调用。

 

  • Server 端开发: 

  利用 WSDL 文件 ( 或者 IDL) 生成 Server Stub, 这些代码将负责接收从外界获得的请求,并将其转发给 Web Server 的Service Implementation (实现代码)。当 Service Implementation 的代码处理完,产生结果之后,又会把结果交给 Server Stub, 然后 Server Stub 可以产生一个 SOAP 的响应 . Server Stub + Server Implementation 合在一起 称为 Web Service Container, 这玩意儿就是让发送到 WebService 的 HTTP 请求,直接送到 Server Stub 上面的。

(5)免费的webservice资源

http://www.webxml.com.cn/zh_cn/web_services_item.aspx?id=494536374B66307964534D3D

参考链接:

http://blog.csdn.net/ostrichmyself/article/details/6393627

http://www.w3school.com.cn/webservices/index.asp

http://www.g168.net/txt/asp.net/dot07.htm







 

你可能感兴趣的:(xml,webservice,SOAP)