webSevice基础学习

来源:互联网 发布:字体管家方萌 mac 编辑:程序博客网 时间:2024/05/19 17:04

1、webService定义:Web Service(WEB服务)能够快捷和方便地综合结合各种系统、商务和任何应用平台。利用最新的Web Service 标准能够使任何软件系统和系统之间的应用互通互联,方便,而且更加廉价。理解:跨编程语言和跨操作系统平台的远程调用技术,

 特点:跨域防火墙访问,应用程序集成,软件复用软件复用是在软件开发中避免重复劳动的解决方案。Web服务实现了业务级别的软件复用,例如在B2B的集成中,各企业之间通过互相调用Web服务,实现了Web服务的共享,Web服务的使用企业不需要再重新开发其他企业中已经存在的服务。

2、对比分析学习

1、socket通信原理

     

对比分析结果:

(1)Socket是基于TCP/IP的传输层协议。 
Webservice是基于HTTP协议传输数据,http是基于tcp的应用层协议。 
Webservice采用了基于http的soap协议传输数据。

(2)Socket接口通过流传输,不支持面向对象。 

Webservice 接口支持面向对象,最终webservice将对象进行序列化后通过流传输。 
Webservice采用soap协议进行通信,不需专门针对数据流的发送和接收进行处理,是一种跨平台的面向对象远程调用技术。

(3)Socket适用于高性能大数据的传输,传输的数据需要手动处理,socket通信的接口协议需要自定义。

   比如:自定义一种字符串拼接的格式,比如自定义的xml数据,自定义麻烦之处在接口调用方和接口服务端需要互相讨论确定接口的协议内容,不方便。 
缺点

 程序员需要自己去解析输入、输出流,解析发送和接收的数据。数据传输的格式不固定,需要程序员开发socket接口时自定义接口协议。

优点

     如果要传输大数据量,socket可以满足,如果存在大并发使用socket也可以实现,程序用socket灵活性更大,比如可以socket的高并发框架mina开发。 

Webservcie由于是遵循标准的soap协议,soap 协议的内容格式固定,soap协议传递的内容是xml数据,由于webservice是基于http的,所以简单理解为soap=http+xml,适用于没有性能要求情况下且数据传输量小,推荐在公开接口上使用webservice,因为soap协议的标准的。 
优点 
     jaxws可以通过面向对象开发webservice,程序员不需要解析输入、输出流。 
     由于webservice传输数据使用标准的soap协议(基于http传输xml),soap协议已经被w3c管理了。 
缺点

    如果传输大数据量,webservice不适用。如果webservice开发大并发的应用,webservice依靠web容器提高并发数。

3、RPC服务与restful服务调用区别

    RPC风格曾是Web Service的主流,最初是基于XML-RPC协议(一个远程过程调用(remote procedure call,RPC)的分布式计算协议),后来渐渐被SOAP协议(简单对象访问协议(Simple Object Access Protocol))取代;RPC风格的服务,不仅可以用HTTP,还可以用TCP或其他通信协议。但RPC风格的服务,受开发服务采用语言的束缚比较大,如.NET框架中,开发web service的传统方式是使用WCF,基于WCF开发的服务即RPC风格的服务,使用该服务的客户端通常要用C#来实现,如果使用python或其他语言,很难实现可以直接与服务通信客户端;进入移动互联网时代后,RPC风格的服务很难在移动终端使用,而RESTful风格的服务,由于可以直接以jsonxml为载体承载数据,以HTTP方法为统一接口完成数据操作,客户端的开发不依赖于服务实现的技术,移动终端也可以轻松使用服务,这也加剧了REST取代RPC成为web service的主导。

 




原创粉丝点击