目录
1、WebService定义
Web Service是一个SOA(面向服务架构)的应用程序,它是不依赖于语言,不依赖于平台,可以
实现不同的语言(通过xml 描述)间的相互调用,通过Internet进行基于Http协议的网络应用间的
交互。
通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
简单可以理解成:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的
API。
这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。
从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应
用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。
解决问题:
-
不同系统、不同平台、不同语言之间的通信访问和调用。
-
应用程序的集成,不同业务的整合。
WebService实质就是实现应用程序之间通信,有两种应用程序通信的方法:
-
RPC 远程调用。
在客户端,RPC的通常方式是:实例化一个远程对象,并调用其方法和属性。
-
消息传递。
WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,
你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService 的应用程序叫做
客户。
2、WebService的工作原理
Web服务有两层含义:
1、它是指封装成单个实体并发布到网络上的功能集合体;
2、它是指功能集合体被调用后所提供的服务。
简单地讲,Web服务是一个URL资源,客户端可以通过编程方式请求得到它的服务,而不需要知
道所请求的服务是怎样实现的,这一点与传统的分布式组件对象模型不同。
Web服务的体系结构是基于Web服务提供者、Web服务请求者、Web服务中介者三个角色和发
布、发现、绑定三个动作构建的。
简单地说,Web服务提供者就是Web服务的拥有者,它耐心等待为其他服务和用户提供自己已有
的功能。
Web服务请求者就是Web服务功能的使用者,它利用SOAP消息向Web服务提供者发送请求以获得
服务。
Web服务中介者的作用是把一个Web服务请求者与合适的Web服务提供者联系在一起,它充当管
理者的角色,一般是UDDI。
这三个角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个Web服务既可以
是Web服务提供者,也可以是Web服务请求者,或者二者兼而有之。
显示了Web服务角色之间的关系:其中,“发布”是为了让用户或其他服务知道某个Web服务的存在
和相关信息;“查找(发现)”是为了找到合适的Web服务;“绑定”则是在提供者与请求者之间建立
某种联系。
2.1 实现一个完整的Web服务包括以下步骤
-
Web服务提供者设计实现Web服务,并将调试正确后的Web服务通过Web服务中介者发布,并在UDDI注册中心注册; (发布)
-
Web服务请求者向Web服务中介者请求特定的服务,中介者根据请求查询UDDI注册中心,为请求者寻找满足请求的服务; (发现)
-
Web服务中介者向Web服务请求者返回满足条件的Web服务描述信息,该描述信息用WSDL写成,各种支持Web服务的机器都能阅读;(发现)
-
利用从Web服务中介者返回的描述信息生成相应的SOAP消息,发送给Web服务提供者,以实现Web服务的调用;(绑定)
-
Web服务提供者按SOAP消息执行相应的Web服务,并将服务结果返回给Web服务请求者。(绑定)
2.2 调用方式
webservice 的调用有3种方式:
-
httpget
-
httppost
-
httpsoap
soap的优点是可以传递结构化的数据,而前两种不行。
btw, soap 最终也是使用 HTTP 传送 XML。