常见的系统间接口方式(02)-中间件的数据接口模式

article/2025/9/22 18:20:17

导读:

原文路径:https://mp.weixin.qq.com/s/uq9DfxE5_cvAsitqlcblBg

大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。

愿大家的学习,轻松且愉快。

如果大家觉得有用,希望转发关注,谢谢。

中间件的数据接口模式,也会被称为中间数据库的数据交互模式,或者叫数据平台的数据交互,总的来说,就是在各个业务系统间,建立一个独立的数据库,保证系统间的数据交互,或者叫数据接口。

 

为什么要使用中间数据库的接口模式?

 

对于很多企业来说,经常需要多个业务系统支持。如果采用系统间相互的函数调用模式,会导致接口过多,难以管理。基于此情况,多数企业会选择采用中间数据库,以满足多个系统间的数据流转。

企业很多时候不愿意大规模采用RFC调用的接口模式,常基于且不限于以下几个原因:

 

1.很明显,基于上图中只有5个系统,但其接口的复杂性已经较高了对于企业来说类似上图中的接口模式,是不易管理的。而且,实际业务中,少有规模的企业,都存在多个系统,并且各个系统之间接口业务不一样。在类似此种情况下,当企业的接口较多时,如果均采用点对点的相互调用接口,对接口以后的维护成本会很大。随着业务发展,很有可能最后谁也不知道某个接口的是否被使用,或者某个接口到底如何被使用。

 

2.点对点的RFC调用接口,必须要求接口两端的功能均可用,这就有可能会影响业务的及时性。比如,常见的生产管理系统,一般其业务及时性要求很高,生产上发生一笔业务,通过RFC调用传输给ERP,但是ERP系统可能因为财务账期、其他程序锁表等,导致RFC接口无法立刻被调用成功。但生产管理系统又不可能一直等待ERP系统的执行,这样就会出现难以调和的矛盾。

 

3.其实,很多时候,基于数据安全、信息安全等多方面的考虑,很多系统并不愿意给其他调用自己系统功能的权限,这样也就限制了RFC接口模式的使用。

 

 

基于上述弊端,企业为了降低系统接口统一管理的难度,以及接口后期的维护成本,结合从安全及业务及时性等角度的综合考虑,一般会采取建立中间数据库的接口方式。

 

那么,中间数据库接口模式的工作机制是什么?

如果两个业务系统,采用建立中间数据库的模式进行数据交互,其工作原理可以简单理解为:

首先,会部署一个专门的数据库或者数据系统,也有称为数据平台等,实际上,就是个专门用于存储系统间交互数据的数据库。

业务系统不会直接将要传输的数据,传输给其他业务系统,而是会传输给这个中间的数据库,要使用数据的业务系统,会主动去中间数据库取自己需要的数据。

如下图所示,A系统会将数据写入至中间数据库,B系统会取中间数据库去取需要的数据,反之亦然。

 

 

采取中间数据库接口的方式,在实际使用中,一般是存在多个系统之间有数据交互的业务情况,如下图所示。

基于下图,我们对比之前多系统接口采取RFC方式的图例,我们很容易看出来,采取中间数据库接口的交互方式,其接口更加容易管理,且交互方式更加安全。

当然,采用中间数据库的接口方式,其弊端也比较明显,可能会导致一些常见问题,比如:

 

1. 数据接受的系统,不能够及时处理数据,不能够在第一时间验证数据的业务及系统层面的准确性。

很有可能出现,传输数据的系统将数据写入中间数据库,但是,需要接受数据的系统,在中间数据库读取数据时,发现数据有问题,并无法正常使用。

此种情况,作为接收数据的系统,很难在第一时间对数据进行管控和校验。

比如,我曾在项目中遇到过一个情况,某企业针对SAP系统与MES系统的所有接口,采取了中间数据库的接口模式。当发生原材料领用的业务时,首先,MES系统出库过账,进而将数据传输给中间数据库,SAP系统会取中间数据库的数据,完成过账。但是,实际执行中,某物料的库存只有10个,MES系统中的程序计算错误,显示库存有12个,用户执行领用12个,且在MES系统中领用成功。此时,当领用12个的数据传输给SAP,由于SAP中的库存数量只有10个,无法针对领用量12进行过账,最终出现问题。

基于这一案例,如果我们采取的是RFC的接口模式,一旦领用数量大于库存数量,在SAP端就无法过账,直接就反馈给MES了,但是,采用中间数据的接口方式,其校验就会比较滞后,容易产生问题。

2.接受数据的系统,什么时候去数据库取数据;

 

其实,基于列举的第一个问题,我们不难看出,中间数据库的接口模式,对于数据接收方的系统来说,有一个问题:应该在什么时候去取数据?

 

因为基于上述工作机制,数据发送方的系统在给中间数据库写入数据时,数据接收方的系统并不知道。

 

所以,我们常见的处理方式就是定义自动的系统后台Job,也有的系统会称为后台timer。

 

简言之,我们就会在系统中定义一个程序,每个一段时间自动去中间数据库取一次。根据业务的及时性要求不同,我们可以定义不同的时间段,比如每十分钟取一次,或者每小时取一次,或者每天取一次等。

 

采取自动后台Job的方式,可能带来的问题,也比较明显:数据发出方的系统,在某天只写入了三次数据,如果数据接收方定义每小时取一次,那么,实际取数据的次数是24次,对于系统服务器来说,为了3次数据,却需要执行24次程序,这就有些占用服务器资源了。

 

对于一些业务较多、系统交互较多的企业,排程系统后台Job就变成了一项非常重要的工作。这要基于业务要求本身,系统程序大小等因素,去决定job的执行频率及执行顺序。

比如,实际情况中,很多取数程序的本身必须有先后顺序,必须得先取某数据,才能取其他数据;有的程序太大、所取数据太多,就不能排在工作时间去取数,因为其很有可能占用过多服务器资源,导致其他业务难以顺利执行,所以,一般此类Job,会被安排在凌晨执行,等等。

 

3.鸡蛋被放在了一个篮子里。

 

基于中间数据库的接口模式,我们很容易就能看出来,如果过于集中地使用中间数据库或者数据平台等,意味着我们把核心数据都放在了一个数据库中。如果这个数据库出现问题,就有可能大面积影响相关系统的正常运转。基于这种情况,如果采取中间数据库的方式,其系统安全策略及相关灾备系统等的措施,就非常重要了。

4.非企业本身的外部系统,如果需要与企业自己的系统进行数据交互,那么,基于安全层面的考虑,不会建议外部企业的系统直接访问内部数据库。

那么,如果外部系统与企业内部系统有数据交互需求的话,应该采用哪种方式呢?

 

这个就要基于我们下一篇要介绍的“文件传输的系统接口模式”。

 
 


http://chatgpt.dhexx.cn/article/JlDckxWS.shtml

相关文章

python matlab库使用_python matlab库

python与matlab的优缺点比较matlab主要是用来做数值计算的(矩阵,向量是强项),当然还加入了其他的许许多多的库。主要用来模拟一些东西。 python是一门语言,现在也有模拟matlab的库,不过功能显然还是很弱的。 python与matlab哪个简单 简单对比: python和matlab的共同点都是…

MYSQL:创建中间表

mysql> create table role_to_privilege( -> id int primary key auto_increment, -> rId int not null, -> pId int not null -> ); Query OK, 0 rows affected (0.09 sec)

中间表是什么?和报表有什么关系?会带来怎样的问题?又如何解决?

在数据库中有一类用于保存中间计算结果的物理表,通常被称为“中间表”。中间表主要跟 OLAP(在线联机分析)业务有关,产生的原因主要有以下几方面。 中间表来源 1. 计算逻辑复杂 在 OLAP(报表或查询)业务中&…

mysql 中中间表是什么意思_为什么会有这么多中间表?

中间表的由来 中间表是数据库中专门存放中间计算结果的数据表。报表系统中的中间表是普遍存在的。那么,这些中间表是如何出现的?为什么中间表会越来越多?中间表会给项目组带来什么样的困扰,如何解决这些困扰?这里我们就尝试探讨一下这个问题。 中间表出现的典型场景主要有…

IT 接口对接:足迹第十二步接口对接的定义(接口对接分三种:中间库方式的接口对接,Rest格式URL对接和HTTP格式URL对接;)

1)接口对接的定义:服务端通过暴露地址/参数名称/编码,指引客户端发送一个Rest风格的URL请求,服务端读取Rest风格的URL,并返回一个响应; 接口有四部分组成:方法、uri、请求参数、返回参数&#…

MSSQL中间库对接MySQL

需要下载MySQL ODBC数据源驱动程序, 在MSSQL所在服务器安装MySQL ODBC数据源驱动程序,安装完成之后,在【控制面板】->【工具管理】->【ODBC数据源(64bit)/ODBC数据源(32bit)】->【系统DSN】->【添加】下多了MySQL数据源的驱动程…

四点流程做好商机管理

企业想做好商机管理,仅凭员工是做不到的,借助CRM销售管理系统是比较明智的选择。接下来小编从客户信息管理、业务进程跟踪、设置提醒、销售漏斗等方面讲讲企业如何做好商机管理。 只有提高商机的转化率,企业的利润才会增长。想做好商机管理&…

想通过互联网创业,如何找到商机项目创业呢

很多人都像在互联网上创业,但是互联网创业看着简单,其实挺考验一个人的眼力和思维能力,最重要是经验,今天不说什么理论方面的,只说一个简单牛逼的方法 首先你创业目的是为了什么? 拯救世界?做…

与山东云蚁旅游一起,发现旅游行业的无限商机和潜力!

随着人们生活水平的不断提高,旅游业迅猛发展已成为大势所趋。山东云蚁旅游作为一家专业的旅游服务机构,一直致力于为广大消费者提供最优质的旅游服务,在市场上享有良好的声誉和知名度。 如今,随着旅游市场的进一步开放和竞争加剧…

把信息变成商机

在商界的高层管理人员看来,公司中充斥着各种各样的信息。他们试图对这些信息进行管理和利用,从而为决策、财务管理和客户服务提供支持。 但是他们没有意识到,即便能够实现上述目标,他们也仅仅只是赶上了昨天的步伐而已。信息的发展…

旅游发现商机,他开店依靠创意经营,月收入高达万元

在自己创业之前,黄建均在某厂当电器维修工,工作辛苦而且收入不高。自己创业做生意,他"想都没想过"。 几年前,黄建均一家人外出旅游。在某景区,他发现一个不起眼的小店外排着长龙--60多岁的老人和3岁的孩童排…

什么是企业商机管理 管理销售商机流程方法

现代企业发展道路上,市场竞争愈演愈烈,很多企业都开始重视客户信息化管理来促成销售交易,在销售管理中的商机需按照轻重缓急进行分类、跟进、监控,才能对商机进行有效管理。 从某种程度上来说,一个订单成功与否的关键…

这两年大量实体店灭亡,那么商机来了,什么东西又会崛起?

我认为实体店不会灭亡,虽然这几年看到好多沿街商铺都关门了,但这只是一部分,这一部分为什么会倒闭; 一,是不断上涨的店租金和人工成本的上升; 二,网络电商价格越来越透明化,这时期出…

如何寻找商机线索

企业在寻找商机线索时,要“天时地利人和”,也就是正确的产品和服务,正确的价格,正确的地点和时间,正确的客户和正确的渠道。那么,企业如何寻找商机线索? 前言 对于企业来说,寻找商机…

数据中的商机

“与数据同行”开通了微信群,分为数据仓库、数据分析、产品经理、数据治理及机器学习五大专业,现已汇聚了4000位小伙伴了,加微信号:frank61822702 申请入群。 正文开始 下面是一篇字数为34639字的深度长文,它的长度明显…

解决ubuntu打不开软件更新器和软件中心的问题

打不开可能是软件源的问题,试试: sudo gedit /etc/apt/sources.list 然后把第三方软件源全部删除掉,重启软件更新器. 如果能够启动,但有提示请检查网络连接的信息,那么点设置,在其它软件选项卡看情况取消勾选一些软件源,可以先只保留Canonical合作伙伴试试: 然后切换到Ubunt…

Ubuntu软件中心不显示软件解决办法

18.04版本的Ubuntu有的会出现软件中心打开是没有软件,空白的,如图所示: 有效解决办法: 终端输入: sudo apt update sudo apt upgrade sudo systemctl reboot如果文章对你有帮助,不要忘了给我点个赞吼(&am…

linux ubuntu软件中心,Ubuntu软件中心

ubuntukylin软件中心是专为Ubuntu Kylin用户制作的一款软件下载中心,和国内几种大型软件管家很是相似,不过ubuntukylin软件中心是支持Linux系统的。 更新日志 1、推荐软件的自动提醒功能:开机后判断若干推荐软件(搜狗输入法、WPS办公软件、金…

Ubuntu常用软件下载

Ubuntu常用软件下载 下载工具uGET编辑器推荐字体Consolas秒表stopwatch福昕pdf阅读器foxit 下载工具uGET Windows下的下载工具–迅雷,之所以下载速度快,乃是它能搜索资源、为己所用,而不是仅仅从原始地址这单一资源处下载。 Ubuntu下也有类…

ubuntu相关软件下载

百度云下载: 第一步:找到百度云官网:https://pan.baidu.com/download,下载linux版本的deb格式。 第二步:找到deb文件的下载位置,打开终端,运行 sudo dpkg -i baidunetdisk_4.3.0_amd64.deb b…