Frameworks 中间件到底是什么?

Frameworks 中间件到底是什么?,frameworks,middleware,Frameworks,Middleware,我最近听到很多人谈论中间件,但是中间件的确切定义是什么?当我查看中间件时,我发现了大量的信息和一些定义,但是在阅读这些信息和定义时,似乎大部分的“商品”都在某个中间。那么,所有的东西都是中间件吗 或者你有一个不是中间件的软件的例子吗?维基百科有一个很好的解释: 首先是 中间件是连接软件组件或应用程序的计算机软件。该软件由一组服务组成,允许在一台或多台计算机上运行的多个进程进行交互 给出了一些示例。一些中间件示例:CORBA、远程方法调用(RMI) 上面提到的示例都是软件,允许您处理不同进程之间的

我最近听到很多人谈论中间件,但是中间件的确切定义是什么?当我查看中间件时,我发现了大量的信息和一些定义,但是在阅读这些信息和定义时,似乎大部分的“商品”都在某个中间。那么,所有的东西都是中间件吗


或者你有一个不是中间件的软件的例子吗?

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

首先是

中间件是连接软件组件或应用程序的计算机软件。该软件由一组服务组成,允许在一台或多台计算机上运行的多个进程进行交互


给出了一些示例。

一些中间件示例:CORBA、远程方法调用(RMI)

上面提到的示例都是软件,允许您处理不同进程之间的通信(在同一台机器上运行或分布在互联网上)

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

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

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

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


假设您的公司生产4种不同的产品,您的客户从另外3家不同的公司获得另外3种不同的产品

有一天,客户想,我们为什么不把所有的系统集成到一个巨大的系统中呢。十分钟后,他们的IT部门说这需要两年的时间

你(聪明的开发人员)说,我们为什么不集成所有不同的系统,让它们一起工作呢?客户经理盯着你看。。。您继续说,我们将使用中间件,我们将研究所有不同系统的输入/输出,以及它们使用的资源,然后选择合适的中间件框架

仍在向非技术经理解释

在中间件的框架中,第一个系统会产生X的东西,系统Y和Z会消耗这些输出等等。

中间件是一个非常模糊的术语。在一种情况下什么是“中间件”,在另一种情况下就不会出现。通常,您可以期望被归类为中间件的东西具有以下特征:

  • 主要(通常仅限于)软件;通常不需要任何专用硬件

  • 如果它不存在,依赖它的应用程序将不得不将其作为应用程序的一部分合并,并将经历大量重复

  • 几乎可以肯定,连接两个应用程序并在它们之间传递数据

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


中间件的一些示例:

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

根据我自己的网络工作经验,中间件是用户(网络浏览器)和后端数据库之间的东西。正是软件接收了用户输入的内容(例如:iPad订单,执行了一些神奇的业务逻辑,即检查是否有足够的iPad可用于填写订单),并更新了后端数据库以反映这些更改。

中间件是用于“粘合”的软件的通用术语,通常是复杂且已经存在的程序。一些经常与中间件连接的软件组件包括企业应用程序和Web服务。

我一直认为它是我必须安装的最古老的软件。整个应用程序使用了一个web服务器、一个数据库服务器和一个应用程序服务器。web服务器是数据和应用程序之间的中间件。

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

在复杂的企业环境中,当您需要将两个或多个企业系统集成在一起以相互通信时,会遇到许多挑战。通常,这些系统不理解彼此的语言,因为它们是在不同的平台上使用不同的语言(如C++、java、COBOL等)开发的。p> 因此,图中的中间件软件提供了如下服务

  • 将消息格式从一个应用程序转换为另一个应用程序
  • 路由和丰富消息除了考虑安全性
  • 加密
  • 验证和
  • 对这些消息应用不同的业务规则
中间件的一个典型示例是ESB产品,如IBM message broker(WMB/IIB)、WESB、Datapower XI50、Oracle Fusion、Mule和许多其他产品


因此,中间件主要位于服务消费应用程序和服务提供商应用程序之间,帮助这些应用程序相互通信。

中间件是关于我们的应用程序如何响应传入请求的。中间件查看传入的请求,并根据该请求做出决策。我们只能使用中间件构建整个应用程序。例如,ASP.NET是一个web框架,由以下主要HTTP中间件组件组成

  • 异常/错误处理
  • 静态文件服务器
  • 认证
  • MVC
  • 如上图所示,存在各种mi