(1) 支持结构体和数据库表之间的灵活映射,并支持自动同步;

(2) 同时支持原始SQL语句和ORM操作的混合执行[8];

(3) 支持级联加载类型;

(4) 支持数据库级别的缓存;

(5) 支持记录版本(即乐观锁)、创建时间和更新时间。

2。5 REST

本系统API主要以RESTful形式,利用不同的http请求类型,对应新增、更新、删除等操作。

REST即表述性状态传递(Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格[9]。主流的三种Web服务交互方案中,REST相比于SOAP(简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格[10]。

概括来说,可以这么理解RESTful架构

(1)每一个URI代表一种资源,如课程就是一个资源,为了方便,我们通常将课程定义为复数;

(2)客户端和服务器之间,传递这种资源的各种表现层,即客户端和服务器只需要通过URI即可完成通信

(3)客户端通过GET、POST、DELETE、PATCH等HTTP动词,分别对服务器进行查询、新增、删除和更新等操作

良好的RESTful API应该提供在线测试文档,本系统选用Swagger UI作为在线文档生成和测试工具。Swagger UI支持根据代码同步生成API在线文档,这些文档可用户项目内部API审核,方便测试人员了解API。同时良好的APU设计也有助于产品的维护。

2。6 本章总结

本章首先介绍了本系统使用的开发语言Go语言,通过对比Java、Python等语言,讲解了使用Go语言开发本系统的原因;然后介绍了数据库PostgreSQL,用以增强系统的稳定性,而且在数据类型方面也有多种选择;接着介绍了其中使用的Go语言框架,很大程度上节约了开发时间,避免重复制造轮子;最后介绍了接口设计规范REST,并利用其中的一款在线测试文档Swagger作为开发工具。

第三章 系统总体设计

本章以整体架构为切入点,先介绍了基于云平台的移动学习系统的总体架构,然后详细介绍了系统服务器端功能模块,接着介绍了系统基于RBAC(Role Based Access Control)的权限设计,最后根据需求制定了数据库设计。

3。1 系统总体架构

如图3-1所示,基于云平台的移动学习系统以移动互联网和云计算技术为核心,可分为服务器端、云平台、Web端和移动端4个部分。

图3-1 总体架构图

系统的主要使用者为学生、教师和管理员。系统基于现有云平台(七牛云存储平台),实现“在线学习资源”的云端持久化。服务器端采用Go语言,采用CQRS架构(命令查询职责分离),利用其高并发的特性完成对请求的处理;数据库采用PostgreSQL数据库,持久化存储课程、用户等相关数据。论文网

3。2 系统功能模块设计

本文主要实现了服务器端和云平台处理。如图3-2所示,服务器端可分为登录注册模块、课程管理模块、用户管理模块、云存储模块、日志管理模块。课程模块和用户模块是本系统的两大核心。

图3-2系统功能模块图

(1) 登录注册模块

登录注册模块是最基础的模块,分为登录、登出和注册3个子模块。注册时,邮箱是用户的标识之一。其余请求是基于Token的身份验证方式,登录即是为了获取这个Token,并且在一定时间内,Token有效。相较于传统的Session,基于Token的身份验证能投将Web与客户端有机统一起来。登出模块,主要是为了清除服务器端存储的Token。

上一篇:AngularJS云平台的移动学习系统前端设计
下一篇:小微商家移动互联进销存信息平台服务器子系统

考证平台静态网页设计与制作

搭建Linux桌面环境的影音平台【1261字】

抖音短视频平台视频推荐模式研究【2528字】

J2ME平台的SOAP协议研究与應用【2420字】

构建下一代网络的开放业...

Linux嵌入式系统开发平台选型探讨【2295字】

ASP.NET微信平台的办证系统设计

ASP.net+sqlserver企业设备管理系统设计与开发

安康汉江网讯

互联网教育”变革路径研究进展【7972字】

LiMn1-xFexPO4正极材料合成及充放电性能研究

张洁小说《无字》中的女性意识

新課改下小學语文洧效阅...

网络语言“XX体”研究

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...

麦秸秆还田和沼液灌溉对...