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]

目录
相关文章
|
4月前
|
JSON 网络架构 数据格式
SpringMVC-REST风格简介及RESTful入门案例
SpringMVC-REST风格简介及RESTful入门案例
35 0
|
7月前
|
XML 开发框架 前端开发
J2EE自定义mvc【框架配置及功能】
1、在增删改的方法里面我们这两行代码是一样的、重复的。类里面增加了一个通用的增删改的方法,我们在。我们新建一个web包,在里面新建一个。进行一个搜索,新增、修改、删除。进行一个通用的增删改的方法。BookDaoTest测试。测试我们的数据库能否连接。增加,修改的jsp界面。我们删除ID:16、22。导入之后我们选中所有的。2、代码逻辑是重复的。书籍名:圣墟1234。
|
SQL JSON 前端开发
|
前端开发 NoSQL Java
SpringBoot从入门到精通(二十)快速构建Restful Web API 服务
随着互联网化等逐渐深入,应用系统也变得越来越复杂,系统架构正在朝着微服务化,中台化的方向发展。这就需要各个系统、各个厂家之间的数据频繁交互。所以,使用 Restful 风格构建的应用接口适用于移动互联网厂商的业务场景,正在被越来越多的企业推荐使用。那么什么是 RESTful 呢?
SpringBoot从入门到精通(二十)快速构建Restful Web API 服务
|
1月前
|
前端开发 安全 Java
Java 新手如何使用Spring MVC RestAPI的加密
Java 新手如何使用Spring MVC RestAPI的加密
|
4月前
|
JSON 前端开发 Java
Spring Boot中JSON的数据结构和交互讲解以及实战(超详细 附源码)
Spring Boot中JSON的数据结构和交互讲解以及实战(超详细 附源码)
132 1
|
9月前
|
前端开发 API 数据库
C# Abp框架入门系列文章(一)(下)
C# Abp框架入门系列文章(一)(下)
316 0
|
9月前
|
SQL 开发框架 缓存
C# Abp框架入门系列文章(一)(上)
C# Abp框架入门系列文章(一)
239 0
|
11月前
|
消息中间件 Kubernetes Java
「集成架构」我们得谈谈 Apache Camel集成框架
「集成架构」我们得谈谈 Apache Camel集成框架
|
11月前
|
消息中间件 Kubernetes Java
「集成架构」我们得谈谈 Apache Camel
「集成架构」我们得谈谈 Apache Camel