欢迎来到天天文库
浏览记录
ID:21538495
大小:28.50 KB
页数:7页
时间:2018-10-22
《基于gson和gzip的交互接口的应用研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于GSON和Gzip的交互接口的应用研究 摘要:在WebService网络服务当中,相对于传统的XML,JSON体积更小,解析起来更方便,因此JSON在移动互联网的应用中优势更为明显。文章结合JSON以及HTTP协议的特性,利用GSON工具和Gzip算法原理,设计并实现了在JavaEE平台上与And roid以及iOS等移动端进行交互的一种接口。 关键词:WebService技术;JSON数据;GSON工具;Gzip算法;网络接口 1概述 伴随“互联网+”理念上升至国家战略层面,移动互联网技术正以难以想象的速度迅猛速度发展。移动终端作为互联
2、网最重要的载体,其发展对各行各业都有着深远的影响。根据QuestMobile发布的《2015年中国移动互联网研究报告》显示,国内移动智能设备的活跃数量将近9亿,其中苹果设备占比三成[1]。因此设计一种使用安全、简单可用于移动互联的接口就具有非常大的意义了。 SOA是一种以松耦合方式实现处理异构系统数据交互的面向服务的方法。WebService则是该方法的一种实现规范,WebService主要由解决对象互访问的SOAP协议、描述具体业务服务的WSDL文件和负责注册服务的UDDI注册中心三个模块组成[2]。WebService以XML(可拓展标记语言)作
3、为数据交互的格式,XML数据主要以Open和Closing标记组成,具备较高的可读性,但是在解释速度和传输速率上面效果较差,并不是移动互联网使用场景的最佳方案[3]。REST是一种适合于客户端与服务器端交互的一种架构风格,该风格更简单、更有层次,也更容易实现缓存等机制,而REST最简单的实现技术则是JSON(JavaScriptObjectNotation)技术。 2JSON与GSON 2.1JSON概述 JSON是一种以大括号、中括号等符号表达的轻量级(Lightweight,具有平台移植性)交换格式。JSON使用“名称/值”的方式组织数据,在
4、占用体积极低的情况之下,仍然能以便捷的方式反向分析出数据源,同时以有序列表的方式直接表达对象列表,极大兼容了面向对象编程方式。 2.2GSON工具 JSON属于Javascript的一个子集,早期多用于Web服务。随着JSON的快速发展和普及,很多平台均对该数据格式进行了支持。GSON(又称GoogleGSON)是Google公司发布的一个开放源代码的Java库,主要用途是将Java对象序列化为JSON字符串,或反序列化JSON字符串成Java对象。该工具的应用,不仅容易生成小体积的JSON数据,更从整体上简化了JSON数据开发的各个环节,降低了技
5、术难度。 3交互接口的设计 3.1功能需求概述 本文以笔者近期参与的“周末玩乜出游助理”项目的建设为例。该项目是以短期周末?l村游为切入点,结合两广区域旅游特色而开发的平台,以解决当前旅游App市场上乡村游资源丰富而相关数据却匮乏的问题。该平台主要包括景点管理、产品管理、消费体系、结伴游、攻略、出游助理等功能模块。 3.2移动终端与服务器交互接口体系结构的设计 考虑到旅游平台不仅需要有面向管理员以及商家的Web管理平台,还需要有适合用户户外使用的Android端或iOS端,可能后续还会拓展到其他终端。因此,平台必须要设计出符合以下约束的交互接
6、口: (1)接口访问敏感数据需要进行严格完整的身份认证,且达到业务发展之后对高可拓展性的要求。 (2)需要考虑无线环境下流量损耗的问题。 (3)为了功能同步,Android端以及iOS使用同一套接口。 (4)考虑到团队技术能力以及系统稳健性,要求技术简单可行。 综合以上四个条件,本文拟使用HTTP协议以及JSON数据进行REST风格接口的设计,同时使用GSON工具包对JSON进行转换。整个过程为:通过HTTP协议中的request包装POST数据传输命令,以response返回JSON数据包的方式最终完成交互,其中,使用GSON工具包在服务器
7、生成JSON,以及在客户端解析JSON;Gzip主要用于服务器传输前的数据压缩以及客户端接收之后的数据解压。具体体系结构如图1所示。 服务器原有架构设计在RUP4+1架构体系的基础上结合分层以及MVC模式,设计出了自上而下的包括视图层、控制层、业务层和数据持久层在内的4层结构。而移动端无论是Android或者iOS,均把网络传输以及JSON数据的解释等功能抽取成了组件。在此基础上,总体设计可以结合以下几个方面的设计,最终完成图1所示的移动终端与服务器交互接口的体系结构的设计: (1)服务器端过滤器安全认证设计。如果直接在POST的数据当中封装令牌,
8、将会导致业务数据与安全验证的高度耦合,同时增加了程序的复杂度和可理解度。因此在每次传输之前,把
此文档下载收益归作者所有