什么是中间件?

中间件是一种易于连接到其他软件的软件,允许各种应用程序相互通信。通过这样做,应用程序开发人员可以访问大量增强的功能,而不必从头编写新的集成。

中间件几乎可以在任何位置运行:本地机器、网络服务器或云端之上.中间件有许多类型,但它们的存在都是为了使开发人员能够相对轻松地构建更有雄心的解决方案。

中间件如何工作?

这个软件在日常生活中最明显的例子之一是单点登录(SSO)。每个互联网用户都在网站上看到过单点登录,允许他们登录他们的谷歌,苹果或Facebook ID。

当您使用SSO访问站点时,站点向服务提供者(例如谷歌或Apple)发送一个请求,要求他们进行验证。然后会弹出一个窗口,要求输入密码。如果登录成功,SSO provider会向网站返回消息。

此消息不包含您的密码或任何其他登录详细信息。相反,它包含一个唯一标识符和一条消息,以确认您的登录成功。当网站收到此消息时,它自动完成自己的登录过程。

大多数中间件并不像这个示例那样面向公众。通常,中间件在后台运行,允许系统快速通信和共享数据。当开发人员希望使用外部服务(如数据库)时,他们将在应用程序中包含中间件调用。这确保了应用程序和外部服务可以轻松地一起工作。

中间件的主要类型是什么?

如今,中间件是一个涵盖性术语,用于描述从api到游戏引擎等一切内容。更好地理解这个术语的一种方法是查看各种现有中间件。

远程过程调用(RPC)

RPC是最初的化身。当开发人员使用RPC时,它向远程计算机发送一个调用,并要求远程计算机执行一个函数。例如,客户端系统可能通过RPC发送一个命令来重新启动一个服务。RPC将此命令传输到服务器,服务器解释传入的命令并执行操作。rpc是同步的,因此客户端程序将暂停,直到命令完成。

面向消息中间件(MOM)

MOM在RPC之后引入了异步方法。在此策略中,MOM在服务器和客户机系统之间来回传输消息。客户端系统在发出消息后不会暂停。当它收到一个回复时,它会等待,直到它可以自由地处理它。

事务处理中间件

事务中间件系统监视多个不同服务之间的事务。这让开发人员可以创建TP监视器之类的东西,这有助于在应用程序一起工作时协调它们。近年来,开发人员开始使用事务中间件来帮助监视web服务。

面向数据库的中间件

该类型直接连接到数据源。这对于应用程序开发非常重要,特别是对于与应用程序不驻留在同一位置的数据库。数据库中间件控制进出数据库的数据流,同时允许开发人员执行快速查询和更新。

分布式对象

当编码员转移到面向对象模型时,系统之间的通信变得更容易了。分布式对象或对象请求代理允许对象之间相互调用,即使它们不在同一个系统中。这大大促进了互操作性,因为开发人员只需使用目标对象的方法就可以访问函数。

应用程序接口(API)

api已经成为云时代最常见的中间件形式之一。API是允许外部用户运行操作的简单接口。这些接口创建到底层服务的简单连接,开发人员可以通过一个简单的调用访问该服务。API发布者完全控制用户如何与底层系统交互。RESTful api允许系统在系统之间传递各种数据类型,包括XML和JSON文件。

为什么中间件很重要?

随着时间的推移,中间件已经发展成为全球技术结构的基本部分。开发人员现在认为它是将大多数数字技术结合在一起的粘合剂。这种方法有多种优点,包括:

易于开发:如果没有这个软件,开发人员每次想要使用外部服务时都要不断地构建新的集成。中间件使得与其他系统集成更快、更容易。这对开发人员和供应商都有好处,因为他们希望人们使用他们的服务。

标准化的集成:中间件提供了将任何应用程序链接到外部服务的标准方法。这使得服务提供者更容易预测和管理传入请求。对于开发人员来说,这意味着他们可以在任何上下文中使用其他服务。

增强的安全:它为最终服务提供了额外的安全层。例如,如果应用程序直接访问数据库,则可能导致数据丢失或安全漏洞。在数据库中间件中,有一个额外的层可以防止对数据库的直接访问。

模块化:中间层使在集成的任意一侧进行更改变得更容易。客户机上的更改独立于服务器,反之亦然。它们都需要更改的惟一时间是中间件发生更改时。

得益于中间件范式,开发人员可以用相对较少的工作构建复杂的应用程序。如果没有中间的接口,这是不可能的。

术语汇编

数据集成技术的命名法指南。

Baidu
map