【每日闲聊】--- 中间件到底是什么?

1. 前言

  我最近在工作中听到很多同事在谈论中间件,但是中间件的确切定义是什么?当我研究中间件时,我发现了很多信息和一些定义,但是在阅读这些信息和定义时,似乎大多数 wares 都处于某种事物的中间,起到连接作用。

2. 中间件的职能和作用

  而在软件领域,中间件的主要职能和作用是:它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

  中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。中间件独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

3. 中间件的概念

  假设您的公司生产4种不同的产品,您的客户拥有来自另外3家不同公司的另外3种不同的产品。

  有一天,客户想,我们为什么不把所有的系统整合到一个巨大的系统中。十分钟后,他们的IT部门表示这将需要2年时间。

  而这时,你(明智的开发人员)说,我们为什么不整合所有不同的系统,让它们在一个 homogeneous environment 中协同工作呢?客户经理盯着你…您继续说,我们将使用中间件,我们将研究所有不同系统的输入/输出,它们使用的资源,然后选择适当的中间件框架。

  仍然向非技术经理解释,有了中间件框架,第一个系统X将产生 stuff ,系统Y和Z将消耗这些输出,依此类推。

  中间件是一个非常模糊的术语。在一种情况下是"中间件",在另一种情况下可能就不再是"中间件"。通常,您可以期望归类为中间件的东西具有以下特征:

  • 主要是(通常是唯一的)软件;通常不需要任何专用硬件。
  • 如果它不存在,依赖于它的应用程序将不得不将其作为其应用程序的一部分,并且会遇到很多重复。

  我们几乎可以肯定,中间件需要连接两个应用程序并在它们之间传递数据。

  您会注意到,这与操作系统的定义几乎相同。因此,例如,TCP / IP堆栈或缓存可以被视为中间件。但是您的操作系统也可以提供相同的功能。实际上,中间件可以被认为是操作系统的特殊扩展,特定于依赖于它的一组应用程序。它只是提供更高级别的服务。
中间件的一些示例:

  • 分布式缓存
  • 消息队列
  • 事务监视器
  • 数据包重写器
  • 自动备份系统

  维基百科有一个很好的解释:

Middleware is computer software that connects software components or applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact.

4. 中间件的应用

我知道(至少)有三种不同的定义

  • 在商业计算中,中间件是应用程序和服务之间的消息传递和集成软件

  • 在游戏中,中间件是非常好的第三方提供的任何东西

  • 在(一些)嵌入式软件系统中,中间件提供应用程序使用的服务,这些服务由硬件抽象层提供的功能组成 - 它位于应用程序层和硬件抽象层之间。

简单地说,中间件是一个软件组件,它提供服务以将不同的系统集成在一起。

在复杂的企业环境中,当您需要将两个或多个企业系统集成在一起以相互通信时,存在许多挑战。通常,这些系统不能理解彼此的语言,因为它们是在使用不同语言(如C++,Java,Cobol等)的不同平台上开发的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ʚ兔子的先森ɞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值