webservice和websocket有什么区别?

webservice和websocket有什么区别?

一、WebService到底是什么?

一言以蔽之:WebService是一种跨编程语言和跨操作系统的远程调用技术。

其以 HTTP 协议为基础,通过 XML 进行客户端和服务器端通信的框架 / 组件。

两个关键点 :

1.服务端提供的功能 , 通过 xml 描述

2.第一步中的描述的功能 , 嵌入到 HTTP 协议中 , 使得能通过 HTTP 协议进行通信【所谓的 SOAP 】

二、webservice和WebSocket 的区别是什么?

要注意的是,有些人会和WebSocket 搞混淆。WebSocket 是HTML5支持的新特性,适用于即时通信,将以前C/S架构上的Socket通信搬到B/S上,但是有跟Socket有差别,以往的Web即时通信通过Ajax的轮询实现(很low很low),现在WebSocket的诞生将改变这一解决方案。

WebService则是服务器端的技术,远程访问数据(看上面)。

三、为什么要用Webservice,他的好处是?

web service能解决:

跨平台调用
跨语言调用
远程调用

四、什么时候使用webService?

  1. 同一家公司的新旧应用之间
  2. 不同公司的应用之间
  3. 一些提供数据的内容聚合应用:天气预报、股票行情

五、怎么开发,是从零开始开发webService吗?

市面上挺多框架可以选择,比如CXF(Celtix + XFire),是apache的用于开发webservice服务器端和客户端的框架。axis,等。

六、WebService开发

WebService开发可以分为服务器端开发和客户端开发两个方面。(这里所说的客户端和服务端并不是传统的用户浏览器就是客户端,java开发这方是服务端。而是我们java开发(客户端)调用别人写好的的WebService(服务端),两者都是在开发的角度。就相当于我们使用三大框架开发java web是开发,绝大部分的人只是去用这三大框架的水平。人家开发三大框架也是开发,但是能力层次上不同)。

1、服务端开发

把公司内部系统的业务方法发布成WebService服务,供远程合作单位和个人调用。

2、客户端开发

调用别人发布的WebService服务,大多数人从事的开发都属于这个方面,例如,调用天气预报WebService服务。(下面会给出实例)

3、WebService 的工作调用原理理解:

对客户端而言,我们给这各类WebService客户端API传递wsdl文件的url地址,这些API就会创建出底层的代理类,我调用 这些代理,就可以访问到webservice服务。代理类把客户端的方法调用变成soap格式的请求数据再通过HTTP协议发出去,并把接收到的soap 数据变成返回值返回。对服务端而言,各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来 soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成 soap格式的数据,通过http响应消息回给客户端。

以上便是webservice和websocket的区别。

原文: https://cloud.tencent.com/developer/article/1405501

Comments are closed.