定义
定义1:在一个分布式系统环境中,处于操作系统和应用程序之间的软件。
定义2:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算机资源和网络通信。
分布式系统中间件示意
特点
- 中间件是
一类
软件,而非一种
软件 - 不仅实现互联,还实现应用之间的互操作
- 机遇分布式处理的软件嘛,最突出的特点是
网络通信
功能
功能
1、负责客户机和服务器之间的连接和通信;
2、提供客户机与应用层的高效率通信机制;
3、提供应用层不同服务之间的互操作机制;
4、提供应用层与数据库之间的连接和控制机制;
5、提供一个多层结构应用开发和运行的平台;
6、提供一个应用开发框架,支持模块化的应用开发;
7、屏蔽硬件、操作系统、网络和数据库;
8、提供交易管理机制,保证交易的一致性;
9、提供应用的负载均衡和高可用性;
10、提供应用的安全机制和管理功能;
11、提供一组通用的服务去执行不同的功能,为的是避免重复的工作和使应用之间可以协作。
中间件的优越性
1、缩短应用的开发周期;
2、节约应用的开发成本;
3、减小系统初期的建设成本;
4、降低应用开发的失败率;
5、保护已有的投资;
6、简化应用集成;
7、减少维护费用;
8、提高应用的开发质量;
9、保证技术迚步的连续性;
10、增强应用的生命力。
典型的中间件技术
- Sun公司的
EJB/J2EE
- Microsoft公司的
COM
、COM+
、DCOM
- OMG公司的
CORBA
、OMA
- Java远程方法调用(
Java RMI
)