CN116319950A - 架构前后端分离的实现方法、架构系统以及请求处理方法 - Google Patents
架构前后端分离的实现方法、架构系统以及请求处理方法 Download PDFInfo
- Publication number
- CN116319950A CN116319950A CN202211105649.0A CN202211105649A CN116319950A CN 116319950 A CN116319950 A CN 116319950A CN 202211105649 A CN202211105649 A CN 202211105649A CN 116319950 A CN116319950 A CN 116319950A
- Authority
- CN
- China
- Prior art keywords
- architecture
- request
- framework
- vue
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000000926 separation method Methods 0.000 title claims abstract description 33
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000012795 verification Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 6
- 239000000178 monomer Substances 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000009466 transformation Effects 0.000 abstract description 5
- 230000009545 invasion Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种架构前后端分离的实现方法、架构系统以及请求处理方法,其实现方法包括:设置中间接入层,嵌入原始架构,原始架构包括单体架构前端和单体架构后端;将单体架构前端转换为VUE架构前端,以及采用中间接入层封装所述单体架构后端;对得到的分离式服务后端进行架构信息配置,以及统一VUE架构前端和分离式服务后端的架构规范;定义前端请求处理逻辑,以使前端请求依次经历VUE架构前端、中间接入层以及单体架构后端进行处理,以实现架构前后端分离。本申请在保证前端页面改造期间不影响正常业务开展的前提下,实现了前后端构架的分离,使得业务系统得以支持多浏览器,代码侵入小、调整量小且集中、方便部署。
Description
技术领域
本申请涉及计算机技术领域,具体涉及架构前后端分离的实现方法、架构系统以及请求处理方法。
背景技术
目前很多机构的架构是单体结构系统,单体结构系统一般由反向代理服务器、数据库和应用组成,所有业务模块都打包在一个应用里面运行。单体结构系统的前端页面为单体架构JSP页面,前端页面仅支持IE浏览器,无法满足业务对系统支持多浏览器的需求。
发明内容
本申请实施例针对上述情况,提出了架构前后端分离的实现方法、架构系统以及请求处理方法,架构前后端分离的实现方法通过是在现有架构的基础上,增加一层封装,专门用于接收前端的json请求,从而使得前端页面可以采用VUE框架进行开发改造,从而达到支持多浏览器的目的。
第一方面,本申请实施例提供了一种架构前后端分离的实现方法,所述方法包括:
设置中间接入层,嵌入原始架构,所述原始架构包括单体架构前端和单体架构后端;
将单体架构前端转换为VUE架构前端,以及采用所述中间接入层封装所述单体架构后端,得到分离式服务后端;
对所述分离式服务后端进行架构信息配置,以及统一所述VUE架构前端和所述分离式服务后端的架构规范;
定义前端请求处理逻辑,以使前端请求依次经历所述VUE架构前端、所述中间接入层以及所述单体架构后端进行处理,以实现架构前后端分离。
第二方面,本申请实施例还提供了一种前后端分离架构,所述前后端分离架构包括:VUE架构前端、以及分离式服务后端;
所述分离式服务后端包括:中间接入层、单体架构后端;
其中,所述中间接入层包括过滤层和接口层;所述过滤层前置于所述单体架构后端;所述接口层封装所述过滤层和所述单体架构后端。
第三方面,本申请实施例还提供了一种请求处理方法,所述方法应用于上述的前后端分离架构;
所述方法包括:
通过所述VUE架构前端,接收前端请求,并将接收到的前端请求发送至所述过滤层;
通过所述过滤层,对所述前端请求进行权限验证,并将验证通过后的前端请求发送到所述接口层;
通过所述接口层,对所述接收到的前端请求进行入参处理,基于Java反射机制确定对应的目标类及目标方法,以及实例化所述目标类,并调用所述单体架构后端的服务,执行确定的目标方法,以生成所述前端请求的反馈信息,并将所述反馈信息返回至所述VUE架构前端。
第四方面,本申请实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一的方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请通过在原始架构的中设置中间接入层,采用中间接入层封装单体架构后端,得到分离式服务后端,并件将单体架构前端转换为VUE架构前端;然后为分离式服务后端进行架构信息配置,并统一所述VUE架构前端和所述分离式服务后端的架构规范,定义前端请求处理逻辑,以使前端请求依次经历VUE架构前端、中间接入层、以及单体架构后端进行处理,从而实现了架构前后端分离,前端页面在VUE架构进行页面开发,能够实现使得系统支持多浏览器。本申请实现了在不改变后台架构整体不变的情况下,在保证前端页面改造期间不影响正常业务开展的前提下,实现了前后端构架的分离,使得业务系统得以支持多浏览器,本申请方案代码侵入小、调整量小且集中、方便部署、极大缩短前端业务改造周期。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出根据本申请的现有技术的一个单体架构系统的结构示意图;
图2示出根据本申请的一个实施例的架构前后端分离的实现方法的流程示意图;
图3示出根据本申请的一个实施例的前后端分离架构系统的结构示意图;
图4示出了根据本申请的另一个实施例的前后端分离架构系统的结构示意图;
图5示出了根据本申请的一个实施例的请求处理方法的流程示意图;
图6为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1示出根据本申请的现有技术的一个单体架构系统的结构示意图,从图1可以看出,单体架构系统100包括单体架构前端110和单体结构后端120,其中单体架构前端110仅支持jsp页面开发,即仅支持IE浏览器,单体结构后端120通常为基于SSH架构的框架。现有技术的单体架构系统具有很多有点,如在业务简单的时候,开发测试简单,部署简单,扩容简单;但是,单体结构系统也有很多缺点,如编译慢、启动慢、代码冲突等,且其前端仅支持IE浏览器。目标国家正在提倡信息技术应用创新产业(简称“信创”),这种单一的浏览器,无法满足信创对系统支持多浏览器的需求。
单体结构后端120从业务上分为很多业务模块,如清单模块、保单模块、批单模块等等;在单体结构后端120为SSH架构的框架的情况下,单体结构后端120从整体逻辑从底端到前端分别包括持久层、DAO层、业务层以及WEB层。
图2示出根据本申请的一个实施例的架构前后端分离的实现方法的流程示意图,从图2可以看出,本申请至少包括步骤S210~步骤S240:
步骤S210:设置中间接入层,嵌入原始架构,所述原始架构包括单体架构前端和单体架构后端。
这里所述的原始架构可以为现有现有的单体架构的任意一种,这里以图1示出的现有技术中的单体架构系统为例,从图1可以看出,单体架构系统100包括单体架构前端110和单体架构后端120,其中单体架构后端120是基于SSH架构的后台服务端。单体架构后端120中包含很多业务模块,以保险行业为例,多个业务模块可以包括:清单模块、保单模块、批单模块等等。
首先,设置中间接入层,该中间接入层的作用是拦截前端过来的请求,进行预处理和转化。
步骤S220:将单体架构前端转换为VUE架构前端,以及采用所述中间接入层封装所述单体架构后端,得到分离式服务后端。
采用中间层对单体架构后端120进行封装,封装过程中,单体架构后端120的整体架构不同改变,以单体架构后端120为例,其整体逻辑从底端到前端分别包括持久层、DAO层、业务层以及WEB层,其整体逻辑无需更改。
中间接入层可以采用但不限于Servlet,Servlet(Server Applet)是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
中间接入层与单体架构后端120中的各层进行数据交互,可以向单体架构后端120的各层交互数据。
同时,可以将单体架构前端110转换为VUE架构前端,具体的,VUE架构前端包括VUE架构前端页面和VUE架构前端应用层,实施操作中,VUE架构前端页面是在VUE架构前端应用层的基础上开发的。
图3示出根据本申请的一个实施例的前后端分离架构系统的结构示意图,从图3可以看出,前后端分离架构系统300包括VUE架构前端310和分离式服务后端320;VUE架构前端310包括VUE架构前端页面311和VUE架构前端应用层312,分离式服务后端320包括中间接入层321、和单体架构后端322。
从图3可以看出,分离式服务后端320是采用中间接入层321对单体架构后端322进行封装得到的,这里所说的“封装”,并不是指实体上采用中间接入层321将单体架构后端322装载起来,而是可以实现中间接入层321与单体架构后端322的数据交互,更加简单理解,从前端过来的请求先经由中间接入层321,然后再到单体架构后端322。
需要说明的是,单体架构后端322与图1示出的单体结构后端120结构一致,如为SSH架构的单体架构服务后端,具体的优选为Struts2架构。
步骤S230:对所述分离式服务后端进行架构信息配置,以及统一所述VUE架构前端和所述分离式服务后端的架构规范。
以下以分离式服务后端320中的单体架构后端322为Struts2架构进行说明,具体的,首先需要对单体架构后端322进行一些相应的配置。
通过分析现有技术中的多个系统,可知前端请求通常包括一般请求、文件上传、文件下载、DWR请求、其他特殊请求等,一般请求包括但不限于Get请求、Post请求等;文件上传包括但不限于清单excel导入等;文件下载包括但不限于错误信息excel下载等;DWR请求包括但不限于选择产品等。
对于这些普通请求,可以直接挪用原本单体架构后端322(单体结构后端120)原本的配置信息,无需额外进行相关配置。
而对于其他特殊请求可以是特殊场景的请求,对此,可以根据请求路径自定义需要跳转的方法,即本申请支持可扩展自定义配置,个性功能点可通过自定义方式进行单独配置处理。
对于这些特殊请求,可增加特殊请求配置文件,所述特殊请求配置文件中包括处理特殊请求的目标类以及目标方法,其中,所述目标方法可对所述特殊请求进行入参处理;配置特殊请求格式,所述特殊请求统一资源定位符=类全路径#方法名。
在本实施例中,将前后端分离架构系统300的关键词设置为newFrame,对于特殊请求配置文件的配置可以简单描述为以下步骤:
第一步:增加配置文件(记为特殊请求配置文件):/config/newFrameSpecialUrl.properties,此配置文件用于前后端分离架构newFrame中对特殊请求(特殊url)的特殊处理,针对此配置文件中的url,会执行配置的目标方法,而不执行将前后端分离架构系统300现有的后续逻辑。
第二步:特殊请求的处理方法要求:目标方法需支持入参;如HttpServletRequestrequest、HttpServletResponse response。
第三步:配置格式:特殊url=类全路径#方法名,如:/policy/queryFwManager=com.sinosoft.prpins.policy.web.PolicyAction#queryFwManager。
另外需要统一VUE架构前端310和分离式服务后端320的架构规范,这些请求路径标识、请求内容类型、以及响应格式,比如对于请求路径标识,可定义url统一标识,然后将url统一标识加入请求路径标识中。
具体的,所述统一架构规范包括:请求路径标识、请求内容类型、以及响应格式;其中,所述请求内容类型包括:Dwr请求标识、以及Dwr请求参数;所述响应格式包括:业务逻辑判断参数、以及业务信息参数。
更加具体的,在本申请的一些实施例中,设置前后端分离架构url统一标识:/newFrame,如http://localhost:9527/agriins/new Frame/common/process Code Input。
设置统一请求内容类型:Content-Type:application/x-www-form-urlencoded;charset=UTF-8。
设置Dwr请求标识:/dwr,如http://localhost:9527/agriins/newFrame/dwr/dwrInvokeData Action/get Class Code。
设置Dwr请求统一参数:dwrParam:如dwrParam:”或dwrParam:{}。
设置统一响应格式,响应格式包括但不限于以下参数。
status(不参与业务逻辑判断):响应代码,0-成功,-1-异常。
statusText(不参与业务逻辑判断):响应文本(异常情况:开发期间可响应回具体异常信息,方便分析;生产后统一响应为“系统异常”,防止敏感信息泄露;正常情况:“成功”)。
data:业务信息。
data.dwrData:dwr请求类型统一响应信息节点。
data.renderText:原renderText形式返回的信息。
data.invokeData:原Action方法直接返回的信息。
步骤S240:定义前端请求处理逻辑,以使前端请求依次经历所述VUE架构前端、所述中间接入层以及所述单体架构后端进行处理,以实现架构前后端分离。
最后定义前端请求的请求逻辑,使得前端请求从前端不直接发送到单体架构后端,而是经过中间接入层321后,在到达单体架构后端322进行处理和反馈。通过中间接入层321的设置后,可将单体架构系统的前端和后端进行分离,分离后前端采用VUE架构前端,从而实现了业务系统支持多种浏览器。
由此可见,在单体架构系统代码不变的情况下,通过新增前后端分离架构前端页面中间接入层,用来处理前端页面发送的json请求,经过改造,原单体架构系统不仅可以支持老系统继续使用,还可以支持前后端分离架构前端页面使用。且本方法为插拔式方案,对老系统无影响,前后端分离架构改造小,新老并行完全没有影响,并且支持后台新需求持续开发,新老系统一键切换。
从图2示出的方法可以看出,本申请通过在原始架构的中设置中间接入层,采用中间接入层封装单体架构后端,得到分离式服务后端,并件将单体架构前端转换为VUE架构前端;然后为分离式服务后端进行架构信息配置,并统一所述VUE架构前端和所述分离式服务后端的架构规范,定义前端请求处理逻辑,以使前端请求依次经历VUE架构前端、中间接入层、以及单体架构后端进行处理,从而实现了架构前后端分离,前端页面在VUE架构进行页面开发,能够实现使得系统支持多浏览器。本申请实现了在不改变后台架构整体不变的情况下,在保证前端页面改造期间不影响正常业务开展的前提下,实现了前后端构架的分离,使得业务系统得以支持多浏览器,本申请方案代码侵入小、调整量小且集中、方便部署、极大缩短前端业务改造周期。
在本申请的一些实施例中,在上述方法中,所述采用所述中间接入层封装所述单体架构后端,得到分离式服务后端,包括:在所述中间接入层中设置过滤层和接口层;将所述过滤层前置于所述单体架构后端的各逻辑层;利用所述接口层封装所述过滤层和所述单体架构后端。
在本申请的一些实施例中,在中间接入层中具体设置有过滤层和接口层,过滤层的主要作用是用于权限验证,接口层的作用是用于对前端请求的具体处理。图4示出了根据本申请的另一个实施例的前后端分离架构系统的结构示意图,从图4可以看出,前后端分离架构系统300包括VUE架构前端310和分离式服务后端320;VUE架构前端310包括VUE架构前端页面311和VUE架构前端应用层312,分离式服务后端320包括中间接入层321、和单体架构后端322;所述中间接入层321包括过滤层321-1和接口层321-2。
其中,过滤层321-1可前置于单体架构后端322的各逻辑层,利用接口层321-2封装过滤层321-1和单体架构后端322的各逻辑层。这里所说的“封装”,并不是指实体上采用接口层321-2将过滤层321-1和单体架构后端322的各逻辑层装载起来,而是可以实现接口层321-2与过滤层321-1和单体架构后端322的数据交互。
在本申请的一些实施例中,在上述方法中,所述定义前端请求处理逻辑,包括:定义所述过滤层用于对前端请求进行权限验证,并将验证通过的前端请求发送至所述接口层;定义所述接口层用于对所述接收到的前端请求进行入参处理,基于Java反射机制确定对应的目标类及目标方法,以及实例化所述目标类,并调用所述单体架构后端的服务,执行确定的目标方法,以生成所述前端请求的反馈信息,并将所述反馈信息返回至所述VUE架构前端。
在图4示出的前后端分离架构系统的基础上,前端请求的具体逻辑为:接收前端请求,然后对其进行权限验证,对于验证通过的前端请求进行整理,并组织入参;然后根据前端请求的统一资源定位符(Uniform Resource Locator,URL),基于Java反射机制获取该前端请求的目标类(Action)和目标方法;然后对目标类进行实例化,然后初始化目标类的属性,最后执行目标方法,整理并整理返参生成反馈信息,然后删除临时文件(如有),最后将反馈信息返回VUE架构前端。
在本申请的一些实施例中,还可以将本申请的架构前后端分离的实现方法集成于一个Jar包,记为newframe.jar包,可供前后端不分离的单体架构系统调用。
在调用时的步骤可简要描述如下:
将newframe.jar引入项目中:与其它jar包引入方式可参考现有技术。
其次,按需创建配置文件:/config/newFrameSpecialUrl.properties,若系统无特殊情况,则无需创建此文件。
第三,调整web.xml配置。
第四,调整Struts2Action.java。
第五,按需将Action配置成bean,servlet核心逻辑支持读取spring中的bean进行实例化Action(记为方法1),或通过Action的构造方法进行实例化(记为方法2)。其中,方法1,影响较小,不需调整Action类内代码;方法2,需要改造Action,提供支持request、response入参的构造方法。
第六,其他异常说明:
1,url为空,请确认:检查url:/newFrame后面是否包含路径。
2,特殊请求配置错误,请检查配置文件【/config/newFrameSpecialUrl.properties】中的【xxx】是否配置准确。
3,特殊请求初始化异常,未找到目标方法,请检查配置文件【/config/newFrameSpecialUrl.properties】中的【xxx】目标方法是否存在,且包含request、reponse入参。
4,请确认url格式是否准确,检查url:/newFrame后面格式,目前仅支持普通请求2层如/xxx/yyy或dwr请求3层如/dwr/xxx/yyy,若有其它情况请按特殊请求处理。
5,请确认dwr请求,是否包含dwrParam参数。
图5示出了根据本申请的一个实施例的请求处理方法的流程示意图,该请求处理方法通过图4示出的前后端分离架构系统300实现,从图5可以看出,本申请的请求处理方法包括:
步骤S510:通过所述VUE架构前端,接收前端请求,并将接收到的前端请求发送至所述过滤层。
步骤S520:通过所述过滤层,对所述前端请求进行权限验证,并将验证通过后的前端请求发送到所述接口层。
步骤S530:通过所述接口层,对所述接收到的前端请求进行入参处理,基于Java反射机制确定对应的目标类及目标方法,以及实例化所述目标类,并调用所述单体架构后端的服务,执行确定的目标方法,以生成所述前端请求的反馈信息,并将所述反馈信息返回至所述VUE架构前端。
请求处理方法的逻辑与前述的定义的前后端分离架构系统300的处理逻辑一致,这里不再赘述。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上前述的架构前后端分离的实现方法或请求处理方法。处理器,执行存储器所存放的程序,并具体用于执行前述方法。
上述的架构前后端分离的实现方法以及请求处理方法的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行前述的架构前后端分离的实现方法以及请求处理方法的方法,并实现架构前后端分离的实现方法以及请求处理方法的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述的架构前后端分离的实现方法以及请求处理方法方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的同一要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种架构前后端分离的实现方法,其特征在于,所述方法包括:
设置中间接入层,嵌入原始架构,所述原始架构包括单体架构前端和单体架构后端;
将单体架构前端转换为VUE架构前端,以及采用所述中间接入层封装所述单体架构后端,得到分离式服务后端;
对所述分离式服务后端进行架构信息配置,以及统一所述VUE架构前端和所述分离式服务后端的架构规范;
定义前端请求处理逻辑,以使前端请求依次经历所述VUE架构前端、所述中间接入层以及所述单体架构后端进行处理,以实现架构前后端分离。
2.根据权利要求1所述的方法,其特征在于,所述采用所述中间接入层封装所述单体架构后端,得到分离式服务后端,包括:
在所述中间接入层中设置过滤层和接口层;
将所述过滤层前置于所述单体架构后端的各逻辑层;
利用所述接口层封装所述过滤层和所述单体架构后端。
3.根据权利要求2所述的方法,其特征在于,所述定义前端请求处理逻辑,包括:
定义所述过滤层用于对前端请求进行权限验证,并将验证通过的前端请求发送至所述接口层;
定义所述接口层用于对所述接收到的前端请求进行入参处理,基于Java反射机制确定对应的目标类及目标方法,以及实例化所述目标类,并调用所述单体架构后端的服务,执行确定的目标方法,以生成所述前端请求的反馈信息,并将所述反馈信息返回至所述VUE架构前端。
4.根据权利要求1所述的方法,其特征在于,所述对所述分离式服务后端进行架构信息配置,包括:
增加特殊请求配置文件,所述特殊请求配置文件中包括处理特殊请求的目标类以及目标方法,其中,所述目标方法可对所述特殊请求进行入参处理;
配置特殊请求格式,所述特殊请求统一资源定位符=类全路径#方法名。
5.根据权利要求1所述的方法,其特征在于,所述统一所述VUE架构前端和所述分离式服务后端的架构规范包括:
设置所述所述VUE架构前端和所述分离式服务后端为统一架构规范,其中,所述统一架构规范包括:请求路径标识、请求内容类型、以及响应格式;
其中,所述请求内容类型包括:Dwr请求标识、以及Dwr请求参数;
所述响应格式包括:业务逻辑判断参数、以及业务信息参数。
6.根据权利要求1~5中任一项所述的方法,其特征在于,所述方法还包括:
将权利要求1~5中任一项所述的方法集成Jar包,以供调用。
7.一种前后端分离架构系统,其特征在于,所述前后端分离架构系统包括:VUE架构前端、以及分离式服务后端;
所述分离式服务后端包括:中间接入层、单体架构后端;
其中,所述中间接入层包括过滤层和接口层;所述过滤层前置于所述单体架构后端;所述接口层封装所述过滤层和所述单体架构后端。
8.一种请求处理方法,其特征在于,所述方法应用于所述权利要求7所述的前后端分离架构系统;
所述方法包括:
通过所述VUE架构前端,接收前端请求,并将接收到的前端请求发送至所述过滤层;
通过所述过滤层,对所述前端请求进行权限验证,并将验证通过后的前端请求发送到所述接口层;
通过所述接口层,对所述接收到的前端请求进行入参处理,基于Java反射机制确定对应的目标类及目标方法,以及实例化所述目标类,并调用所述单体架构后端的服务,执行确定的目标方法,以生成所述前端请求的反馈信息,并将所述反馈信息返回至所述VUE架构前端。
9.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~6任一项或8所述方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~6任一项或8所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211105649.0A CN116319950A (zh) | 2022-09-07 | 2022-09-07 | 架构前后端分离的实现方法、架构系统以及请求处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211105649.0A CN116319950A (zh) | 2022-09-07 | 2022-09-07 | 架构前后端分离的实现方法、架构系统以及请求处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319950A true CN116319950A (zh) | 2023-06-23 |
Family
ID=86785658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211105649.0A Pending CN116319950A (zh) | 2022-09-07 | 2022-09-07 | 架构前后端分离的实现方法、架构系统以及请求处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319950A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427181A (zh) * | 2019-08-13 | 2019-11-08 | 山东浪潮商用系统有限公司 | 一种Web系统前后端分离方法 |
CN112363704A (zh) * | 2021-01-12 | 2021-02-12 | 太极计算机股份有限公司 | 一种基于微服务架构的服务系统 |
CN112463324A (zh) * | 2020-11-25 | 2021-03-09 | 银盛支付服务股份有限公司 | 一种实现前端和后端分离的方法、计算机设备及存储介质 |
CN113918129A (zh) * | 2021-10-12 | 2022-01-11 | 城云科技(中国)有限公司 | 前后端分离的接口请求处理方法和装置 |
CN114168246A (zh) * | 2021-12-01 | 2022-03-11 | 北京联创新天科技有限公司 | 前后端分离架构下的多语言切换方法、组件、介质及设备 |
-
2022
- 2022-09-07 CN CN202211105649.0A patent/CN116319950A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427181A (zh) * | 2019-08-13 | 2019-11-08 | 山东浪潮商用系统有限公司 | 一种Web系统前后端分离方法 |
CN112463324A (zh) * | 2020-11-25 | 2021-03-09 | 银盛支付服务股份有限公司 | 一种实现前端和后端分离的方法、计算机设备及存储介质 |
CN112363704A (zh) * | 2021-01-12 | 2021-02-12 | 太极计算机股份有限公司 | 一种基于微服务架构的服务系统 |
CN113918129A (zh) * | 2021-10-12 | 2022-01-11 | 城云科技(中国)有限公司 | 前后端分离的接口请求处理方法和装置 |
CN114168246A (zh) * | 2021-12-01 | 2022-03-11 | 北京联创新天科技有限公司 | 前后端分离架构下的多语言切换方法、组件、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002362B (zh) | 一种服务方法、装置、系统以及电子设备 | |
CN110704037B (zh) | 一种规则引擎实现方法及装置 | |
US20030229665A1 (en) | Systems, methods and computer programs for implementing and accessing web services | |
CN113612686A (zh) | 流量调度方法、装置及电子设备 | |
CN106294113B (zh) | 一种基于可编程式测试服务的创建方法及装置 | |
CN111858727B (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
CN108804399B (zh) | 表单的校验方法及装置 | |
EP3974960B1 (en) | Method and system for automated testing of web service apis | |
CN112346818A (zh) | 一种容器应用部署方法、装置、电子设备和存储介质 | |
CN111859205A (zh) | 一种用于批量处理任务的解析方法及设备 | |
CN111654542B (zh) | 代理服务器、执行服务器、接收设备以及任务执行方法 | |
CN110968388A (zh) | 页面处理方法和系统 | |
CN113381866A (zh) | 基于网关的服务调用方法、装置、设备及存储介质 | |
CN112738181B (zh) | 集群外部ip接入的方法、装置及服务器 | |
CN111597020B (zh) | 一种应用程序编程接口api调试方法以及调试终端 | |
CN111198677A (zh) | 一种设备对象生成方法、装置及设备 | |
CN116319950A (zh) | 架构前后端分离的实现方法、架构系统以及请求处理方法 | |
CN109005163B (zh) | 一种http动态请求服务调用方法 | |
CN114285859B (zh) | 中间层区块链服务的数据处理方法、装置、设备及存储介质 | |
CN108563514A (zh) | 访问应用配置服务的方法、应用和电子设备 | |
CN111258873A (zh) | 测试方法及装置 | |
CN115022387B (zh) | 跨域预检请求的处理方法、装置、设备及介质 | |
CN117667304A (zh) | 网关系统扩展方法、装置及存储介质 | |
CN118433068A (zh) | 项目版本检测方法、装置、电子设备和存储介质 | |
CN116822919A (zh) | 业务处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |