个人理解:
将具体业务和底层逻辑解耦的组件。
大致的效果是:
需要利用服务的人(前端写业务的),不需要知道底层逻辑(提供服务的)的具体实现,只要拿着中间件结果来用就好了。
举个例子:
我开了一家炸鸡店(业务端),然而周边有太多屠鸡场(底层),为了成本我肯定想一个个比价,再综合质量挑选一家屠鸡场合作(适配不同底层逻辑)。由于市场变化,合作一段时间后,或许性价比最高的屠鸡场就不是我最开始选的了,我又要重新和另一家屠鸡场合作,进货方式、交易方式等等全都要重来一套(重新适配)。
作者:Gocy
链接:https://www.zhihu.com/question/19730582/answer/140527549
来源:知乎
由于业务、机构和技术是不断变化的,因此为其服务的软件系统必须适应这样的变化。在合并、添加服务或扩展可用服务之后,公司可能无力负担重新创建信息系统所需的成本。正是在这个关键时刻,才需要集成新组件或者尽可能高效地扩展现有组件。要集成异类组件,最方便的方法不是将它们重新创建为同类元素,而是提供一个允许它们进行通信(不考虑它们之间的差异)的层。该层被称作 中间件,它允许独立开发且运行于不同网络平台上的软件组件(应用程序、Enterprise Java Bean、Servlet 和其他组件)彼此交互。当能够进行这样的交互时,网络才成为计算机。以上内容摘自oracle,连接在这里:
面向消息的中间件 (Message-Oriented Middleware, MOM) (Sun Java System Message Queue 3.7 UR1 技术概述)
IBM的中间件搞得也不错,每年好多软件收入来自中间件,当然还有传说中的数据库
作者:stardust93
链接:https://www.zhihu.com/question/19730582/answer/75127663
来源:知乎