1. 目录
[TOC]
2. 修订信息
版本 | 时间 | 修订人 | 修订内容 |
---|---|---|---|
1.0 | 2016-03-31 | 麦志泉 | 创建文档 |
3. 需求概述
目前不同团队开发App的架构标准不一,网络API定义协议不一,文档编写格式不一。这样导致App的维护成本高,开发效率低,接口性能低。
经过多年的开发经验积累,客户端与服务端交互方面已经形成成熟的框架与接口调用标准。我们设法开发一套以自己
标准的应用程序集成管理系统,只要按照自己业务流程定义接口的输入输出,就可以自动化地生成给客户端调用API-SDK。
把API集成的逻辑部分与前端界面和控制器分离出来。
这套系统面向App的部分,未来会拓展成为一个生产App的工厂,可以按集成功能的生成源码项目,可以实现跨平台的前端框架。
也能做UI的热更新能力。
这套系统面向Server的部分,未来拓展成为一个云计算平台,能提供在线编程的能力,能提供数据储存功能,能提供可复用的公共接口服务。
4. 系统架构图
5 设计需求
阶段需求
| 阶段 | 需求 | 说明 |
| :------:|: -------------|: -------------|
| 第一阶段 | 应用程序API管理 |在系统能够创建应用项目,可以为项目定义接口,
导出文档和SDK给开发者快速集成 |
| 第二阶段 | 应用程序自动化构建 |能否按业务需求定义功能,自动化构建新项目,
简化开发者搭建和集成项目的工作 |
| 第三阶段 | 云计算服务 |能够给开发者直接在系统中建立数据库,完成业务逻辑开发。
还可以以收费方式公开接口服务给大众共享数据,获得收入 |
5.1 第一阶段需求
| 需求点 | 说明 |
| :------|: -------------|
| 创建应用 | 系统分配一个MasterKey |
| 为应用创建业务API配置 | 一个项目可以创建多个API配置 |
| API配置可以进行版本控制 | API自于第三方的应用服务。
一个API配置可以创建多个版本 |
| 每个版本的API提供新增修改删除功能 | API的改动基于第三方的应用服务接口 |
| 每个版本的API可新建针对不同环境 | 我们可针对应用服务器的环境创建不同的API环境 |
| 每个版本的API配置统一按照规范格式导出Markdown文档 | 创建完后的API可导出md文档 |
| 每个版本的API配置可导出给不同客户端语言使用的SDK源码 | 系统直接导出不同语言的SDK给客户端集成,
App开发人员只需关心前端的业务逻辑开发 |
| 应用项目可以创建多个平台客户端 | 一个应用项目可能几个客户端 |
| 不同客户端生成不同的AppKey和AppSecret用访问时授权验证,或是哟个 | 通过AppKey和AppSecret是那个客户端访问,
授权后获取API配置文件,应用服务器应提供接口 |
| 客户端按版本配置不同版本的接口 | 为了兼容不同版本的客户端,接口也要有版本管理 |
| 客户端能实现自动更新API配置文件 | 通过AppKey和AppSecret的加密算法验证,自动更新API配置 |
API-SDK的导出功能,我们目前先支持Swift和Java版本