中间件
中间件
目前对中间件还没有形成一个统一的定义,下面是现在两种普遍比较认可的定义
1:在一个分布式系统环境中处于操作系统和应用程序之间的软件
2:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件为客户机服务器的操作系统之上,管理计算机资源和网络通信。
中间件的分类(多种方式,这里叙述两种)
1.自底向上
(1)底层型中间件:主流技术有
JVM(Java Virtual Machine , Java虚拟机)、
CLR(Common Language Runtime , 公共语言运行库)、
ACE(Adaptive Communication Environment , 自适配通信环境)、
JDBC(Java Database Connectivity , Java数据库连接)、
ODBC(Open Database Connectivity , 开放数据库互联)等
(2)通用型中间件:主流技术有
CORBA(Common Object Request Broker Architecture , 公用对象请求代理体系结构)
J2EE
MOM(Message-Oriented Middleware , 面向消息的中间件)
COM 等
(3)集成型中间件:主流技术有
WorkFlow
EAI(Enterprise Application Integration , 企业应用集成) 等
2.细化
(1)事务式中间件:主要功能是提供联机事务处理所需要的通信、并发访问控制、事务控制、资源管理、安全管理、负载平衡、故障恢复和其他必要的服务。
(2)过程式中间件:过程式中间件又称远程过程调用中间件。过程中间件一般从逻辑上分为两部分:客户和服务器。客户和服务器是一个逻辑概念,既可以运行在同一计算机上,也可以运行在不同的计算机上,甚至客户和服务器底层的操作系统也可以不同。客户机和服务器之间的通信可以使用同步通信,也可以采用线程式异步调用。
(3)面向消息的中间件:简称为消息中间件,是一类以消息为载体进行通信的中间件,利用高效可靠的消息机制来实现不同应用间大量的数据交换。按其通信模型的不同,消息中间件的通信模型有两类:消息队列和消息传递。通过这两种消息模型,不同应用之间的通信和网络的复杂性脱离,摆脱对不同通信协议的依赖,可以在复杂的网络环境中高可靠、高效率的实现安全的异步通信。
(4)面向对象中间件:面向对象中间件又称分布对象中间件,是分布式算术技术和面向对象技术发展的结合,简称对象中间件。分布对象模型是面向对象模型在分布异构环境下的自然拓广。
(5)Web应用服务器:Web应用服务器是Web服务器和应用服务器相结合的产物。应用服务器中间件可以说是软件的基础设施,利用构件化技术将应用软件整合到一个确定的协同工作环境中,并提供多种通信机制,事务处理能力,及应用的开发管理功能。
(6)其他:新的应用需求、新的技术创新、新的应用领域促成了新的中间件产品的出现。
优点:
- 满足大量应用的需求
- 运行于多种硬件和OS平台
- 支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能
- 支持标准的协议
- 支持标准的接口