一种跨语言应用系统间通信的方法、系统技术方案

技术编号:36869815 阅读:46 留言:0更新日期:2023-03-15 19:41
本申请提供一种跨语言应用系统间通信的方法、系统,用于第一语言应用系统和第二语言应用系统之间的通信,所述方法包括:创建基于.NET框架的通信中间件;通过所述通信中间件的组件与所述第一语言应用系统编译后的动态链接库结合,使所述通信中间件与所述第一语言应用系统进行交互通信;通过所述第二语言应用系统基于http协议与所述通信中间件进行交互通信。通过基于.NET搭建跨语言系统的桥梁即通信中间件,让两个系统间进行交互更加安全灵活;使系统间的交互更加安全并且降低了系统间的偶合度。偶合度。偶合度。

【技术实现步骤摘要】
一种跨语言应用系统间通信的方法、系统


[0001]本专利技术涉及计算机软件领域,具体涉及一种跨语言应用系统间通信的方法、系统。

技术介绍

[0002]基于JAVA语言开发的应用系统,和基于C++语言开发的客户端系统之间的通信过程比较复杂,虽然可以使用目前现有技术JNI实现两系统间的交互通信,但是对于JAVA语言而言使用JNI技术与C++系统交互的话,会使JAVA程序就丧失了它自身平台的两个优点:1、程序不再跨平台。要想跨平台,必须在不同的系统环境下重新编译本地语言部分。2、程序不再是绝对安全的,本地代码的不当使用可能导致整个程序崩溃。因此给两个不同语言系统的交互产生了难题。

技术实现思路

[0003]本申请旨在提供一种跨语言应用系统间通信的方法、系统,通过基于.NET搭建跨语言系统的桥梁即通信中间件,让两个系统间进行交互更加安全灵活;使系统间的交互更加安全并且降低了系统间的偶合度。
[0004]根据本申请的一方面,提出一种跨语言应用系统间通信的方法,用于第一语言应用系统和第二语言应用系统之间的通信,所述方法包括:
[0005]创建基于.NET框架的通信中间件;
[0006]通过所述通信中间件的组件与所述第一语言应用系统编译后的动态链接库结合,使所述基于.NET框架的通信中间件与所述第一语言应用系统进行交互通信;
[0007]通过所述第二语言应用系统基于http协议与所述通信中间件进行交互通信。
[0008]根据一些实施例,所述方法包括:
[0009]所述创建基于.NET框架的通信中间件,包括:
[0010]构建通信中间件项目分层结构,所述分层结构包括控制层、应用服务层、核心层、引用层、实体定义层、属性定义层和库文件层;
[0011]所述控制层为接收外部请求入口,所述应用服务层用于对流入或流出数据进行逻辑处理业务逻辑,所述核心层包括核心工具类以及框架组件,所述引用层用于引入对方接口相关头文件以及核心工具类,实体定义层用于定义数据传输对象实体类,所述属性定义层用于定义与配置相关的属性文件,所述库文件层用于引入对方接口的动态和静态的库文件。
[0012]根据一些实施例,所述方法包括:
[0013]按需求引入所述第一语言应用系统已编译好的相关的动态库文件和对外公开的包含第一语言函数接口方法的头文件,所述头文件包括第一头文件、第二头文件和第三头文件,所述第一头文件包含所涉及到的接口以及创建连接的定义类,所述第二头文件定义接口中所涉及的数据类型,所述第三头文件定义接口中所涉及的数据结构。
[0014]根据一些实施例,所述方法包括:
[0015]构建所述通信中间件的核心层组件,其中包括定时任务队列处理组件、系统健康性能监察组件;
[0016]通过所述定时任务队列处理组件中的定时任务组件将接收到的服务请求以队列任务的方式进行异步处理;
[0017]通过所述系统健康性能监察组件实时监控通信中间件中相关模块的工作状态情况,包括应用服务器工作状态、数据库状态、tcp连接状态、作业队列状态。
[0018]根据一些实施例,所述方法包括:所述创建基于.NET框架的通信中间件,包括:
[0019]构建核心层组件,用于与所述第一语言应用系统连接、登录认证,以及当所述通信中间件重启时通过所述核心层组件对所述通信中间件进行初始化操作;
[0020]根据一些实施例,所述方法包括:所述创建基于.NET框架的通信中间件,还包括:
[0021]构建所述控制层文件,包括定义引用控制类,用于接收外部系统服务请求,当收到外部系统服务请求后将数据进行逻辑处理并封装成具有唯一请求标识的请求数据包,然后将每个所述请求数据包通过所述唯一请求标识作为主键存入数据库中,将相应的服务请求的服务接口名传向基于队列的所述定时任务组件的任务中进行异步执行。
[0022]根据一些实施例,所述方法包括:所述创建基于.NET框架的通信中间件,还包括:
[0023]构建配置信息类,用于当通信中间件启动时将必要的信息加载到内存中;
[0024]通过所述配置信息类直接读取到配置文件中所有配置信息,所述配置信息包括通信中间件状态指标、作业队列、对方服务器地址、账户、密码、超时时间设置以及日志打印存放路径。
[0025]根据一些实施例,所述方法包括:所述创建基于.NET框架的通信中间件,还包括:
[0026]通过所述核心层组件在加载时读取所述配置信息类中相关配置信息,并对所述通信中间件进行初始化操作,所述初始化操作包括与所述第一语言应用系统的网络通信检查、创建tcp连接、登录、身份认证以及接口响应回调的事件注册。
[0027]根据一些实施例,所述方法包括:所述创建基于.NET框架的通信中间件,还包括:
[0028]构建监控类,所述监控类用于以可视化的形式监控通信中间件状态,以及通过该类和所述.NET框架相关的核心库文件的所述系统健康性能监察组件实现以界面化实时监控通信中间件的健康状态,包括数据缓存服务器工作状态、作业队列的执行状态、协议tcp的连接状态、接口服务的执行状态。
[0029]根据一些实施例,所述方法还包括:
[0030]构建仪表盘监控界面入口类,通过该类将仪表盘监控的内容整合,对通信中间件中作业队列执行情况以界面的方式显示,以实时查看通信中间件接口服务执行状态。
[0031]根据本申请的另一方面,提供一种用于跨语言应用系统间通信的系统,包括第一语言应用系统、第二语言应用系统和通信中间件,
[0032]所述第二语言应用系统向所述通信中间件发出http请求;
[0033]所述通信中间件接收所述请求信息,并进行逻辑处理后放入作业调度队列中,通过队列以异步的方式完成作业;
[0034]所述通信中间件将所述作业调度队列中的作业逐个通过tcp协议的方式与所述第一语言系统进行交互;
[0035]所述通信中间件通过事件监听的方式来接收所述第一语言应用系统的消息或响
应,收到所述消息或响应后进行逻辑处理,再以http请求的方式响应给所述第二语言应用系统;
[0036]所述通信中间件对接收到的所述第二语言应用系统的请求在各阶段的执行状态进行实时监控;
[0037]对所述通信中间件的各组件的工作状态进行实时监控,包括数据缓存服务器工作状态、作业队列的执行状态、协议tcp的连接状态、接口服务的执行状态。
[0038]根据本申请的另一方面,提供一种电子设备,包括:
[0039]存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中任一项所述的方法。
[0040]根据本申请的另一方面,提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述方法中任一项所述的方法。
[0041]根据本申请示例实施例,通过基于.NET搭建跨语言系统的桥梁即通信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨语言应用系统间通信的方法,用于第一语言应用系统和第二语言应用系统之间的通信,其特征在于,所述方法包括:创建基于.NET框架的通信中间件;通过所述通信中间件的组件与所述第一语言应用系统的动态链接库结合,使所述基于.NET框架的通信中间件与所述第一语言应用系统进行交互通信;通过所述第二语言应用系统基于http协议与所述通信中间件进行交互通信。2.根据权利要求1所述的方法,其特征在于,所述创建基于.NET框架的通信中间件,包括:构建通信中间件项目分层结构,所述分层结构包括控制层、应用服务层、核心层、引用层、实体定义层、属性定义层和库文件层;所述控制层为接收外部请求入口,所述应用服务层用于对流入或流出数据进行逻辑处理业务逻辑,所述核心层包括核心工具类以及框架组件,所述引用层用于引入对方接口相关头文件以及核心工具类,实体定义层用于定义数据传输对象实体类,所述属性定义层用于定义与配置相关的属性文件,所述库文件层用于引入对方接口的动态和静态的库文件。3.根据权利要求1所述的方法,其特征在于,按需求引入所述第一语言应用系统已编译好的相关的动态库文件和对外公开的包含第一语言函数接口方法的头文件,所述头文件包括第一头文件、第二头文件和第三头文件,所述第一头文件包含所涉及到的接口以及创建连接的定义类,所述第二头文件定义接口中所涉及的数据类型,所述第三头文件定义接口中所涉及的数据结构。4.根据权利要求2所述的方法,其特征在于,所述创建基于.NET框架的通信中间件,包括:构建所述通信中间件的核心层组件,其中包括定时任务队列处理组件、系统健康性能监察组件;通过所述定时任务队列处理组件中的定时任务组件将接收到的服务请求以队列任务的方式进行异步处理;通过所述系统健康性能监察组件实时监控通信中间件中相关模块的工作状态情况,包括应用服务器工作状态、数据库状态、tcp连接状态、作业队列状态。5.根据权利要求4所述的方法,其特征在于,所述创建基于.NET框架的通信中间件,还包括:构建所述通信中间件的核心层组件,用于与所述第一语言应用系统连接、登录认证,以及当所述通信中间件重启时通过所述核心层组件对所述通信中间件进行初始化操作。6.根据权利要求5所述的方法,其特征在于,所述创建基于.NET框架的通信中间件,还包括:构建所述通信中间件的所述控制层文件,包括定义引用控制类,用于接收外部系统服务请求,当收到外部系统服务请求后将数据进行逻辑处理并封装成具有唯一请求标识的请求数据包,然后将每个所述请求数据包通过所述唯一请求标识作为主键存入数据库中,将相应的服务请求的服务接口名传向基于队列的所述...

【专利技术属性】
技术研发人员:徐稀魏毓蓉刘晶高晓国贾静方万鑫
申请(专利权)人:欧冶云商股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1