前言
使用研发中台,低代码开发好一个学生管理系统的CURD功能,整个过程预计【1个小时】左右 ,实现如下的效果:
研发中台是目前开始尝试做的第一个对外应用,期望就是在线配置非需求功能,调用现成的基础组件模块的服务,专注于需求和业务进行开发。
研发中台提供了一些开发常用的能力,为开发提供相应的支持,减少研发成功:
1、开发支持:分布式配置中心、开发技术文档、开发规范、开发数据库、私服 等
2、基础组件:通知组件、日志组件、工作流组件、单点登陆、存储组件、打印组件、网关组件,为开发提供便利,前端控件代码
3、权限配置:菜单管理、角色管理、用户管理、部门管理、代码管理、参数管理、通知公告管理等。
这也是研发中台的第一个学习示例,其中开发使用的平台是alinesno研发中台:http://cloud.linesno.com
开发准备
开发准备,目标是生成代码,是包括【数据库建表 — 建立开发基线 — 生成代码】这几个操作过程。
数据库设计
数据的话,平台已经准备了一个在线版本的,为了图方便,使用的是公网的,在开发中使用还是可以用的。在平台找到开发的数据库入口,账号密码平台已经有注明,然后建立两张学生表,如下图:
建立了两张数据库表,如下图:
github注册
开发一般都有代码库进行版本管理,这里推荐使用github,因为是个人的,需要自己注册,假设你已经注册好,我们建立一个学生系统的基础,如下图:
生成代码
登陆平台门户,通过【创建项目】指引,填写相关配置(这里github基线要做成公开的,这个下一版本会调整问题,比如公司内部可能就不用考虑项目公开性的问题):
点击【完成】,等待代码生成完成即可,这个时候,我们再查看一下git基线,已经看到我们生成的代码:
运行工程
运行工程主要流程按【工程导入 — 平台账号配置】过程,实现在线的配置。
导入工程
这里使用的开发工具是【idea】,导入基线即可,可以看到生成的代码结构,如下图:
然后运行springboot,访问地址:http://localhost:8080,应该出现如下界面:
会发现,需要一个登陆账号,这个账号,是通过研发中台配置的,看下一章节。
配置应用
登陆平台门户,研发中台是在线研发的,配置也是在线的,所谓的配置,就是一些常见的【菜单】、【角色】、【权限】、【用户】、【参数】、【通知公告】、【代码生成】等,如下图:
在研发中台菜单项目先进行菜单配置,如下图:
再配置一个角色【学生管理员】,分配菜单权限给这个角色,如下图:
配置完角色之后,我们建立一个账号,同时分配【学生管理员】角色给他,这样他就跟菜单关联上,如下图:
有了账号之后,我们就可以登陆系统刚刚运行的系统,登陆之后,如下图:
发布k8s
整体按【Jenkins打包 — 发布k8s】这个过程,这里可以集成自己的Jenkins和k8s,平台目前的Jenkins和k8s不对外。
通过研发中台提供的【jenkins】进行发布,jenkins的配置和maven配置都已经整合,同时平台也集成好了k8s,为开发提供便利。
配置jenkins
此处由平台提供,但不对外,开发者可以使用自己的jenkins或者其它构建工具。
Jenkins配置是自动发布操作,同时为我们打成docker镜像,为发布k8s做准备。下面是jenkins的配置,Jenkinsfile已经在代码生成时自动生成:
访问应用
发布完成之后,访问地址,此处使用【NodePort】进行开发端口,只为演示方便。
开发支持
提供开发者过程中需要的一些技术资料和文档,可查可参考:
最后
此处演示了整体研发中台的开发过程和企业集成流程,整体中台还在完成中,此处演示的只是一个示例和整体研发愿景,也希望有更多人参与我们中台的建设。
中台开源代码: http://gitee.com/landonniao