一种基于云原生的低代码开发交付方法与流程
未命名
10-18
阅读:336
评论:0
1.本发明涉及一种基于云原生的低代码开发交付方法。
背景技术:
2.在企业数字化转型的进程中,为解决软件开发项目过程中的各种痛点和提高项目交付的效率,加快企业数字化转型速度,越来越多的企业选择低代码平台作为技术工具,以快速应对业务的高速增长和复杂度的增加。低代码平台自身提供的可视化自定义表单加流程设计的搭建模式,虽然可以解决部分应用场景,但还是大多限定于某个特定的行业领域,而在面对业务复杂度高、应用间集成度高、需要灵活部署时场景时,则无法满足场景要求。即使在市场上出现通用型的低代码平台后也往往会出现“不够用”、“不适用”的情况。
技术实现要素:
3.本发明的目的是克服现有技术的缺陷,提供一种基于云原生的低代码开发交付方法,借助低代码的思想,并结合云原生技术,便捷、高效,可以快速开发出符合用户业务场景需求的应用系统,提升开发的效率和质量。
4.实现上述目的的技术方案是:一种基于云原生的低代码开发交付方法,包括以下步骤:
5.s1,云原生平台搭建步骤:基于rancher框架,通过脚本搭建云原生平台,通过基础架构界面管理主机,配置可用资源的ip地址,然后通过应用界面搭建如下应用支撑服务:
6.基于云原生开源框架搭建云原生运维支撑服务;
7.基于云原生开源框架搭建云原生中间件服务;
8.基于云原生开源框架搭建云原生集成开发环境ide工具,并部署云原生平台涉及的平台应用管理界面、平台应用设计界面、平台应用测试界面和平台应用发布界面的模块服务;
9.s2,云原生平台应用管理步骤:通过平台应用管理界面,管理开发过程中的项目、应用和应用项,配置代码仓库、制品仓库,以及缓存、消息队列、微服务治理等中间件的服务地址和账号,然后创建项目、应用和应用项,其中一个项目对应一个微服务,一个应用对应一个菜单目录,一个应用项对应一个菜单关联的一组页面;
10.s3,云原生平台应用可视化设计步骤:通过平台应用设计界面,在线设计应用的ui界面、api接口、数据模型,生成应用代码;配置应用适配的终端,拖拉拽控件可视化设计表单,引用云原生平台的组件库,通过设置表单字段绑定的数据层字段;通过数据模型,配置数据层表的字段名、字段类型、字段id,并设置多表的关联字段;表单配置完后云原生平台根据配置描述存为应用元数据,通过云原生平台的代码引擎解析元数据和代码模板自动生成应用代码;
11.s4,云原生平台应用集成开发步骤:通过云原生集成开发环境ide工具,在线编辑代码、分析代码、编译代码、调试程序、推送代码,导入项目的应用代码进行二次开发,引入
应用集成的依赖包,设置不同环境的启动环境变量,并针对接口代码编辑应用集成和复杂的业务逻辑,通过分析工具自动分析代码的书写规范和改正提示,项目代码编译后调试程序;调试完成后通过云原生集成开发环境ide工具将集成的代码仓库客户端推送代码到代码仓库;
12.s5,云原生平台应用测试验证步骤:基于rancher api,通过平台应用测试界面,部署应用到测试环境,项目进行单元测试、功能测试、性能压测、漏洞扫描,并自动生成测试报告;配置测试环境的应用部署文件,设置资源如cpu核数、内存大小、应用域名,以及容器的应用和访问端口;构建测试环境,自动从代码仓库拉取代码、从制品库拉取依赖包后进行编译、打包并上传程序包到测试环境;该应用测试自动与云原生平台运行服务集成,包含微服务应用、微服务网关、认证服务、动态表单组件、工作流组件、图表组件和用户管理权限系统;
13.s6,云原生平台应用发布上线步骤:基于rancher api,通过平台应用发布界面,部署应用到生产环境,项目进行验收、运营和监控,其配置和运行同步骤s5。
14.上述的一种基于云原生的低代码开发交付方法,步骤s1中,所述云原生运维支撑服务为代码管理、程序构建和容器化管理服务,具体包含代码仓库、制品仓库、代码扫描、devops构建部署、镜像仓库、k8s容器管理、虚拟机管理、运维监控告警、运维安全审计;
15.所述云原生中间件服务为分布式存储、计算、负载均衡服务,具体包含数据库、缓存、消息队列、搜索引擎、spring cloud微服务治理、web负载均衡、web服务、任务调度、日志收集和应用监控告警。
16.上述的一种基于云原生的低代码开发交付方法,所述spring cloud微服务治理包括注册与发现、配置、负载均衡和熔断限流。
17.上述的一种基于云原生的低代码开发交付方法,步骤s3中,通过设置表单字段绑定的数据层字段中,默认是数据层表字段映射,或者采用自定义数据来源的api接口或常量字符集合。
18.上述的一种基于云原生的低代码开发交付方法,步骤s3中,应用元数据={版本类,终端类,对象类,权限类,规则类},根据文档命名空间xmlns定义应用元数据的结构;
19.所述版本类主要包含应用元数据发布的版本、发布日期,终端类包含pc端、移动端的适配、菜单、页面、列表、查询字段、自定义按钮、表单字段、布局、控件、表单事件和按钮事件;
20.所述对象类主要包含对象的名字、数据源、api、表名、字段名、字段类型、要聚合字段和字段字典列表;
21.所述权限类主要包含功能权限以及数据访问权限;
22.所述规则类主要包含工作流配置、api更新、字段更新和自定义业务规则。
23.上述的一种基于云原生的低代码开发交付方法,其中,所述功能权限包含api和授权策略,所述数据访问权限包含字段的增删改、允许操作的角色和组织数据过滤权限。
24.上述的一种基于云原生的低代码开发交付方法,步骤s3中,所述代码模板根据应用场景分为框架类模板、在线类模板和应用类模板,其中:
25.所述框架类模板包含前、后端框架代码、编译运行配置文件和启动配置文件;
26.所述在线类模板分为流程设计类和动态表单类,不需要二次开发,用于在线预览
流程和表单的设计效果;
27.所述应用类模板根据功能分为流程表单类模板、应用表单类模板、应用页面类模板、报表类模板和门户类模板;该模板分为前端和后端代码应用类模板;
28.前端代码应用类模板包含页面路由配置代码、页面显示片段代码、页面交互代码和接口调用代码;后端代码应用类模板包含controller接口代码、service业务逻辑代码、dao数据层访问代码、mapper.xml数据层配置、do数据层实体模型代码、dto数据传输层模型代码和vo显示层模型代码,后端代码应用类模板加入swagger注解,以在程序运行时输出标准的restful接口文档。
29.上述的一种基于云原生的低代码开发交付方法,步骤s3中,所述代码引擎基于元数据解析代码模板并生成对应的应用,所述代码引擎分为前端编辑器和后端代码解析引擎,其中:
30.所述前端编辑器包括页面可视化编辑器、表单编辑器和流程编辑器;所述页面可视化编辑器包含左侧操作区、中间画布区、右侧属性配置区,通过页面组件的鼠标拖动事件,复制拖动的组件,并计算该组件的当前区域位置,动态渲染拖动的页面组件到中间画布区,然后设置该组件的属性和事件;所述表单编辑器设置表单字段id、字段名、字段类型、读写属性、字段的验证规则、绑定的数据访问层字段和数据来源;所述流程编辑器基于flowable开源框架流程定义模块实现;
31.所述后端代码解析引擎包括页面引擎、表单引擎和流程引擎,所述页面引擎对应前端的页面可视化编辑器,根据保存的元数据和应用对应的代码模板生成解析后的前后端代码;所述表单引擎对应前端的表单编辑器,根据保存的元数据生成对应数据源的表结构、应用的增删改查部分代码;所述流程引擎基于flowable开源框架流程引擎模块实现。
32.上述的一种基于云原生的低代码开发交付方法,步骤s3中,通过可视化设计表单后生成应用代码和应用元数据,能够进行二次开发应用,解决复杂业务逻辑开发、应用间的集成问题。
33.本发明的基于云原生的低代码开发交付方法,借助低代码的思想,并结合云原生技术,为开发人员提供一种微服务架构、前后端分离的开发交付方法,能够在低代码开发平台上,经过可视化设计后生成应用代码,进行二次开发调试并发布,且可不依赖平台进行私有化部署,从而解决程序的复杂业务逻辑开发、应用间的集成、灵活部署等技术问题,便捷、高效,可以快速开发出符合用户业务场景需求的应用系统,提升开发的效率和质量。
附图说明
34.图1为本发明的基于云原生的低代码开发交付方法的流程图。
具体实施方式
35.为了使本技术领域的技术人员能更好地理解本发明的技术方案,下面结合附图对其具体实施方式进行详细地说明:
36.请参阅图1,本发明的最佳实施例,一种基于云原生的低代码开发交付方法,包括以下步骤:
37.s1,云原生平台搭建步骤:基于rancher框架,通过脚本搭建云原生平台,通过基础
架构界面管理主机,配置可用资源的ip地址,然后通过应用界面搭建如下应用支撑服务:
38.基于云原生开源框架搭建云原生运维支撑服务如代码管理、程序构建和容器化管理服务,具体包含代码仓库、制品仓库、代码扫描、devops构建部署、镜像仓库、k8s容器管理、虚拟机管理、运维监控告警、运维安全审计;
39.基于云原生开源框架搭建云原生中间件服务如分布式存储、计算、负载均衡服务,具体包含数据库、缓存、消息队列、搜索引擎、spring cloud微服务治理、web负载均衡、web服务、任务调度、日志收集和应用监控告警;spring cloud微服务治理包括注册与发现、配置、负载均衡和熔断限流;
40.基于云原生开源框架搭建云原生集成开发环境ide工具,并部署云原生平台涉及的平台应用管理界面、平台应用设计界面、平台应用测试界面和平台应用发布界面的模块服务。
41.s2,云原生平台应用管理步骤:通过平台应用管理界面,管理开发过程中的项目、应用和应用项,配置代码仓库、制品仓库,以及缓存、消息队列、微服务治理等中间件的服务地址和账号,然后创建项目、应用和应用项,其中一个项目对应一个微服务,一个应用对应一个菜单目录,一个应用项对应一个菜单关联的一组页面。
42.s3,云原生平台应用可视化设计步骤:通过平台应用设计界面,在线设计应用的ui界面、api接口、数据模型,生成应用代码;配置应用适配的终端,拖拉拽控件可视化设计表单,引用云原生平台的组件库,通过设置表单字段绑定的数据层字段,默认是数据层表字段映射,或者采用自定义数据来源的api接口或常量字符集合;通过数据模型,配置数据层表的字段名、字段类型、字段id,并设置多表的关联字段;表单配置完后云原生平台根据配置描述存为应用元数据,通过云原生平台的代码引擎解析元数据和代码模板自动生成应用代码;
43.应用元数据={版本类,终端类,对象类,权限类,规则类},根据文档命名空间xmlns定义应用元数据的结构;版本类主要包含应用元数据发布的版本、发布日期,终端类包含pc端、移动端的适配、菜单、页面、列表、查询字段、自定义按钮、表单字段、布局、控件、表单事件和按钮事件;对象类主要包含对象的名字、数据源、api、表名、字段名、字段类型、要聚合字段和字段字典列表;权限类主要包含功能权限以及数据访问权限,功能权限包含api和授权策略,数据访问权限包含字段的增删改、允许操作的角色和组织数据过滤权限;规则类主要包含工作流配置、api更新和字段更新。
44.s4,云原生平台应用集成开发步骤:通过云原生集成开发环境ide工具,在线编辑代码、分析代码、编译代码、调试程序、推送代码,导入项目的应用代码进行二次开发,引入应用集成的依赖包,设置不同环境的启动环境变量,并针对接口代码编辑应用集成和复杂的业务逻辑,通过分析工具自动分析代码的书写规范和改正提示,项目代码编译后调试程序;调试完成后通过云原生集成开发环境ide工具将集成的代码仓库客户端推送代码到代码仓库。
45.s5,云原生平台应用测试验证步骤:基于rancher api,通过平台应用测试界面,部署应用到测试环境,项目进行单元测试、功能测试、性能压测、漏洞扫描,并自动生成测试报告;配置测试环境的应用部署文件,设置资源如cpu核数、内存大小、应用域名,以及容器的应用和访问端口;构建测试环境,自动从代码仓库拉取代码、从制品库拉取依赖包后进行编
译、打包并上传程序包到测试环境;该应用自动与平台运行服务集成,包含微服务应用、微服务网关、认证服务、动态表单组件、工作流组件、图表组件和用户管理权限系统。
46.s6,云原生平台应用发布上线步骤:基于rancher api,通过平台应用发布界面,部署应用到生产环境,项目进行验收、运营和监控,其配置和运行同步骤s5。
47.步骤s3中,代码模板根据应用场景分为框架类模板、在线类模板和应用类模板,其中:
48.所述框架类模板包含前、后端框架代码、编译运行配置文件和启动配置文件;
49.所述在线类模板分为流程设计类和动态表单类,不需要二次开发,用于在线预览流程和表单的设计效果;
50.所述应用类模板根据功能分为流程表单类模板、应用表单类模板、应用页面类模板、报表类模板和门户类模板;该模板分为前端和后端代码应用类模板;
51.前端代码应用类模板包含页面路由配置代码、页面显示片段代码、页面交互代码和接口调用代码;后端代码应用类模板包含controller接口代码、service业务逻辑代码、dao数据层访问代码、mapper.xml数据层配置、do数据层实体模型代码、dto数据传输层模型代码和vo显示层模型代码,后端应用类模板加入swagger注解,以在程序运行时输出标准的restful接口文档。
52.代码引擎基于元数据解析代码模板并生成对应的应用,代码引擎分为前端编辑器和后端代码解析引擎,其中:
53.所述前端编辑器包括页面可视化编辑器、表单编辑器和流程编辑器;所述页面可视化编辑器包含左侧操作区、中间画布区、右侧属性配置区,通过页面组件的鼠标拖动事件,复制拖动的组件,并计算该组件的当前区域位置,动态渲染拖动的页面组件到中间画布区,然后设置该组件的属性和事件;所述表单编辑器设置表单字段id、字段名、字段类型、读写属性、字段的验证规则、绑定的数据访问层字段和数据来源;所述流程编辑器基于flowable开源框架流程定义模块实现;
54.所述后端代码解析引擎包括页面引擎、表单引擎和流程引擎,所述页面引擎对应前端的页面可视化编辑器,根据保存的元数据和应用对应的代码模板生成解析后的前后端代码;所述表单引擎对应前端的表单编辑器,根据保存的元数据生成对应数据源的表结构、应用的增删改查部分代码;所述流程引擎基于flowable开源框架流程引擎模块实现。
55.步骤s3是本发明的基于云原生的低代码开发交付方法的核心,通过可视化设计表单后生成应用代码和应用元数据,能够进行二次开发应用,解决复杂业务逻辑开发、应用间的集成问题。
56.本发明的基于云原生的低代码开发交付方法,包含了项目创建、应用设计、集成开发、测试验证、项目交付上线运行等软件开发交付过程,结合云原生技术,为开发人员提供一种微服务架构、前后端分离的开发交付方法,能够在低代码开发平台上,经过可视化设计后生成应用代码,进行二次开发调试并发布,且可不依赖平台进行私有化部署,从而解决程序的复杂业务逻辑开发、应用间的集成、灵活部署等技术问题。
57.综上所述,本发明的基于云原生的低代码开发交付方法,借助低代码的思想,并结合云原生技术,便捷、高效,可以快速开发出符合用户业务场景需求的应用系统,提升开发的效率和质量。
58.本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。
技术特征:
1.一种基于云原生的低代码开发交付方法,其特征在于,包括以下步骤:s1,云原生平台搭建步骤:基于rancher框架,通过脚本搭建云原生平台,通过基础架构界面管理主机,配置可用资源的ip地址,然后通过应用界面搭建如下应用支撑服务:基于云原生开源框架搭建云原生运维支撑服务;基于云原生开源框架搭建云原生中间件服务;基于云原生开源框架搭建云原生集成开发环境ide工具,并部署云原生平台涉及的平台应用管理界面、平台应用设计界面、平台应用测试界面和平台应用发布界面的模块服务;s2,云原生平台应用管理步骤:通过平台应用管理界面,管理开发过程中的项目、应用和应用项,配置代码仓库、制品仓库,以及缓存、消息队列、微服务治理等中间件的服务地址和账号,然后创建项目、应用和应用项,其中一个项目对应一个微服务,一个应用对应一个菜单目录,一个应用项对应一个菜单关联的一组页面;s3,云原生平台应用可视化设计步骤:通过平台应用设计界面,在线设计应用的ui界面、api接口、数据模型,生成应用代码;配置应用适配的终端,拖拉拽控件可视化设计表单,引用云原生平台的组件库,通过设置表单字段绑定的数据层字段;通过数据模型,配置数据层表的字段名、字段类型、字段id,并设置多表的关联字段;表单配置完后云原生平台根据配置描述存为应用元数据,通过云原生平台的代码引擎解析元数据和代码模板自动生成应用代码;s4,云原生平台应用集成开发步骤:通过云原生集成开发环境ide工具,在线编辑代码、分析代码、编译代码、调试程序、推送代码,导入项目的应用代码进行二次开发,引入应用集成的依赖包,设置不同环境的启动环境变量,并针对接口代码编辑应用集成和复杂的业务逻辑,通过分析工具自动分析代码的书写规范和改正提示,项目代码编译后调试程序;调试完成后通过云原生集成开发环境ide工具将集成的代码仓库客户端推送代码到代码仓库;s5,云原生平台应用测试验证步骤:基于rancher api,通过平台应用测试界面,部署应用到测试环境,项目进行单元测试、功能测试、性能压测、漏洞扫描,并自动生成测试报告;配置测试环境的应用部署文件,设置资源如cpu核数、内存大小、应用域名,以及容器的应用和访问端口;构建测试环境,自动从代码仓库拉取代码、从制品库拉取依赖包后进行编译、打包并上传程序包到测试环境;该应用测试自动与云原生平台运行服务集成,包含微服务应用、微服务网关、认证服务、动态表单组件、工作流组件、图表组件和用户管理权限系统;s6,云原生平台应用发布上线步骤:基于rancher api,通过平台应用发布界面,部署应用到生产环境,项目进行验收、运营和监控,其配置和运行同步骤s5。2.根据权利要求1所述的一种基于云原生的低代码开发交付方法,其特征在于,步骤s1中,所述云原生运维支撑服务为代码管理、程序构建和容器化管理服务,具体包含代码仓库、制品仓库、代码扫描、devops构建部署、镜像仓库、k8s容器管理、虚拟机管理、运维监控告警、运维安全审计;所述云原生中间件服务为分布式存储、计算、负载均衡服务,具体包含数据库、缓存、消息队列、搜索引擎、spring cloud微服务治理、web负载均衡、web服务、任务调度、日志收集和应用监控告警。3.根据权利要求3所述的一种基于云原生的低代码开发交付方法,其特征在于,所述spring cloud微服务治理包括注册与发现、配置、负载均衡和熔断限流。
4.根据权利要求1所述的一种基于云原生的低代码开发交付方法,其特征在于,步骤s3中,通过设置表单字段绑定的数据层字段中,默认是数据层表字段映射,或者采用自定义数据来源的api接口或常量字符集合。5.根据权利要求1所述的一种基于云原生的低代码开发交付方法,其特征在于,步骤s3中,应用元数据={版本类,终端类,对象类,权限类,规则类},根据文档命名空间xmlns定义应用元数据的结构;所述版本类主要包含应用元数据发布的版本、发布日期,终端类包含pc端、移动端的适配、菜单、页面、列表、查询字段、自定义按钮、表单字段、布局、控件、表单事件和按钮事件;所述对象类主要包含对象的名字、数据源、api、表名、字段名、字段类型、要聚合字段和字段字典列表;所述权限类主要包含功能权限以及数据访问权限;所述规则类主要包含工作流配置、api更新、字段更新和自定义业务规则。6.根据权利要求5所述的一种基于云原生的低代码开发交付方法,其特征在于,所述功能权限包含api和授权策略,所述数据访问权限包含字段的增删改、允许操作的角色和组织数据过滤权限。7.根据权利要求1所述的一种基于云原生的低代码开发交付方法,其特征在于,步骤s3中,所述代码模板根据应用场景分为框架类模板、在线类模板和应用类模板,其中:所述框架类模板包含前、后端框架代码、编译运行配置文件和启动配置文件;所述在线类模板分为流程设计类和动态表单类,不需要二次开发,用于在线预览流程和表单的设计效果;所述应用类模板根据功能分为流程表单类模板、应用表单类模板、应用页面类模板、报表类模板和门户类模板;该模板分为前端和后端代码应用类模板;前端代码应用类模板包含页面路由配置代码、页面显示片段代码、页面交互代码和接口调用代码;后端代码应用类模板包含controller接口代码、service业务逻辑代码、dao数据层访问代码、mapper.xml数据层配置、do数据层实体模型代码、dto数据传输层模型代码和vo显示层模型代码,后端代码应用类模板加入swagger注解,以在程序运行时输出标准的restful接口文档。8.根据权利要求1或7所述的一种基于云原生的低代码开发交付方法,其特征在于,步骤s3中,所述代码引擎基于元数据解析代码模板并生成对应的应用,所述代码引擎分为前端编辑器和后端代码解析引擎,其中:所述前端编辑器包括页面可视化编辑器、表单编辑器和流程编辑器;所述页面可视化编辑器包含左侧操作区、中间画布区、右侧属性配置区,通过页面组件的鼠标拖动事件,复制拖动的组件,并计算该组件的当前区域位置,动态渲染拖动的页面组件到中间画布区,然后设置该组件的属性和事件;所述表单编辑器设置表单字段id、字段名、字段类型、读写属性、字段的验证规则、绑定的数据访问层字段和数据来源;所述流程编辑器基于flowable开源框架流程定义模块实现;所述后端代码解析引擎包括页面引擎、表单引擎和流程引擎,所述页面引擎对应前端的页面可视化编辑器,根据保存的元数据和应用对应的代码模板生成解析后的前后端代码;所述表单引擎对应前端的表单编辑器,根据保存的元数据生成对应数据源的表结构、应
用的增删改查部分代码;所述流程引擎基于flowable开源框架流程引擎模块实现。9.根据权利要求1所述的一种基于云原生的低代码开发交付方法,其特征在于,步骤s3中,通过可视化设计表单后生成应用代码和应用元数据,能够进行二次开发应用,解决复杂业务逻辑开发、应用间的集成问题。
技术总结
本发明公开了一种基于云原生的低代码开发交付方法,包括云原生平台搭建步骤、云原生平台应用管理步骤、云原生平台应用可视化设计步骤、云原生平台应用集成开发步骤、云原生平台应用测试验证步骤和云原生平台应用发布上线步骤。本发明的基于云原生的低代码开发交付方法,借助低代码的思想,并结合云原生技术,为开发人员提供一种微服务架构、前后端分离的开发交付方法,能够在低代码开发平台上,经过可视化设计后生成应用代码,进行二次开发调试并发布,且可不依赖平台进行私有化部署,从而解决程序的复杂业务逻辑开发、应用间的集成、灵活部署等技术问题,便捷、高效,可以快速开发出符合用户业务场景需求的应用系统,提升开发的效率和质量。效率和质量。效率和质量。
技术研发人员:江国宝 贾烨维 陆翊 柴希鹏 何成伟 缪徐超 梁飞
受保护的技术使用者:上海电气集团数字科技有限公司
技术研发日:2022.09.06
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
