传统上认为中间件可以分为以下三类
事务是对共享的系统资源所完成的一件工作,它通常由一系列操作所组成。事务必须具有ACID(Atomicity、Consistency、Isolation、Durability) 属性。原子性(Atomicity) 指的是:一个事务要么完整地执行(即做完上述系列操作中的每一个),要么根本不执行,而绝不会出现只执行一部分操作的情况。一致性(Consistency) 指的是:一个事务执行完成,必定进入某个稳定状态,若进入的是另一个不一致的状态,则这一事件将被丢弃而不予执行。隔离性(Isolation) 指的是:一个事务与另一事务并行作用于一个共享资源上时,前一个事务的进行与后一事务的进行是完全地隔离开的。耐久性(Durability) 指的是:当一个事务完成时,即使系统活共享资源发生崩溃,该事务执行的结果也不会因此而丢失。事务处理监视器则是为维护事务的ACID属性而设计的软件进程。根据X/Open DTP 模型,本地的事务管理可由数据库系统(内含事务处理功能的)来完成,事务处理中间件则主要对于分布式计算环境中产生的事务进行监控和管理。这是因为数据库虽然对本地的事务管理已可应付,但通过一个广域网进行分布式事务管理并不是数据库的强项,特别是一笔事务处理涉及异构数据库时更是如此。事务处理中间件把自己的事务管理功能和数据库已有的事务管理能力有机地结合在一起,实现对分布式事务处理的全局管理。
在不同的网络硬件平台、不同的操作系统乃至不同的网络协议上的应用程序之间有时需要传送消息,这时应用程序对传送的要求是所传消息的内容可靠和可恢复(若发生意外),而并不要求消息的即时即刻传递到达对方。因此,需要一种面向消息的中间件(Message-Oriented Middleware,MOM),简称消息中间件。这种中间件根据要交换的消息在应用之间建立连接,它既允许各应用运行在不同的节点机上,又允许不必标准化的消息格式。中间件能确保把消息不重复地传送到适当的目的地。消息中间件有两种基本的工作模型:消息队列(Message Queuing) 和发布 - 预定(Publish - and - Subscribe) 。在前一种模型里,消息被发送到一个队列里,收件人可以在任何时候查看队列。消息队列类似于运行得很好的电子邮件系统:传输质量得到保证,但并不知道收件人是否阅读到该消息。发布 - 预定模型则把消息广播到多个收件人,并且常常使用多址广播作为基本传输手段。发送方将消息发送到一个特定队列,客户机可以对该队列作预定,并从中取出消息。
分布式中间件实现了真正的通用软件总线,具有优良的互操作性和应用程序集成能力。这些应用程序可以位于网络的任何地方,彼此实现透明协作,即使是向不同供应商购买的产品也可以协同工作。分布式中间件可以采用的标准和规范有:DEC 的 DEC,ISO、IEC 和 ITU-T联合指定的国际标准RM-ODP和OMG制订的规范CORBA,非规范的有Microsoft公司的DCOM和SUN公司的J2EE。就目前从实际应用的情况看,RM-ODP主要对主要其他规范有指导作用,起着元标准(即标准的标准)的角色。CORBA在市场的占有率最高,究其原因是技术较为成熟、支持的厂商多和用户易于为自己的平台找到使用的产品。DCOM则主要在Windows平台使用较多,这些分布式中间件下层的基础都为远程过程调用。
从企业应用来说,使用中间件的企业可以获得以下好处
从应用程序来说,利用中间件可以获取如下优点
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!