《架构世界》2020微服务刊:微服务分布式事务实战
上QQ阅读APP看书,第一时间看更新

一、应用基础框架简介

相信很多同学都有过这样的经历,刚做完一个项目,开始一个新项目的时候,发现基础能力又要重新开发一遍,用户,登陆,菜单,机构人员,权限管理等等。重复的工作枯燥而没有价值,却不得不做。能否来个什么框架,可以直接提供这些开箱即用的基础能力?

回答当然是有,我们把这种包含了应用基础能力与通用业务模块的框架,称之为应用基础框架。它就像一个半成品的车架,已经有了基本的架子,轮子,发动机,方向盘等,基本上已经可以跑了。但是车子更多的其它能力,还等待人后续去完善。

完整的应用基础框架,应当包括应用后端基础框架与前端展现基础框架(包括web或移动)。这样两者配合使用,才能直接为应用提供开箱即用的业务能力。

不论前后端,我们认为框架可以分为以下四层:

1.基础依赖层:基本上定义的框架的技术栈,采用什么语言,什么框架,依赖哪些基础库或组件等

2.基础能力层:定义的是基础能力,后端包括对异常的定义,国际化的处理,ORM模型的抽像等等,前端则是对菜单,路由,通信等的框架化封装,通用基础组件的抽取等

3.通用业务层:实现通用的一些业务能力,如用户管理,登入登出,权限控制等等

4.用户业务层:这一层交由用户去扩展,实现各自已的业务能力

Coframe就是我们构建的这样一套应用基础框架。它的后端框架,基于spring boot + spring security + jpa,前端基于vue + iview

Coframe应用基础框架能力图谱

coframe提供的基础能力有:

1.组织机构:机构树管理,机构管理,岗位管理,工作组管理,员工管理

2.用户认证:用户管理,本地认证,单点登陆(需与iam集成)

3.权限管理:权限模板管理,角色模板管理,角色管理,资源组管理,菜单管理,功能管理

4.数据字典:字典类型管理,字典项管理,字典国际化,导入导出

5.日志管理:统一日志接口,日志检索

所有这些能力开箱即用。

下面重点分享一下关于应用权限方面的一些设计与实践