本发明涉及业务系统集成,尤其涉及一种基于模块联邦的业务系统融合共享方法及装置。
背景技术:
1、在风力发电领域,风力发电企业在风电场运维时,目前存在多个数字化业务系统,分别负责数据监视、分析或者工单填报等办公业务,各个系统独立开发独立部署分别维护,功能单一,且风格多样。目前在进行数字化改造时,具有对多个业务系统进行系统集成、页面融合、数据共享的需求。
2、传统的解决方式一是重新开发一套大而全的系统,完全重复代码开发,费时费力,且项目过大不易于维护;方式二是在各个独立系统重抽取复用的组件打包成npm(nodepackage manager,node包管理器)包,各项目之间引用同一npm实现代码复用,这种方式的缺点是项目代码改动大,需要拆分组件,而且会造成版本升级困难,每次改动都需要组件重新npm打包发布,然后各个调用项目再更新依赖包重新打包发布,升级工作繁重且整体更新发布,容易出错;而且npm包共享也只是静态代码共享,各个应用分别打包,无法达到功能组件的运行时共享,相当于不同调用项目运行的是组件的不同的实例;方式三是iframe(嵌入式框架)集成,iframe集成其他系统的页面加载很慢,嵌入的页面因为沙箱机制无法随宿主系统自动更新样式,且无法满足嵌入页面内组件级颗粒度的需求;方式四是用qiankun等框架,这种微前端框架的应用场景区分主子应用,主应用必须以路由为单位嵌入子应用的整个页面,无法达到更低颗粒如页面内组件级的嵌入需求,而且只能主应用集成子应用,无法子应用集成主应用,不能相互嵌入。
技术实现思路
1、本发明提供一种基于模块联邦的业务系统融合共享方法及装置,用以解决现有技术的缺陷。
2、本发明第一方面提供一种基于模块联邦的业务系统融合共享方法,包括:
3、s1:组件提供方进行模块联邦设置,获得暴露的待调用信息;
4、s2:组件提供方根据所述待调用信息进行vite项目构建,获得模块联邦的待运行文件;
5、s3:组件使用方配置使用需求,并通过所述待运行文件根据所述使用需求进行远端组件中的共享模块加载;
6、s4:启动加载成功的组件提供方对应的远端应用项目及组件使用方对应的当前应用项目,将所述当前应用项目根据主题制定为全局css并作为所述远端应用项目的内联样式进行展示,以完成业务系统融合共享。
7、根据本发明提供的一种基于模块联邦的业务系统融合方法,步骤s1中的所述待调用信息包括:当前前端项目名称、远端调用入口文件名称及共享模块列表。
8、根据本发明提供的一种基于模块联邦的业务系统融合方法,所述共享模块列表中包括多个共享模块,所述共享模块为独立路由界面、逻辑模块或业务组件。
9、根据本发明提供的一种基于模块联邦的业务系统融合方法,步骤s1中,通过对所述组件提供方的vite.config.ts配置文件中加入模块联邦配置,实现对组件提供方进行模块联邦设置。
10、根据本发明提供的一种基于模块联邦的业务系统融合方法,步骤s2中的所述待运行文件包括:
11、模块联邦调用的入口文件,所述入口文件包括所述共享模块列表中的每个共享模块的模块名称、所述共享模块列表中的每个共享模块的远端执行文件地址;
12、每个共享模块的运行文件,所述运行文件至少包括每个共享模块对应的第三方依赖模块的处理逻辑。
13、根据本发明提供的一种基于模块联邦的业务系统融合方法,步骤s3中的所述使用需求包括需要使用的远端组件列表及需要使用的远端组件地址。
14、根据本发明提供的一种基于模块联邦的业务系统融合方法,步骤s3中,所述共享模块的加载方式包括同步加载及异步加载。
15、本发明第二方面提供一种基于模块联邦的业务系统融合装置,包括:
16、暴露模块:用于对组件提供方进行模块联邦设置,获得暴露的待调用信息;
17、构建模块:用于对组件提供方根据所述待调用信息进行vite项目构建,获得模块联邦的待运行文件;
18、加载模块:用于通过所述待运行文件根据组件使用方的使用需求进行远端组件中的共享模块加载;
19、展示模块:启动加载成功的组件提供方对应的远端应用项目及组件使用方对应的当前应用项目,将所述当前应用项目根据主题制定为全局css并作为所述远端应用项目的内联样式进行展示,以完成业务系统融合共享。
20、本发明第三方面提供一种基于模块联邦的业务系统融合设备,包括:
21、存储器和至少一个处理器,所述存储器中存储有指令;
22、至少一个所述处理器调用所述存储器中的所述指令,以使得一种基于模块联邦的业务系统融合设备执行如以上任一项所述的一种基于模块联邦的业务系统融合方法。
23、本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如以上任一项所述的一种基于模块联邦的业务系统融合方法。
24、本发明提供的一种基于模块联邦的业务系统融合方法、装置、设备及存储介质,实现了风电场数字化系统融合共享及展示需求,本发明基于微前端和模块联邦的技术理论,可各个独立的业务系统独立开发部署,不限各系统开发的技术栈,只需少量的非侵入式的接口改造,便可使得独立发布部署的各个系统间可以相互引用彼此暴漏的组件级或模块级前端模块,按照系统主题突出重点业务弱化辅助业务模块,达到软件开发部署时各项目独立可维护,系统展示时可多项目集成,相互引用,使展示系统跨项目自由组合业务组件,自主控制页面路由和布局,能够大场景下多维度的展示风电场全景数据,系统融合具有更高的灵活度。
25、本发明利用模块联邦可打破软件项目壁垒,实现跨项目的页面内组件级代码共享;不限各个项目的开发技术栈,便于不同项目不同开发团队同步开发、独立部署和维护;模块联邦的技术改造改动较少且非侵入式,无需拆分项目代码,不与项目独立部署访问冲突,可实现各项目同时独立访问且暴漏页面组件给远端调用,达到项目间代码共享的效果;模块联邦可以满足远端组件的本地化需求,按照本地系统的全局样式展示,使得本地和远端组件统一风格;共享模块代码改动发布后,远端调用者可自动局部更新,无需升级整个应用,便于系统升级维护。
1.一种基于模块联邦的业务系统融合共享方法,其特征在于,包括:
2.根据权利要求1所述的一种基于模块联邦的业务系统融合方法,其特征在于,步骤s1中的所述待调用信息包括:当前前端项目名称、远端调用入口文件名称及共享模块列表。
3.根据权利要求2所述的一种基于模块联邦的业务系统融合方法,其特征在于,所述共享模块列表中包括多个共享模块,所述共享模块为独立路由界面、逻辑模块或业务组件。
4.根据权利要求1所述的一种基于模块联邦的业务系统融合方法,其特征在于,步骤s1中,通过对所述组件提供方的vite.config.ts配置文件中加入模块联邦配置,实现对组件提供方进行模块联邦设置。
5.根据权利要求2所述的一种基于模块联邦的业务系统融合方法,其特征在于,步骤s2中的所述待运行文件包括:
6.根据权利要求1所述的一种基于模块联邦的业务系统融合方法,其特征在于,步骤s3中的所述使用需求包括需要使用的远端组件列表及需要使用的远端组件地址。
7.根据权利要求1所述的一种基于模块联邦的业务系统融合方法,其特征在于,步骤s3中,所述共享模块的加载方式包括同步加载及异步加载。
8.一种基于模块联邦的业务系统融合装置,其特征在于,包括:
9.一种基于模块联邦的业务系统融合设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如权利要求1-7中任一项所述的一种基于模块联邦的业务系统融合方法。
