个人看完这篇文章后的一点感想: 试想一下某国的武器库中有一种很厉害的武器,当这个国家和其他国家爆发争端的时候,这个国家想要使用该武器,但是他们却无法将该武器投送到战场。中间件就是用来解决这个投送过程的。
中间件是一种多用途软件,可为操作系统提供的应用程序之外的应用程序提供服务。 内核和用户应用程序之间的任何软件都可以是中间件。
分析师和系统理论家Nick Gall说:“中间件是关于软件的软件。” 中间件不提供传统应用程序的功能,它将软件连接到其他软件。 中间件是您的IT基础架构的管道,因为中间件允许数据从一个应用程序流向另一个应用程序。 例如,Apache Kafka是开源中间件,可为您的应用程序提供实时数据流功能。
帝国与企业
古罗马是历史上最引人注目的卫生系统之一。 渡槽和下水道的复杂网络非常重要,普林尼长老将它们视为罗马“最值得注意的成就”。 就像罗马的渡槽带水一样,企业中间件将数据从一个地方传送到另一个地方。 我们并不是说中间件是人类最伟大的成就,但是许多其他 - 或许更值得注意的 - 软件可以因为中间件而起作用。
管道可能看起来像中间件的一个简陋的比喻,但两者对于运营像罗马这样的大型复杂系统至关重要。 您的企业类似于快速发展的城市:城市的所有部分都需要水,就像企业的所有部分都需要数据一样。 没有管道,一个城市效率低下且彻底凌乱。 没有中间件,您的企业也是一样的。
有哪些中间件?
中间件可以包含各种软件,包括:
应用程序编程接口(API)
API是用于构建应用程序软件的工具,定义和协议集,它使您的产品或服务可以与其他产品和服务进行通信,而无需了解它们的实现方式。
应用服务器
应用程序开发平台(如RedHat®JBoss®EnterpriseApplication Platform)。 应用程序服务器是一个框架,它提供创建应用程序的功能和运行它们的服务器。
应用集成
应用程序集成是通过集成框架组合来自多个应用程序的数据的实践。 该框架可以限制整个组织中的点对点连接数,这可能导致复杂的依赖关系和潜在的失败点。
数据集成
数据集成是将来自异构源的数据组合到用户访问和操作的统一视图中的实践。
事务处理(TP)
TP通过控制事务应用程序,实施业务逻辑和规则或推送数据库更新来维护系统(通常是数据库或文件系统)的完整性。
远程程序调用(RPC)
客户端 - 服务器交互,允许应用程序或功能跨多个平台分布。
面向消息的MIDDLEWARE(MOM)
通过添加排队机制对RPC进行改进,该机制允许客户端 - 服务器交互在目标节点缓慢或繁忙的情况下异步发生。
OBJECT REQUEST BROKER(ORB)
另一种客户端 - 服务器交互,允许访问远程服务,就像它们是本地的一样。 服务器进程向ORB注册,客户端联系ORB以查找这些服务。
为什么要关心中间件?
如果数据就像公司管道中的水一样,那么考虑一下,如果你不需要拿水桶,前往水泵,用水填充水桶,并将其拉回到原来的位置,那么会有多好。 没有中间件,这就是你每次想要工作时所做的事情。 将数据通过管道传输到企业中的任何位置都会更方便,更高效。
您可以根据需要获得哪些数据?
当您跨应用程序集成数据时,您可以专注于为组织创建很酷的新东西,而不是将时间花在手动流程上。 例如,通过现代应用程序平台,开发人员可以专注于开发应用程序功能,而不是管理他们的应用程序如何与其他环境集成。