作用
1.屏蔽操作系统的复杂性,屏蔽技术之间的局限性<br>
2.能够达到资源共享、功能共享
3.同时也把 中间件 与 支撑软件 和 实用软件 区分开来
4.管理计算资源和网络通信
5.为处于自己上层的一种或多种应用程序提供运行与开发的环境、合作互通、资源共享<br>
6.为帮助用户灵活、高效地开发和集成复杂的应用软件<br>
7.为上层应用软件提供开发、运行和集成的平台
8.解决了异构网络环境下软件互联和互操作
9.提供标准接口、协议,为应用软件间共享资源提供了可复用的“标准件”
使用前提
互通性(协议)<br>
限制:中间件技术必须遵循一定的规范和协议,例如 TCP/IP、UDP协议等等,只有遵守一定的协议才能去处理事情。<br>
eg:MySQL 就遵循了 TCP/IP 协议,平常的开发中使用不同的编程语言比如 Java、Go、Python 等来操作 MySQL 的前提也是要遵循 TCP/IP协议<br>
PS:TCP/IP 协议是底层的操作系统协议,它并不能满足我们业务场景中的所有需求,所以在其基础上构建一个自己请求信息来实现一个新的协议<br>eg: AMQP 协议就在信息头中增加消息内容tag标签、队列名、交换机名、连接定制信息等等。<br>
特点
1. 满足大量应用的需要<br>
2. 运行于多种硬件和OS平台<br>
3. 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互<br>
4. 支持标准的协议<br>
5. 支持标准的接口
6.脱离于具体设计目标,而具备提供普遍独立功能需求的模块<br>
衍生背景<br>
客观原因
逐渐进行信息化建设,由于方法和体系的不成熟,以及企业业务和市场需求的不断变化,—个企业可能同时运行着多个不同的业务系统<br>
技术因素
这些系统可能基于不同的操作系统、不同的数据库、不同的编程语言、异构的网络环境。
问题
如何把这些信息系统结合成一个有机地协同工作的整体,真正实现企业跨平台、分布式应用。
解决方式
为解决分布异构问题 , 中间件便是解决之道,它用自己的复杂换取了企业应用的简单<br>
简介
介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务 , 以便于软件各部件之间的沟通
中间件企业级开发意义
标准化<br>
由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已经成为许多标准化工作的主要部分。<br>
重要性地位
应用软件开发,中间件 远比 操作系统 和 网络服务更为重要<br>
提供的帮助
环境: 提供的程序接口定义了一个相对稳定的高层应用环境
可变:不管底层的计算机硬件和系统软件怎么更新换代,只要将中间件升级更新
不变:并保持中间件对外的接口定义不变,应用软件几乎不需要修改
带来的优势
保护了企业在应用软件开发和维护中的投资额度
引擎 or 中间件 自检
中间件
具有脱离于具体设计目标特性,而具备提供普遍独立功能需求的模块—可替换<br>
引擎
如果一个系统设计中,中间件是不可替换的,不是架构、框架设计有问题,那么就是这个中间件,在别处可能是个中间件,在这个系统内是引擎<br>