一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于Web的在多级多域环境中访问应用的系统及方法与流程

2023-01-17 13:13:34 来源:中国专利 TAG:

基于web的在多级多域环境中访问应用的系统及方法
技术领域
1.本发明涉及软件研发技术领域,具体涉及一种基于web的在多级多域环境中访问应用的系统及方法。


背景技术:

2.多级多域环境是指多层级跨区域的网络访问环境。多级多域环境需要在不同区域的网络边界放置安全防护设备用于隔离保护域内环境的安全性,避免遭受安全攻击,而传统的架构方式例如单纯地采用传统c/s架构或传统b/s架构难以在多级多域环境下得到应用,以下对传统c/s架构、传统b/s架构进行说明并分析。
3.web(world wide web)即全球广域网,也称为万维网,它是一种基于超文本和http的、全球性的、动态交互的、跨平台的分布式图形信息系统,是建立在internet上的一种网络服务,为浏览者在internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将internet上的信息节点组织成一个互为关联的网状结构。
4.c/s架构,即客户机和服务器结构,它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到client(客户机,也可以说是终端)和server端(服务器)来实现,降低系统的通讯开销。c/s架构的应用程序分为两部分,服务器部分和客户机部分。服务器负责数据的管理,客户机负责完成与用户的交互任务。
5.其中,客户机通过局域网网络与服务器相连,客户机接受用户的交互处理,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器。但这种方式在多级多域环境中的缺点在于传统的c/s软件缺少快速开发框架,开发效率不高,界面开发不够灵活。即传统的c/s软件客户端与服务端是分别进行设计开发的,在客户端需要开发面向用户操作的界面ui、用于访问调度服务端的业务逻辑组件,传统的客户端软件界面ui交互效果实现复杂,工作量大,目前缺少一种快速开发框架能够支持客户端的快速开发。
6.b/s架构,即“浏览器/服务器”架构,是一种网络架构模式,可以将系统功能实现的核心部分集中到服务器中,通过浏览器即可运行而不需要安装其他客户端,简化了系统的开发、维护以及使用。
7.b/s架构即浏览器和服务器架构,每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。三个层次的划分是从逻辑上分的,在实际应用中多根据实际物理网络进行不同的物理划分。
8.(1)浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端发出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。
9.(2)服务器端:提供数据服务,操作数据,然后把结果返回中间层,结果显示在系统界面上。
10.(3)中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。
11.但这种方式在多级多域环境中的缺点在于与操作系统本地资源交互困难。即b/s架构软件由于浏览器安全策略机制,html界面是不允许直接访问本地文件的,对客户机资源访问也受限制,浏览器对内存中二进制数据的操作也不具有优势,当软件具有这方面的需求时,多数的方案都是通过浏览器插件解决,浏览器的插件开发又增加了人员的学习成本和工作量,同样用户使用也是不方便的。
12.此外,标准的b/s架构软件,http协议公开,容易遭受攻击。标准的b/s架构软件使用的是http协议,http协议是互联网上应用最为广泛的一种网络协议,http是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(tcp),用于从www服务器传输超文本到本地浏览器的传输协议。
13.一次http操作称为一个事务,其工作过程可分为五步:a)首先客户机与服务器需要建立连接。只要单击某个超级链接,http的工作开始。
14.b)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(url)、协议版本号,后边是mime信息包括请求修饰符、客户机信息和可能的内容。
15.c)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是mime信息包括服务器信息、实体信息和可能的内容。
16.d)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
17.e)如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由http自己完成的,用户只要等待信息显示就可以了。但http 协议格式是公开的,正文内容都是以明文的方式进行传输,不做任何加密,并且是无状态协议,服务器并不知道http请求来自于哪里,无法进行身份有效性验证,正文数据极易被窃取和篡改,无法应用于多级多域环境。
18.此外,标准的b/s架构软件,https等安全机制,与浏览器高度绑定,难以适配国产自主加密方案。
19.http是采用明文形式进行数据传输,极易被不法份子窃取和篡改。https是安全超文本传输协议,是一个安全通信通道,它基于http开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层(ssl)进行信息交换,简单来说它是http的安全版,是使用tls/ssl加密的http协议。https请求过程如图1所示。https交互方式为:a) 客户端向服务端发起https请求,连接到服务端的443端口;b) 服务端将非对称加密的公钥传给客户端,与证书的形式传给客户端;c) 服务端接收到该公钥进行验证,就是验证2中证书,如果有问题,则https请求无法继续;如果没有问题,则上述公钥是合格的。(第一次http请求)客户端这个时候随机生成一个私钥,成为client key,客户端私钥,用于对称加密数据的;使用前面的公钥对client key进行非对称加密;d) 进行二次https请求,将加密之后的client key传输给服务端;
e) 服务端使用私钥进行解密,得到client key,使用client key对数据进行对称加密;f) 将对称加密的数据发送给客户端,客户端使用非对称解密,得到服务端发来的数据,完成二次https请求。
20.c/s架构与b/s架构的对比情况如表1所示。
21.表1软件架构的对比
序号对比项c/s架构b/s架构1. 硬件网络环境建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务建立在广域网之上的,不必是专门的网络硬件环境2. 软件安装客户端需要安装专用应用软件客户机只需安装浏览器,不需要安装专用应用软件3. 系统维护客户端、服务端关系紧密,必须整体升级,用户必须下载客户端升级包完成升级只需要服务端自身升级即可,用户端无感4. 信息交互通过客户端程序可处理大量数据,并访问客户端操作系统的资源所有交互通过浏览器完成,交互能力受限制,对用户侧操作系统的资源访问交互困难5. 安全要求一般面向相对固定的用户群,对信息安全的控制能力很强;安全等级高一般建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户;安全等级低6. 性能业务处理消耗由客户端、服务端分担,客户端与服务端交互数据较小,响应较快业务处理完全由服务端承担,浏览器与服务端的交互信息较多,响应速度较cs慢


技术实现要素:

22.有鉴于此,本发明提供了一种基于web的在多级多域环境中访问应用的系统及方法,能够解决多级多域环境下应用系统软件研发、运行所面临的以下技术问题:(1)传统的c/s软件缺少快速开发框架,开发效率不高,界面开发不够灵活;(2)传统b/s架构软件难以跨域进行访问,且与操作系统本地资源交互困难;(3)传统b/s架构应用软件使用http协议作为通信协议,该协议格式公开,容易遭受攻击;(4)https作为http协议的增强版,其安全机制,与浏览器高度绑定,难以适配国产自主加密方案。
23.本发明提供一种基于web的在多级多域环境中访问应用的系统。
24.所述系统包括客户机软件模块、服务器软件模块、rpc传输引擎,其中:所述客户机软件模块面向业务用户提供web用户界面,使所述业务用户访问服务器软件模块进行业务功能操作;所述客户机软件模块将不同的web用户界面作为独立的组件分别进行管理;所述服务器软件模块用于业务功能的实现,支持一个或多个客户机软件模块的访问,所述服务器软件模块采用分层实现;所述rpc传输引擎用于支撑多级多域环境下所述客户机软件模块与所述服务器软件模块通过边界安全防护设备进行域之间业务数据的交换,rpc是指远程过程调用;所述多级多域环境是指多层级跨区域的网络访问环境。
25.优选地,所述客户机软件模块包括服务控制子模块、界面管控子模块以及界面展示子模块;所述服务控制子模块与服务器软件模块进行数据交换,并对所述界面展示子模块进行配置管理;所述界面管控子模块对web用户界面资源进行管理控制,负责对web用户
界面进行扫描、整合,以及对所述界面展示子模块中的web用户界面进行插件化管理,根据配置对web用户界面进行动态的裁剪和拓展;所述界面展示子模块负责为业务用户提供能够进行功能操作的web用户界面,每一个web用户界面包括交互界面及操作界面。
26.优选地,所述服务器软件模块包括控制层模块、业务层模块、持久层模块以及数据库;所述控制层模块用于对所述业务层模块进行管理,从所述客户机软件模块接收业务访问请求,向业务层模块分派所述访问请求,将处理结果反馈给客户机软件模块;所述业务层模块用于获取所述数据库的数据,基于所述数据库的数据处理具体的业务,并通过持久层模块对业务数据进行存储查询;所述持久层模块用于与数据库进行交互。
27.优选地,所述rpc传输引擎包括格式封装解析组件、数据安全保护组件、数据安全传输服务模块;所述格式封装解析组件用于对所述客户机软件模块发起的业务访问请求进行协议解析、以及格式封装处理,将通过web用户界面请求的数据格式转换为自定义协议格式;所述数据安全保护组件用于通过安全保护设备提供的数据保护接口实现对访问、请求的数据的保护处理;所述数据安全传输服务模块用于与边界安全防护设备进行数据交互,与所述服务器软件模块交互业务数据。
28.优选地,所述服务控制子模块,包括配置管理组件、资源访问组件、运行监控组件、客户数据处理组件;所述配置管理组件用于对所述客户机软件模块的运行参数进行配置管理;所述资源访问组件用于对所述客户机软件模块的本地原生资源和定制载体资源进行访问;所述运行监控组件用于对所述客户机软件模块的运行状态进行监控管理;所述客户数据处理组件基于所述rpc传输引擎,实现与所述服务器软件模块的业务数据的交换处理;所述界面管控子模块包括界面调度控制组件、web引擎数据交互组件、界面解析组件、资源缓存组件、路由管理组件,所述界面调度控制组件用于对所述web用户界面进行访问、解析、调度、以及进行控制管理;所述web引擎数据交互组件用于实现所述web用户界面与所述服务器软件模块的数据库中的后端数据的交换;所述界面解析组件用于对所述界面展示子模块中的web用户界面对应的组件进行解析及加载;所述资源缓存组件用于对访问的、需要调用的组件进行缓存管理;所述路由管理组件用于对各个web用户界面之间的访问顺序进行管理调度;所述界面展示子模块包括多个web用户界面,通过界面管控子模块中的路由管理组件完成对所述界面展示子模块中所有web用户界面的配置管理,当业务用户产生访问请求时,由路由管理组件进行调度;所述控制层模块包括服务数据处理组件、业务请求处理调度组件、数据协议转换组件、业务分派组件、业务注册组件;所述服务数据处理组件通过所述rpc传输引擎从所述客户机软件模块接收业务访问数据,对请求消息进行解析,对业务数据处理结果进行解析及封装处理;所述业务请求处理调度组件用于根据业务访问量对所述业务层模块的执行情况进行监控和调度控制;所述数据协议转换组件用于按照业务层模块识别的协议规范对业务数据进行格式转换;业务分派组件用于将不同的业务访问数据发送到业务层模块的不同组件进行处理;业务注册组件用于注册管理不同的业务层模块的组件;所述业务层模块对不同的业务功能组件进行插件化管理,各业务功能组件均基于标准接口规范实现;所述持久层模块包括数据读写组件、事务管理组件、连接池管理组件以及数据缓
存组件,所述数据读写组件对数据库中的业务数据进行存取操作,所述事务管理组件对不同业务数据的操作进行事务一致性管理,所述连接池管理组件用于维护、管理数据库的访问连接对象,并动态为所述业务层模块提供服务,所述数据缓存组件用于对数据库中使用频率大于预定阈值的数据进行缓存处理。
29.本发明提供一种基于web的在多级多域环境中访问应用的方法,所述方法基于如前所述的基于web的在多级多域环境中访问应用的系统,所述方法包括以下步骤:步骤s1:业务用户通过web用户界面发起业务访问请求;步骤s2:客户机软件模块通过rpc传输引擎基于自定义传输协议对业务访问请求进行协议转换、安全保护处理,处理后的业务访问请求通过边界安全防护设备向服务器所在域发送;步骤s3:所述服务器软件模块通过所述rpc传输引擎从边界安全防护设备接收客户机软件模块发送的处理后的业务访问请求;步骤s4:所述服务器软件模块对接收到的所述处理后的业务访问请求进行解析处理,并将对应的业务数据处理结果通过rpc传输引擎向客户机软件模块反馈;步骤s5:所述客户机软件模块通过rpc传输引擎接收所述服务器软件模块的业务数据处理结果,并向业务用户展现所述业务数据处理结果。
30.本发明意在面向多级多域环境下,提供一种开发效率高、网络环境适应能力强、业务交互安全可靠的应用系统开发方法,即一种基于web的c/s软件开发方法,包括:客户机软件模块、服务器软件模块和rpc传输引擎等。
31.有益效果:(1)本发明提升c/s软件开发的界面效果。本发明基于web技术开发界面,相对于基于操作系统系统原生窗口的c/s软件,开发人员无需编写大量复杂的应用逻辑,可以专注与web用户界面的实现,提升了界面交互的效果与开发效率。
32.界面加载方式可以是加载服务端的界面资源,还可以进行加载存在本地的界面资源,软件界面的升级不需要重新进行安装,只需要更新服务端的界面资源或者替换本地的界面资源文件即可,提高了访问速度。
33.(2)本发明复用javaee等开发框架,提升开发效率。本发明基于web的c/s软件开发框架,服务端借鉴使用了java ee中的springboot框架,在服务端的开发过程中采用了分层设计,将服务器分为控制层模块、业务层模块、持久层模块,各层之间相对独立,遵循同一套标准,大大提高了开发效率。
34.(3)本发明提升了与客户机软件本地资源的集成交互能力。本发明基于web的c/s软件开发框架,通过qt信号槽技术解决b/s架构中浏览器操作本地资源的缺陷问题,利用c 操作客户机本地资源的优势,界面展示子模块与界面管控子模块间通过发送信号的方式处理客户机本地资源,提升客户机软件本地资源处理的能力。
35.(4)本发明提高客户机/服务器的通信的安全性、对网络环境的适应性。本发明基于web的c/s软件开发框架,在客户机与服务器进行业务通信时使用的是自定义协议通信,可以实现通信协议的定制,适应不同网络环境下的通信需求,同时可以根据项目不同的安全级别要求,设计不同数据加密方案,对通信数据进行加密处理,保证客户机/服务器间数据不被篡改和窃取,在灵活多变的基础上,提高了业务应用的安全性。
附图说明
36.图1为现有技术中https交互流程示意图。
37.图2为本发明提供的基于web的在多级多域环境中访问应用的系统示意图。
38.图3为本发明提供的web控制交互示意图。
39.图4为本发明提供的rpc传输引擎调用示意图。
具体实施方式
40.下面结合附图和实施例,对本发明进行详细描述。
41.如图2所示,本发明提出了一种基于web在多级多域环境中访问应用的系统,包括客户机软件模块、服务器软件模块、rpc传输引擎,其中:所述客户机软件模块面向业务用户提供web用户界面,使所述业务用户访问服务器软件模块进行业务功能操作;所述客户机软件模块将不同的web用户界面作为独立的组件分别进行管理;所述服务器软件模块用于业务功能的实现,支持一个或多个客户机软件模块的访问,所述服务器软件模块采用分层实现;所述rpc传输引擎为客户机软件、服务器软件提供远程传输服务的调用,用于支撑多级多域环境下所述客户机软件模块与所述服务器软件模块通过边界安全防护设备进行域之间业务数据的交换,rpc是指远程过程调用;所述多级多域环境是指多层级跨区域的网络访问环境。
42.进一步地,所述服务控制子模块与服务器软件模块进行数据交换,并对所述界面展示子模块进行配置管理;所述界面管控子模块对界面资源进行管理控制,所述界面管控子模块对web用户界面资源进行管理控制,负责对web用户界面进行扫描、整合,对所述界面展示子模块中的web用户界面进行插件化管理,是客户机软件模块的核心,根据配置对web用户界面进行动态的裁剪和拓展;所述界面展示子模块负责为业务用户提供能够进行功能操作的web用户界面每一个web用户界面包括交互界面及操作界面。本实施例中,每一个web用户界面被视为一个独立的插件模块,由界面管控子模块进行管理。
43.进一步地,所述控制层模块用于对所述业务层模块进行管理,从所述客户机软件模块接收业务访问请求,向业务层模块分派所述访问请求,将处理结果反馈给客户机软件模块;所述业务层模块用于获取所述数据库的数据,基于所述数据库的数据处理具体的业务,包括业务参数的校验、业务数据的封装解析,并通过持久层模块对业务数据进行存储查询等;所述持久层模块用于与数据库进行交互,包括对数据库连接池的管理、事务的管理、数据库数据读写、数据缓存处理等,以及将对数据库的查询结果反馈给所述业务层模块。
44.进一步地,所述格式封装解析组件用于对所述客户机软件模块发起的访问请求进行协议解析、以及格式封装处理,将通过web用户界面请求的数据格式转换为自定义协议格式;所述数据安全保护组件用于通过安全保护设备提供的数据保护接口实现对访问、请求的数据的保护处理;所述数据安全传输服务模块用于与边界安全防护设备进行数据交互,与所述服务器软件模块交互业务数据。
45.本发明将传统c/s架构和b/s架构所具备的优势充分结合,即客户机软件模块与服务器软件模块之间整体采用c/s架构,充分利用两端硬件环境的优势,可以有效的利用本机
原生资源,降低通信开销,提高系统的性能,同时支持通信协议的自定义,从根本上解决了http协议通用不安全的问题;客户机软件模块基于b/s架构基于html、js等技术开发web用户界面,不仅美观而且简化了界面开发的过程;服务器软件模块基于b/s架构开发服务器功能模块,采用javaee等开发框架,大幅提升了开发效率。
46.本发明提供了客户机软件模块、服务器软件模块、rpc传输引擎的设计原理及开发方法,具体实现方式如下:(1)客户机软件模块的具体实现本发明客户机软件框架采用分层设计,自下而上分别是服务控制子模块、界面管控子模块以及界面展示子模块,其中服务控制子模块为用户界面提供客户机本机原生资源的访问,为上层提供与服务器软件模块进行数据交换的通道,负责替换http协议;界面管控子模块用于模拟浏览器,对界面展示子模块的界面进行解析、渲染、js接口调度,并直接调用服务控制子模块提供的原生资源访问接口;界面展示子模块直接面向用户提供界面,基于html实现ui界面。
47.所述服务控制子模块,包括配置管理组件、资源访问组件、运行监控组件、客户数据处理组件;所述配置管理组件用于对所述客户机软件模块的运行参数进行配置管理,例如,包括客户端界面缓存方式、传输引擎交互方式、日志记录参数等;所述资源访问组件用于对所述客户机软件模块的本地原生资源和定制载体资源进行访问;所述运行监控组件主要用于对所述客户机软件模块的运行状态进行监控管理,监控管理的对象包括运行日志记录、资源访问内存管理等;所述客户数据处理组件基于所述rpc传输引擎,实现与所述服务器软件模块的业务数据的交换处理。
48.所述界面管控子模块包括界面调度控制组件、web引擎数据交互组件、界面解析组件、资源缓存组件、路由管理组件,所述界面调度控制组件用于对所述web用户界面进行访问、解析、调度、以及进行控制管理;所述web引擎数据交互组件用于实现所述web用户界面与所述服务器软件模块的数据库中的后端数据的交换;所述界面解析组件用于对所述界面展示子模块中的web用户界面进行解析及加载;所述资源缓存组件用于对访问的、需要调用的组件进行缓存管理,通过加载本地缓存的界面资源,提升界面资源访问速度;所述路由管理组件用于对界面展示子模块中各web用户界面之间的访问顺序进行管理调度。
49.所述界面展示子模块包括多个web用户界面,各web用户界面,只需要按照接口规范实现即可,通过界面管控子模块中的路由管理组件完成对所述界面展示子模块中所有web用户界面的配置管理,当业务用户产生访问请求时,由路由管理组件进行调度。
50.本发明中客户机软件模块基于qt与vue设计实现,通过对通用载体和部分定制载体进行集成,如本地磁盘、光盘、移动盘、ic卡、安全u盘等,为web用户界面提供了丰富的接口访问、读写接口;qt中的qtwebengine可以看作是一个完整的chromium浏览器, 在不使用本地浏览器的情况下, 能够把web控件内容嵌入到qt应用程序中,利用qt提供的信号槽技术,通过发送信号实现界面管控子模块与界面展示子模块之间的通信,交互的数据类型包括字符串和数值等基础数据类型,并且支持web开发技术常用的json格式数据,可以在widget/qml中渲染html、xhtml、svg,也支持css样式表和javascript脚本。
51.进一步地,如图3所示,所述界面管控子模块与所述界面展示子模块之间的交互方法包括:
步骤 s31:所述界面管控子模块进行初始化,在webchannel中注册绑定能够处理的信号事件处理器;步骤 s32:所述界面管控子模块扫描所述界面展示子模块中的web用户界面集,依次对所述web用户界面进行加载,完成web用户界面的初始化;步骤 s33:所述web用户界面在初始化之后,在webchannel中注册信号事件接收处理器;步骤 s34:用户通过所述web用户界面进行业务访问操作时,向web channel发送访问请求信号,webchannel会基于预注册的信号事件处理器绑定关系,将所述web用户界面发起的访问信号分派到能够处理访问该信号的处理器上;步骤 s35:所述事件处理器完成具体业务处理之后,将处理后的业务数据通过webchannel返回所述web用户界面;步骤 s36:所述web用户界面接收处理后的业务数据,并根据信号事件接收处理器绑定关系,将接收到的业务数据分派到接收处理器上,完成业务数据展示和渲染。
52.(2)服务器机软件模块具体实现所述服务器机软件模块基于mvc设计,自上而下设置了四个层次,与四个模块对应,分别是控制层模块、业务层模块、持久层模块以及数据库,可以达到减少业务间过度的依赖,实现高内聚、低耦合的效果。
53.所述控制层模块包括服务数据处理组件、业务请求处理调度组件、数据协议转换组件、业务分派组件、业务注册组件;所述服务数据处理组件通过所述rpc传输引擎从所述客户机软件模块接收业务访问数据,对请求消息进行解析,对业务数据处理结果进行解析及封装处理;所述业务请求处理调度组件用于根据业务访问量对所述业务层模块的执行情况进行监控和调度控制;所述数据协议转换组件用于按照业务层模块识别的协议规范对业务数据进行格式转换,比如将二进制协议数据转换为业务层识别的json格式;业务分派组件用于将不同的业务访问数据发送到业务层模块的不同组件进行处理;业务注册组件用于注册管理不同的业务层模块的组件。
54.所述业务层模块对不同的业务功能组件进行插件化管理,不同的业务功能组件基于标准接口规范实现,实现粒度能够随业务处理的需求自主定义。
55.所述持久层模块包括数据读写组件、事务管理组件、连接池管理组件以及数据缓存组件,所述数据读写组件对数据库中的业务数据进行存取操作,所述事务管理组件对不同业务数据操作进行事务一致性管理,所述连接池管理组件用于维护管理数据库的访问连接对象,并动态为所述业务层模块提供服务,所述数据缓存组件用于对数据库中使用频率大于预定阈值的数据进行缓存处理,提高数据库的访问效率。
56.本发明中服务器软件模块是基于开源spring boot进行设计开发,通过拓展applicationcontext接口来增加spring容器对servlet引擎的支持, 由applicationcontext实现servlet接口,在servlet容器或者叫web容器如tomcat,每个运行的应用都由一个servletcontext表示,在web容器启动的时候,会初始化web应用,即创建servletcontext对象,获取该应用的filters,listener,servlet等组件的配置并创建对象实例,作为servletcontext的属性,保存在servletcontext当中,持久层选用mybatis框架。
57.服务器软件模块通过web容器接收到客户端发送的请求时,会根据请求信息,匹配
到处理这个请求的servlet,同时在交给servlet处理之前,会先使用应用配置的filters对这个请求先进行过滤,最后才交给servlet处理。
58.本发明中,服务器软件模块继承了b/s软件架构的优点,可以以接口的形式对外提供服务,服务可以返回处理后数据。
59.(3)rpc传输引擎具体实现因为http协议的不安全因素和https协议不支持国产自主加密方案,本发明的rpc传输引擎采用自定义的传输协议,替代了http和https协议,自定义的协议支持可拓展、可替换,可以根据不同的项目需求制定相应的通信协议,同时所述rpc传输引擎支持对交互的数据按照加密协议将数据进行加密,加密通信协议可以根据不同的项目需求采用不同的方案和加密通信协议。
60.所述格式封装解析组件使用自定义的协议格式对请求数据进行格式转换;本实施例中,所述rpc传输引擎配置包括不同格式的协议库,用于管理不同的协议格式,比如xml格式、二进制格式等,用于只需要更换配置,便可以替换成所需要的协议格式。
61.所述数据安全保护组件用于对传输的数据进行保护处理,防止数据被非法窃取篡改;本实施例中,所述rpc传输引擎通过安全保护设备提供的数据保护服务接口对数据进行加密、认证等保护处理,保证数据在传输过程中的正确、一致性。
62.所述数据安全传输服务模块用于对接不同的边界安全防护设备,并根据各边界安全防护设备提供的传输接口实现相应的传输功能,保证数据在不同域之间的可靠传输。
63.本发明中,如图4所示,所述rpc传输引擎的调用过程,包括:步骤s41:发送方通过接口调用rpc传输引擎,进行数据的安全传输,所述发送方为客户机软件模块或服务器软件模块;步骤s42:接收方注册所述rpc传输引擎提供的数据接收回调,对是否接收到数据进行监听,当所述发送方为客户机软件模块时,所述接收方为服务器软件模块;当所述发送方为服务器软件模块时,所述接收方为客户机软件模块;步骤s43:在所述rpc传输引擎中,基于配置的协议,从协议格式库中选取对应的格式文件,根据格式文件的规定对所述发送方发送的数据进行格式转换;步骤s44:所述rpc传输引擎的数据安全保护组件对格式转换后的数据进行数据保护处理;步骤s45:所述rpc传输引擎中,通过数据安全传输服务模块将格式转换后的数据向接收方发送;步骤s46:接收方通过rpc传输引擎接收数据,并对数据进行原文获取;步骤s47:接收方通过rpc传输引擎中存储的配置协议对获取到的数据进行协议转换,还原发送方原始发给的数据;步骤s48:基于所述原始发给的数据,接收方通过回调函数接收到发送方发送的业务请求数据。
64.本发明提供一种基于web的在多级多域环境中访问应用的方法,使用如前所述的基于web的在多级多域环境中访问应用的系统,所述使用方法包括以下步骤:步骤s1:业务用户通过web用户界面发起业务访问请求;步骤s2:客户机软件模块通过rpc传输引擎基于自定义传输协议对业务访问请求
进行协议转换、安全保护处理,处理后的业务访问请求通过边界安全防护设备向服务器所在域发送;步骤s3:所述服务器软件模块通过所述rpc传输引擎从边界安全防护设备接收客户机软件模块发送的处理后的业务访问请求;步骤s4:所述服务器软件模块对接收到的所述处理后的业务访问请求进行解析处理,并将对应的业务数据处理结果通过rpc传输引擎向客户机软件模块反馈;步骤s5:所述客户机软件模块通过rpc传输引擎接收所述服务器软件模块的业务数据处理结果,并向业务用户展现所述业务数据处理结果。
65.本发明采用java ee实现,java ee是java平台企业版(java platform enterprise edition),之前称为j2ee(java 2 platform, enterprise edition),2018年3月更名为javaee。它是sun公司为企业级应用推出的标准java平台,是企业级应用程序版本。能够帮助我们开发和部署可移植、健壮、可伸缩且安全的服务器端 java应用程序。
66.java ee 是在 java se 的基础上构建的,它提供web 服务、组件模型、管理和通信 api,可以用来实现企业级的面向服务体系结构(service-oriented architecture,soa)和 web 2.0应用程序。
67.java ee核心技术大致属于以下文件类别:http客户端技术。为了处理基于http的客户端,java ee包括用于websocket编程的java api,用于json处理的api ,jsf和servlet api以及jsp标准标记库(jstl)。
68.数据库和资源访问技术。为了与外部和后端系统交互,java ee包括javamail,标准连接器体系结构,java消息服务(jms) api和用于实施两阶段提交的java transaction api(jta)。
69.rest和web服务技术:帮助开发和部署基于rest ,soap,xml和json的web服务,用于restful web服务的java api(jax-rs)和基于xml的web服务(jax-包括ws)以及用于xml消息传递和xml注册表(jaxr)的api。
70.java ee安全性和容器管理:为了实现自定义java ee安全性和管理java ee容器,软件开发人员可以访问容器的java授权合同和容器的java认证服务提供者接口。
71.javaee构架提供了良好的分离,隔离了各组件之间的代码依赖,javaee应用大致包括以下几类组件:表现层组件:主要负责收集用户输入数据,或者向客户显示系统状态。最常用的表现层技术是jsp,还可以是velocity等技术。
72.控制器组件:对于javaee的mvc框架而言,框架提供一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器则负责处理调用业务逻辑方法,处理用户请求。
73.业务逻辑组件:是系统的核心组件,实现系统的业务逻辑。通常一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体,因此要求对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问。因此,业务逻辑组件中不应该出现原始的hibernate,jdbc等api。
74.dao组件:data access object,也被称为数据访问对象。这个类型的对象比较缺乏变化,每个dao组件都提供domain object 对象基本的创建、查询、更新和删除等操作,这
些操作对应于数据表的curd等原子操作。
75.本发明涉及到的前端开发框架为vue,vue框架是一套构建用户界面的渐进式框架。它基于mvvm模式,基于这种思想实现数据双向绑定,使开发人员关注于业务逻辑,减少dom的操作。
76.mvvm模式的主要目的是分离视图(view)和模型(model),有以下几个优点:低耦合:视图(view)可以独立于model变化和修改,一个viewmodel可以绑定到不同的view 上,当view变化的时候 model可以不变,当model变化的时候view也可以不变。
77.可复用:可以把一些视图逻辑放在一个viewmodel里面,让很多view重用这段视图逻辑。
78.独立开发:开发人员可以专注于业务逻辑和数据的开发(viewmodel),设计人员可以专注于页面设计。
79.可测试:界面素来是比较难于测试的,而现在测试可以针对viewmodel来写。
80.vue框架核心特点包含:双向数据绑定:传统上要更新数据,在拿到数据之后,要将数据手动更新到控件的value值。使用vue,当前绑定的值变化后,组件会自动更新。同样对于输入表单如input框,输入的数据会自动更新到其绑定的变量。它的原理是利用了object.definedproperty中的setter/getter 代理数据,监控对数据的操作。
81.组件化思想:vue的页面是由组件树实现的。组件化思想即在一个页面中引入可以组件,一个组件又可以引入其他多个组件。比如一个信息管理系统,页面中包含侧边栏,头部,内容区三个组件,在内容区又可以写表单组件,表格组件等等。
82.虚拟dom:如果更新数据后要渲染整个页面,会造成大量的资源浪费。因此vue在内存中生成与真实dom与之对应的数据结构,这个在内存中生成的结构称之为虚拟dom,当数据发生变化时,能够智能地计算出重新渲染组件的最小代价并应用到dom操作上。
83.声明式渲染:vue的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 dom,初始化根实例,vue自动将数据绑定在dom模板上。
84.以上的具体实施例仅描述了本发明的设计原理,该描述中的部件形状,名称可以不同,不受限制。所以,本发明领域的技术人员可以对前述实施例记载的技术方案进行修改或等同替换;而这些修改和替换未脱离本发明创造宗旨和技术方案,均应属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献