webservice的学习总结


简单来说, Web Service (一下简称 WS )就是不同服务器间调用资源的一种方法。


与之对应的是本地服务,但本地服务存在缺陷:本地资源不足、成本因素、可移植性差等。


而 WS ,平台无关,不管什么平台都能使用 WS ;编程语言无关,无论使用什么语言,只要遵守相关协议,就可以调用 WS 暴露的 API 。



目前 WS 有两种实现方法使用最多,一种是 Restful WebService ,一种是 XML-RPC WebService 。


下面先说下大家熟悉的 XML 格式



(一)XML-RPC Web Service




1. 何时使用

WS 在跨平台和跨网络进行通信时,是非常有用的。
 
2. 原理


实际上是一个应用程序,向外界暴露一个能通过 web 进行调用的 API ,可以使用任何语言。
服务端:

服务端生成 wsdl 文件,描述接口及访问方式。接受客户端发来的 SOAP 请求消息,解析其中的方法调用和参数格式,调用相应业务完成指定功能,并把返回值放入 SOAP 回应消息返回给调用者。
客户端:


取得服务端的服务描述语言文件( WSDL ),解析该文件,了解服务端的调用信息及方式。根据需要,生成恰当的 SOAP 请求(指定调用的方法、参数),发送到服务端,等待 SOAP 回应消息, 解析返回值。


3. WSDL :


怎样向别人介绍你的 WS有什么功能,以及每个函数调用时的参数呢,这就是 WSDL ,描述接口及访问方式的文件。


4. WSDL 和 SOAP 的关系


SOAP 是个通信协议, SOAP 在 HTTP 协议的基础上,把编写成 XML 的 REQUEST 参数 , 放在 HTTP body 上提交个 WS服务器 (servlet , ASP 什么的 ) 处理完成后,结果也写成 XML 作为 response 送回用户端,   为了使用户端和 WS可以相互对应,可以使用 WSDL 作为这种通信方式的描述文件,利用 WSDL 工具可以自动生成 WS 和用户端的框架文件, SOAP 具备把复杂对 象序列化捆绑到 XML 里去的能力。

SOAP 的前身是 RPC, 就是远程呼叫处理的协议,这个协议安全性不是很好,多数防火墙都会阻挡 RPC 的通信包,而 SOAP 则使用 HTTP 协议作为基本的协议,使用端口 80 使得 SOAP 可以透过防火墙,完成 RPC 的功能。


SOAP 协议和 HTTP 协议一样,都是底层的通信协议,只是请求包的格式不同而已, SOAP 包是 XML 格式的。


(二) RESTful Service

1.基本介绍


Restful WebService 是符合REST(Representational State Transfer) 风格的Web 服务架构。REST Web 服务是面向资源的服务,可以通过统一资源标识符(Universal Resource Identifier, URI )来识别和定位资源,并且针对这些资源而执行的操作是通过HTTP 规范定义的。XML-RPC WebService 指就是传统的基于SOAP 、UDDI 、WSDL 的WebService 。

Restful WebService 充分利用了现有的web 基础设施,从而提高了网络效率。


2.实现方式


       RESTful WebService 的实现方式有多种,abdera 、resteasy 。

       abdera 开发复杂,resteasy 本身也是jboss 产品,所以当服务器使用的是jboss 时,实现更适合用resteasy ,开发简单,只需在类和方法指定资源路径。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值