中间件位于操作系统之上,管理计算资源和网络通信,实现应用之间的互操作。中间件将基于不同操作系统、不同数据库、异构的网络环境的信息系统结合成一个有机的协同工作的整体。中间件用自己的复杂换取了企业应用的简单。
中间件是一种独立的系统软件或服务程序,位于操作系统之上,管理计算资源和网络通信,实现应用之间的互操作。分布式应用软件借助它在不同技术之间共享资源。
中间件包括6个基本功能:
1)负责客户机与服务器、客户机与应用层之间的连接与通信
2)提供应用层不同服务、应用层与数据库之间的连接和控制机制
3)提供一个多层架构的开发与运行平台,支持模块化的应用开发
4)屏蔽硬件、操作系统、网络和数据库的差异
5)提供应用的负载均衡和高可用性、安全机制、管理功能、保证交易一致性的交易管理机制
6)提供一组通用的服务执行不同的功能,避免重复的工作和使应用之间可以协作。
不同的角度或不同的层次,中间件的分类也有所不同。采用自底向上的方式来划分,可分为
1)底层中间件
如java虚拟机(JVM),公共语言运行库(CLR)等
2)通用型中间件
如RPC、ORB(Object Request Broker,基于对象请求代理,CORBA的对象总线)、面向消息的中间件。
3)集成型中间件
WorkFlow、EAI(Enterprise Application Integration,企业应用集成,将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术)
中间件技术在企业应用集成中扮演着重要的角色,可以从不同层次采用不同种类、不同技术的中间件产品进行应用集成:
1)传输
2)消息
3)构件
4)过程
1、RPC
远程过程调用。
是一种广泛使用的分布式应用程序处理方法。应用程序可使用RPC来远程执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。这里说的远程,既可以指不同的计算机,也可以指同一计算机上的不同进程。
一个RPC应用可分为2部分:服务器和客户。它们指的是进程而不是机器。
2、ORB
对象请求代理。作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准接口。
3、RMI
远程方法调用。
RPC的java版本。RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义远程对象,集合了Java序列化和Java远程方法协议。RMI大大加强了Java开发分布式应用的能力。
4、MOM
面向消息的中间件(Message-Oriented Middleware,MOM)。利用高效可靠的消息传递机制进行平台无关的数据交换,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,MOM可在分布式环境下扩展进程间的通信,并支持多种通信协议、语言、应用程序、硬件和软件平台。
5、TPM
事务处理监控器(Transaction Processing Monitor,TPM),又称为交易中间件。当前应用最广泛的中间件之一。支持数以万计的客户进程对服务器的并发访问,使系统具有极强的扩展性,因此适用于电信、金融、证券等拥有大量客户的领域。在对可靠性要求严格的关键任务系统中具有明显优势。TPM一般支持负载均衡,分布式两阶段提交,保证事务完整性和数据完整性,并具有安全认证和故障恢复等功能。
从本质上来说,中间件是对分布式应用的抽象,它抛开了与应用相关的业务逻辑细节,保留了典型的分布交互模式的关键特征。经过抽象,将纷繁复杂的分布式系统经过提炼和必要的隔离后,以统一的形式呈现给应用。应用在中间件提供的环境中可以更好地集中于业务逻辑,并以构件的形式存在,最终自然而然地在异构环境中实现良好的协同工作。
而构件与架构紧密相关,跑开架构谈构件没有意义。中间件与构架实际上是从不同的角度看待软件的中间层次。从某种程度上说,中间件就是架构,是构件存在的基础。中间件促进了构件化的实现。
基于中间件开发的应用是构件化的,中间件提供了构件的架构,大大提高了应用构件开发的效率和质量。中间件作为应用软件系统集成的关键技术,保证了构件化思想的实施,并为构件提供了真正的运行空间。反过来,构件对新一代中间件产品也起到了促进作用,构件化的中间件在市场上具有强大的生命力。
1、规范化
2、构件化和松耦合
3、平台化
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!