[发明专利]一种单体和微服务一体化软件开发方法在审
| 申请号: | 202211509215.7 | 申请日: | 2022-11-29 |
| 公开(公告)号: | CN115729526A | 公开(公告)日: | 2023-03-03 |
| 发明(设计)人: | 徐锋;范国超;薛铸鑫;张彤;孙鑫磊;黄琰;张月皎;贺婧媛;汪伟峰;张福雷 | 申请(专利权)人: | 北京京航计算通讯研究所 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/36;G06F8/60;G06F8/73 |
| 代理公司: | 北京天达知识产权代理事务所有限公司 11386 | 代理人: | 刘镜 |
| 地址: | 100074 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 单体 微服 一体化 软件 开发 方法 | ||
本发明涉及一种单体和微服务一体化软件开发方法,属于计算机软件技术领域,解决了现有无法自动识别单体和微服务部署模式且无法共用一套前端界面的问题。包括构建通用工程,在其中构建自定义注解类和切面类,以声明自定义注解类为切面类的切入点,通过切面类的前置通知方法及其输入参数,获取声明了自定义注解类的变量对应的实例;构建依赖于通用工程的业务工程,包括模型子工程、API子工程、服务子工程、单体启动子工程和微服务启动子工程;在服务子工程的控制类中定义API子工程中服务接口类的变量,并在变量上声明自定义注解类;对业务工程中单体启动子工程或微服务启动子工程打包,生成当前业务工程的部署包。实现了单体微服务模式的自动识别。
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种单体和微服务一体化软件开发方法。
背景技术
随着微服务技术的普及和应用,为保障大型应用系统的稳定性和可维护性,出现了区别于单体的微服务架构及其部署模式。
传统J2EE技术体系下基于Spring框架开发出的软件,只能是单体部署或微服务部署,两种部署方式不能出现在同一项目上,要求软件同时适应两种部署方式时,导致同一个软件需要维护单体版与微服务版两个版本的代码,提高了软件开发的时间成本、人力成本和出错率。传统基于项目的软件开发,在设计之初已决定好部署方式,不存在该问题,但作为平台型软件,需要一种架构方法使平台软件同时具备单体部署与微服务部署、便于切换、便于扩展的特点,在切换部署方式时又不需要修改任何代码及配置,降低软件维护的难度及成本。
现有也存在同时支持单体和微服务的技术方案,有的在技术方案中共用了部分业务逻辑,但是还是需要根据目标业务的需求,分别采用不同的协议发布服务来支持单体架构或微服务架构;有的需要根据实际要部署的环境设置不同的配置项,增加判断服务模式的处理逻辑,才能控制采用不同模式运行程序。这些方案都无法自动识别出单体和微服务模式并获取业务功能。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种单体和微服务一体化软件开发方法,用以解决现有无法自动识别单体和微服务部署模式且无法共用一套前端界面的问题。
本发明实施例提供了一种单体和微服务一体化软件开发方法,包括以下步骤:
构建通用工程,在其中构建自定义注解类和切面类,以声明自定义注解类为切面类的切入点,通过切面类的前置通知方法及其输入参数,在切入点执行之前获取声明了自定义注解类的变量对应的实例;
构建依赖于通用工程的业务工程,包括:模型子工程、API子工程、服务子工程、单体启动子工程和微服务启动子工程;在服务子工程的控制类中定义API子工程中服务接口类的变量,并在变量上声明自定义注解类;
根据部署模式,对业务工程中单体启动子工程或微服务启动子工程打包,生成当前业务工程的部署包。
基于上述方法的进一步改进,构建自定义注解类,包括:声明自定义注解类的名称,设置自定义注解类的作用域为属性字段,自定义注解类的生命周期为运行时。
基于上述方法的进一步改进,切面类作为自定义注解类的切面实现,使用@Aspect与@Component两个标准注解进行定义,用于表示当前类为切面实现,并且在系统初始化时将当前类加载为Bean组件实例。
基于上述方法的进一步改进,通过切面类的前置通知方法及其输入参数,在切入点执行之前获取声明了自定义注解类的变量对应的实例,包括:
根据输入参数中的连接点对象,获取声明了自定义注解类的变量的名称,作为待识别名称;
将待识别名称作为Bean组件名称,从当前启动的业务工程中获取对应的Bean组件实例为实例对象,如果实例对象为空,则将待识别名称作为微服务名称,通过远程微服务的调用方式获取对应的微服务实例为实例对象,如果实例对象仍为空,则返回异常信息,否则,通过依赖注入的方法,将实例对象注入至待识别名称中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京航计算通讯研究所,未经北京京航计算通讯研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211509215.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:拼接显示器及其制造方法
- 下一篇:一种食品烤盘用脱膜油的制备方法





