Web service在物联网IoT中的应用

物联网中应用最广泛的就是request/response通信模式(MQTT采用pub/sub模式)。通信双方一request一response,实际上就是client、server的模式。物联网中host端去request end-device的tempreture,end-device受到request后,responce相应的tempreture。实际上,end-device在此交互中充当着server的角色,为host端提供温度值。

end-device是server?我们想象中的server都是高性能的,每秒钟响应巨量的request,而资源受限的end-device怎么可以是server?但它确实提供了响应request tempreture的服务。

随着移动互联网的发展,client端不仅仅局限于PC,更多地,手机,pad等移动终端设备也应实现对服务器端end-device的访问。因此,end-device需要为不同的开发平台(Java、.net)和操作系统(Linux、Windows)提供服务。那么,有没有什么技术可以实现这种跨越平台,语言,从而达到与end-device(服务器)通信的目的?现在传统意义的服务器端是如何实现这一功能的呢,Web service!

一、什么是Web Service?

形象一点理解的话,Web Service就是一组位于远程服务器上的函数库(或者是存在于网络上的应用程序组件),通过这些函数库(组件),客户端可以通过web访问这些服务器端的service。调用Web service的这一端叫做客户端,而提供Web service的一端叫做服务端。

套用网上一个经典例子:腾讯QQ客户端的天气服务,显然不是腾讯公司发射卫星,自己去维护公司的内部天气服务器,而是去request气象局的服务器(气象局将天气信息通过Web service方式进行公开),再将服务器response回的天气状况进行QQ显示。

Web service的平台技术

从深层次讲,Web Service是一套标准、规范,这套规范了:

如何将server端的信息公布出去,让客户端得到足够信息来调用Web service;

因为需要跨平台,跨操作系统,所以需要提供一种标准的类型对信息进行封装。

规范一种方法,对Web service进行远程访问;

WSDL+XML+HTTP就构成了Web service的三大技术。

WSDL(Web Services Description Language):是一种基于xml的语言,是机器可读的。客户端在访问服务器提供的服务的时候,首先要知道,服务器提供的resources的url地址在哪,有哪些服务方法可以调用。WSDL文件就是服务器告诉客户端们我提供了哪些服务方法,他们的调用的url在哪。WSDL保存在Web服务器端,通过固定的url就可以访问到它。

XML格式:采用XML格式进行消息描述,其优点在于平台无关,它解决了数据的表示问题。

HTTP协议:Web Service通过HTTP协议发送请求和接收响应。request和response的内容均采用XML格式进行封装,并且在HTTP协议中加上一些首部字段如Content-type用于描述HTTP报文的内容格式。

二、Webservice 在IoT中的问题

上文提过,物联网中的end-device在交互中充当着server的角色。那么,上述的WSDL+XML+HTTP能否直接套用到end-device中呢?主要有下面几点问题:

XML文件难以解析,end-device在对文件进行解析时,会消耗过多的CPU和内存资源,XML文件相对来时比较大,在传输过程中会消耗较多的网络资源。

HTTP封包也比较大,消耗过多网络资源、内存资源。

HTTP的传输层使用的是TCP协议,在握手挥手过程中,过多的冗余数据Segment。

所以,WSDL+XML+HTTP+TCP是PC级别的,要部署在ROM RAM小到只有几十KB的end-device端中不是很实际,而且还要加上TCP/IP,链路层,外设代码,更显得不堪重负。

因此Web service要应用在物联网中,部署在end-device上必须要需求新的替代品。这就引出了我们的主角CoAP协议。

三、IoT中的Web Service

上文提到PC级别的Web Service采用XML+HTTP+TCP的模式,IoT中end-device也采用类似架构的模式,只不过更精简,更易解析,更省资源:JSON+CoAP+UDP。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月20日

ThinkPHP5快速入门

ThinkPHP5快速入门目 录零、序言一、基础二、URL和路由三、请求和响应四、数据库五、查询语言六、模型和关联 (1)模型定义 (2)基础操作 (3)读取器和修改器 (4)类型转换和自动完成 (5)查询范围 (6)输入和验证 (7)关联 (8)模型输出七、视图和模板八、调试和日志九、API开发十、命令行工具十一、扩展十二、杂项SessionCookie验证

ThinkPHP5快速入门基础

ThinkPHP5快速入门基础一、基础快速入门 ( 一 ) :基础本章介绍了 ThinkPHP5 .0 的安装及基本使用 ,并给出了一个最简单的示例带你了解如何开始开发 ,主要包 含 :简介官网下载 omposer安装和更新CGit下载和更新目录结构运行环境入口文件调试模式控制器视图读取数据总结在学习 ThinkPHP5.0 之前 ,如果你还不理解面向对象和命名空间的概念 ,建议首先去PHP手册恶

热门专题

易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
云南巨榕教育投资集团有限公司|云南巨榕教育投资集团有限公司,巨榕教育集团,巨榕教育
云南巨榕教育投资集团有限公司
中源管业|中源管业,中源管业公司,中源管业有限公司,中源管业电话,中源管业地址,中源管业电力管,中源管业mpp电力管,中源管业cpvc电力管,中源管业pe穿线管
中源管业
自考本科|自考本科有用吗,自考文凭,自考本科文凭,自考文凭有用吗,自考本科文凭有用吗,自考文凭承认吗
自考本科
开放大学|开放大学报名,开放大学报考,开放大学,什么是开放大学,开放大学学历,开放大学学费,开放大学报名条件,开放大学报名时间,开放大学学历,开放大学专业
开放大学
安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司
昆明网站建设|昆明网站建设,昆明网站开发,昆明网站建设公司,昆明网站建设价格,昆明网站设计,昆明网站制作,网页设计,高端网站建设,高端网站设计
昆明网站建设

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部