首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebService是什么?他究竟和WebSocket有什么关系?

WebService是什么?他究竟和WebSocket有什么关系?

作者头像
良月柒
发布2019-03-20 15:48:26
5K0
发布2019-03-20 15:48:26
举报

技术文章第一时间送达!

一、WebService到底是什么?

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

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

两个关键点 :

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

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

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

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

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

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

web service能解决:

  1. 跨平台调用
  2. 跨语言调用
  3. 远程调用

四、什么时候使用web Service?

1. 同一家公司的新旧应用之间

2. 不同公司的应用之间

3. 一些提供数据的内容聚合应用:天气预报、股票行情

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

市面上挺多框架可以选择,比如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响应消息回给客户端。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员的成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
即时通信 IM
即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、关系链、消息漫游、群组管理、资料管理、直播弹幕和内容审核等能力。适用于直播互动、电商带货、客服咨询、社交沟通、在线课程、企业办公、互动游戏、医疗健康等场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档