XXL-HEX v1.2.0,面向对象的 WebAPI 框架

版本1.2.0新特性

1、Client端,新增Javascript版本实现:前端JS可使用提供的Client,直接调用XXL-HEX的加密API接口; (示例文件见 "xxl-hex/xxl-hex-example/src/main/webapp/jsclient.html",启动 "xxl-hex-example" 项目访问即可);

2、Server端,新增明文模式:如果系统不需要Hex加密特性,可选择明文数据传输方案;

《面向对象的WebAPI框架XXL-HEX》
一、简介

1.1 概述

XXL-HEX 是一个简单易用的WebAPI框架, 拥有 "面向对象、数据加密、跨语言" 的特点。目标是: 提高Web API (如 Android、IOS 等APP接口, 或者 unity3d 等游戏服务端接口) 的开发体验以及开发效率。现已开放源代码,开箱即用。

1.2 特性

1、面向对象: 一个API接口对应 "一个Handler" 和 "Requset对象/Response对象"; 针对Web API开发 (如 Android、IOS 等APP接口开发, 或者 unity3d 等游戏接口开发), 采用面向对象的思维去开发 Web API接口。提高API接口的开发效率以及开发体验;

2、数据加密: 通讯数据以16进制数据的形式存在, 数据天然加密; 同时, 底层为API接口预留了API校验接口, 可方便的扩展数据加密逻辑, 进一步校验数据安全性;

3、跨语言: 一个API接口, 开发一次, 支持任何语言调用(系统开放底层通信协议, 任何语言可灵活定制自己语言的Client端实现), 无论Client端是Android、IOS、C#开发的U3D游戏等等;

1.3 背景

面向对象

当我们为APP(安卓、IOS等)开发API接口时, 我们可能采用类似 RESTFUL 等方案, 但是此时API接口请求参数和响应数据比较零散, 需要针对多个参数进行繁琐的参数获取赋值等操作, 维护和使用比较繁琐。

因此, 我们考虑上述Web API接口是否可以换一种面向对象的开发方式。在新系统中, 开发每一个API接口需要定义一个Handler类, 同时绑定Request对象和Response对象, 系统底层会自动把请求对象赋值给Request对象, 我们只需要调用Request对象中属性值即可。同样的, 我们只需要把响应数据赋值给Response对象即可; 自此, API接口的开发效率和开发体验将会大幅度提升;

数据加密

常规API接口服务数据以明文格式存在, 数据易暴露业务信息, 如遭遇恶意爬虫或者DDOS攻击, 轻则加重服务器负担, 服务器处理了外部非法的接口请求; 重则篡改线上业务数据, 造成严重后果。

XXL-HEX 的API接口通讯数据以HEX的格式存在, 天然加密, 安全性相对较高。初次之外, 支持自由扩展API接口的校验逻辑, 进一步校验数据安全性, 提高体统的整体安全性;

跨语言

当我们提供API接口, 调用方千差万别, 如下:

1、Android (java)

2、IOS (object-c)

3、J2EE

4、PHP Web

5、.NET

6、unity3d (C#)

7、PC客户端 (C++)

存在如此多的异构系统的情形下, 一种跨语言的 API 通讯方案显得尤为重要。

如果简单实现跨语言则 RESTFUL 等方案可简单实现, 但是如若要兼容上述 "面向对象" 和 "数据加密" 的特点, 同时保证系统简易且稳定则存在一定难度。XXL-HEX得益于其基于HEX的特性以及底层特殊数据结构, 在保证兼容上述特性的技术上, 天然支持跨语言。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-10-06 20:05:14

XXL-HEX v1.2.0,面向对象的 WebAPI 框架的相关文章

任务调度系统 xxl-job,新版本 V1.4.0 新特性速览

分布式任务调度系统 xxl-job新版本V1.4.0更新内容: 1.任务依赖: 通过事件触发方式实现, 任务执行成功并回调时会主动触发一次子任务的调度; 2.执行器底层实现代码进行重度重构, 优化底层建表脚本; 3.执行器中任务线程分组逻辑优化: 之前根据执行器JobHandler进行线程分组,当多个任务复用Jobhanlder会导致相互阻塞.现改为根据调度中心任务进行任务线程分组,任务与任务执行相互隔离; 4.执行器调度通讯方案优化, 通过Hex + HC实现建议RPC通讯协议, 优化了通讯参

XXL-CONF v1.3.0,分布式配置管理平台

版本1.3.0新特性 1.支持在线维护配置分组: 2.项目groupId从com.xxl迁移至com.xuxueli,为推送maven中央仓库做准备: 3.v1.3.0版本开始,推送公共依赖至中央仓库: <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-conf-core</artifactId> <version>1.3.0</version> <

ROOT大师手机版v1.1.0新增强力清理工具

ROOT大师手机版发布了最新的v1.1.0版.新版本主要加强了清理手机内存功能,增强一键ROOT能力,提升ROOT速度,修复ROOT大师在某些机型ROOT速度过慢的问题,优化卸载内置功能,提升ROOT大师稳定性.如今智能手机的功能越发强大,但手机使用一段时间后会越来越慢,这一问题在安卓系统的手机上尤其明显,因此及时清理手机垃圾实现手机提速是非常有必要的.全新的ROOT大师手机版强化了一键清理手机内存功能,新增桌面清理挂件,同时修复ROOT大师在某些机型ROOT速度过慢的问题,提升稳定性. ROO

NetSNS V1.5.0 build1208正式版免费开源发布

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 2008年12月08日,古羌科技NetSNS V1.5.0 build1208正式版免费开源发布,方便与多种建站系统整合. NetSNS是基于Asp.Net开发的社交网络建站系统.可与多种互动Web应用程序整合,整个产品采用先进的技术(SQL2000数据库.Ajax,.Div+CSS布局等诸多网络流行元素囊括其中),适合各方面应用的要求.提供一个安全.稳定.高效.易用.快捷的SNS平台.NetSNS平台有极其丰富的扩展娱乐功能,将缩短您与F

Editor.md v1.3.0 发布,增强快捷键操作等

Editor.md v1.3.0 主要更新: 预设键盘快捷键处理(粗体等),插入Markdown更加方便: 更新CodeMirror版本为5.0: 更新Marked版本为0.3.3: 新增自动高度和工具栏固定定位功能: 改进表格插入对话框: 工具栏新增三个按钮,分别是将所选文本首字母转成大写.转成小写.转成大写: 修改使用帮助文档: 修复多个Bug: 具体更新如下: 新增常用键盘快捷键预设处理: 新增属性editormd.keyMaps,预设一些常用操作,例如插入粗体等: 新增成员方法regis

AspJpeg V1.5.0 破解版_ASP基础

AspJpeg V1.5.0 破解版 aspjpeg组件使用方法 aspjpeg是一款非常强大的图片处理组件,纯英文版本.不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印.可能是因为纯英文的缘故. 使用aspjepg主要可以做到: 图片缩略 图片水印 安全码技术 图片切割 图片合并 数据库支持 一.图片缩略 . <% Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件 Pa

myFocus slide3D v1.1.0 使用方法与下载_javascript技巧

XHTML结构: 复制代码 代码如下: <div id="myFocus-wrap"> <div id="myFocus"> <!--焦点图盒子--> <div class="loading"> <span>请稍候...</span></div> <!--载入画面--> <ul class="pic"> <!--内

Angular.js v1.6.0 发布,Web 前端框架

Web 前端框架 Angular.js v1.6.0 发布了.该版本合并了之前 1.6.0 候选版本中显示的所有更改. 新特性 ngModelOptions: 允许选项从祖先继承 ngModelOptions (296cfc, #10922) $compile: 默认设置 preAssignBindingsEnabled 为 false (bcd0d4, #15352) jqLite: implement jqLite(f) as an alias to jqLite(document).rea

国产PHP开源博客Magike v1.1.0正式版 官方下载_常用工具

国产PHP开源博客Magike v1.1.0正式版 首先感谢各位网友参与到这个开源程序的测试之中,我们获得了很多有用的信息,希望能为大家提供一个使用社区开源模式开发,并遵守相关开源协议的博客产品.Magike是一个运行于php5的博客程序,没有PHP4版本,在安装之前请您注意. 官方网站: http://www.magike.net  项目SVN地址为: http://www.magike.org/svn  项目最新安装包下载地址: http://code.google.com/p/magike