中间件
有时会听到“中间件”这个词,不懂,隐约地觉得很高大上。我直觉那是个跟小型机、UNIX/LINUX、JAVA等牵扯在一起的东东。
一、究竟啥是中间件?
网络上竟然找不到一个确切的定义。总结起来,中间件是一种独立的软件,位于两个或多个系统之间,起联结通信、数据处理作用。(在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。)
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
二、中间件有以下特征或优点:
1、独立性。
中间件独立存在。是运行时刻的系统软件,为上层的网络应用系统提供一个运行环境,并通过标准的接口和API来隔离其支撑的系统,实现独立性。
例如j2ee应用服务器,提供JAVA应用的运行环境,是经典的中间件。
2、应用支撑
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
3、复用
这个好理解。
4、松耦合
利于整个系统结构逻辑分离,解耦。
5、互操作性
中间件通过标准化API和接口,实现了不同系统(同类或异构)之间的调用互操作。
三、中间件与SOA的关系
基于中间件的定义和作用,让人觉得它很像SOA。那么二者是啥关系?
SOA与中间件的关系最为紧密,可以理解为鱼与水的关系。这种关系包括两层意思:一是说采用中间件产品可以很好的构建SOA的应用;再就是采用中间件产品开发出来的应用,将很容易被整合进SOA架构。
据说,中间件将成为SOA的主要实现平台。
参考文章:
未来中间件 操作系统 数据库走向融合
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步