移动客户端—技术实现方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.架构设计目标:

1.可靠性(Reliable)

2.安全性(Secure)

3.可扩展性(Scalable)

4.可定制化(Customizable)。

5.可伸缩(Extensible)

6.可维护性(Maintainable)。

二. 规范:

一、团队之间统一编码规范。

二、需求文档统一管理。

三、协同开发,根据文档开发(一切以文档为主)。

以产品原型为基础

三.功能模块

项目的基本模块:分网络模块,数据库存储模块,数据加密模块,数据缓存模块,数据解析器,日志信息收集模块等。独立于功能的模块,提前开发,测试。便于后期直接使用。四.移动安全机制

数据存储做必要的数据加密,对网络传输的数据进行必要加密。

1. 数据加密

(1)本地数据加密,对本机存储的信息,本地加密保存。

一、MD5加密算法二、DES加密三、RSA加

(2) 网络传输数据加密,涉及到网络协议,与服务器之间的加密协议。

2. 网络数据加密主要从两个方面考虑:

(1)保证API的调用者是经过自己授权的App;

(2)保证数据传输的安全。

保证API是自己授权的App,采用设计签名的方式。对每个移动平台,都会有不同的AppKey和AppSecret。在调用API时,将AppKey加入到请求参数中,然后,把AppSecret 与其它参数,通过某种签名算法生成一个签名字符串,把数据传输给服务器端。而服务器根据AppKey和AppSecret,用相同的签名算法生成的签名与之一致,则说明请求安全。签名算法可以采用自己规定的一套签名算法(更安全),也可采用外部公开的签名算法(初期使用)。另外,在参数列表中再加入一个时间戳,还可以防止部分重放攻击。

对于数据传输安全,可以使用HTTPS。因为HTTPS添加了ssl安全协议。但是android项目

开发,大部分都没有去实现。主要是没有对ssl证书进行安全性检查。但IoS在2017年新的网络协议要求中需要HTTPS,需要签名来进行支持。

五. API协议标准化

项目开发中,做到协议标准化。完成每个版本的协议文档更新,方便后续查看。

协议都是使用Json格式传输。

六.API接口版本控制

为解决接口更新变化问题,采取的做法是,每个API接口,都会带有协议的版本,若是协议发生改变,则版本号相应改变,在处理数据请求时,则可以根据不同协议的版本进行处理,解决版本的兼容性问题。

七.架构分层

注重功能和代码的复用,减少重复开发,方便功能扩展,降低功能和代码层级的耦合。设计框架,采用主流的:IOS(MVC)、Android(MVP/MVC)。

从项目本身的稳定性和性能出发,增量开发、高度解耦的原则,注重重用性,对需求功能进行合理划分,对团队工作、人员合理分配,快速迭代。

八.测试

为保证质量产出,需要进行必须要逻辑测试,保证业务逻辑正常,流程清晰。九.客户端开发环境

Android:为保证提供更高效稳定。采用android studio,开发更便捷,更方便。采用android gradle多平台打包。proguard代码优化,混淆。

IOS: XCODE

相关文档
最新文档