基于分布式应用的中间件
- 格式:doc
- 大小:48.00 KB
- 文档页数:8
TUXEDO中间件介绍及应用TUXEDO(Tuxedo Extended Distributed Object)是一种中间件技术,用于分布式应用程序的开发和管理。
它在1980年代初由AT&T Bell Laboratories开发,旨在帮助开发人员构建可靠的、复杂的分布式应用程序。
TUXEDO的主要特点是具有高度可伸缩性和可靠性。
它采用了基于事务的处理模型,在分布式环境中管理事务处理非常重要。
TUXEDO使用一种称为QT(Queueing and Transaction)的机制来处理事务,它能够确保在分布式环境中的多个服务器之间的事务一致性。
TUXEDO提供了一个面向服务的架构,允许开发人员将应用程序划分为一系列可重用的服务。
这些服务被封装在名为“服务进程(service processes)”的单独运行实体中。
TUXEDO还提供了一个名为“Bulletin Board”的中央注册表,用于跟踪可用服务的位置和状态。
通过这种方式,开发人员可以根据需要动态添加或删除服务,而不会中断正在运行的应用程序。
除了事务管理和服务管理功能外,TUXEDO还提供了一些其他的功能,使开发人员能够更轻松地开发和管理分布式应用程序。
例如,它提供了监视和诊断工具,用于跟踪应用程序的性能和健康状况。
它还提供了故障恢复功能,可以在节点失败时自动重启或迁移服务。
TUXEDO中间件在许多行业中得到广泛应用,尤其是那些需要构建高可靠性和高性能的分布式应用程序的领域。
例如,金融领域的交易处理系统、电信领域的网络管理系统以及电子商务领域的订单处理系统等都可以使用TUXEDO来实现。
总之,TUXEDO是一种先进的中间件技术,用于构建和管理复杂的分布式应用程序。
它提供了高度可伸缩和可靠的处理模型,支持事务管理、服务管理和分布式锁等强大功能。
它在各种行业中得到广泛应用,特别是那些需要高可靠性和高性能的应用程序领域。
分布式对象中间件的概念通俗理解分布式对象中间件的概念通俗理解1. 了解分布式系统在现代科技的发展中,分布式系统变得越来越常见和重要。
简单来说,分布式系统是指由多个独立计算机或节点组成的一个网络,这些节点协同工作来完成一个统一的目标或任务。
分布式系统具有高可用性、可扩展性和容错性等优势,使得其在大规模数据处理、云计算和物联网等领域得到了广泛应用。
2. 什么是分布式对象中间件在分布式系统中,分布式对象中间件(Distributed Object Middleware,简称DOM)起到了至关重要的作用。
DOM是一种软件层,它为分布式系统中的不同计算机之间的通信和协作提供了便利。
DOM允许开发人员将应用程序中的对象分布在不同的计算机上,并通过网络进行交互和通信,就像这些对象存在于同一台计算机上一样。
3. DOM的工作原理DOM的工作原理可以简单概括为三个主要步骤:对象请求、对象定位和对象交互。
客户端发起一个请求,请求某个特定对象的服务或操作。
这个请求通过网络传输到分布式系统中。
接下来,DOM利用一种称为对象定位技术的方法,将请求导向正确的计算机或节点,找到存储着所需对象的位置。
这可以通过利用在系统中注册的对象引用或标识符来实现。
找到对象所在的计算机后,DOM使客户端与对象进行交互。
这包括通过网络传输数据、调用对象的方法或操作等。
DOM负责处理底层的通信协议和远程过程调用(Remote Procedure Call,简称RPC)等细节,使得客户端和对象之间的交互看起来就像是在本地进行一样。
4. DOM的优势和应用DOM的使用带来了许多优势和好处。
DOM提供了一种透明的方式来组织和管理分布式系统中的对象。
开发人员可以像操作本地对象一样操作分布在不同计算机上的对象,简化了开发和维护的工作。
DOM在分布式系统中实现了透明的网络通信,使得不同计算机之间的通信变得简单和高效。
DOM屏蔽了网络通信细节,让开发人员专注于应用程序的业务逻辑。
分布式对象中间件概述分布式对象中间件(Distributed Object Middleware)是一种用于构建分布式应用程序的技术。
它提供了一组工具和库,帮助开发人员在分布式系统中使用对象编程模型,隐藏了底层分布式系统的复杂性。
通过使用分布式对象中间件,开发人员可以实现以下几个目标:1.透明性:分布式对象中间件隐藏了底层分布式系统的复杂性,开发人员可以将分布式系统看作一个本地系统,无需关心底层的网络通信和数据传输细节。
2.可扩展性:分布式对象中间件通过将对象分布在多个节点上实现了系统的可扩展性。
开发人员可以根据实际需求增加或删除节点,并且系统仍然能够以相同的方式运行。
3.容错性:分布式对象中间件提供了容错机制,当一些节点发生故障时,系统可以自动切换到其他可用的节点上,保证系统的可用性。
4.一致性:分布式对象中间件提供了一致性保证机制,保证在分布式系统中的实时数据一致性。
1. 对象管理器(Object Manager):负责管理分布式系统中的对象,包括对象的创建、销毁和迁移等操作。
3. 事务管理器(Transaction Manager):负责管理分布式系统中的事务,包括事务的创建、提交和回滚等操作。
4. 资源管理器(Resource Manager):负责管理分布式系统中的资源,包括内存、存储和网络等资源的分配和释放。
1.客户端通过对象管理器获取分布式系统中的对象引用。
2.客户端调用对象的方法,并将请求发送到本地对象管理器。
3.本地对象管理器将请求转发到分布式对象管理器。
4.分布式对象管理器将请求转发到相应的对象所在的节点。
5.对象节点收到请求后,执行相应的方法,并将结果返回给对象管理器。
6.对象管理器将结果返回给客户端。
1.简化开发:开发人员可以使用面向对象的编程模型来开发和管理分布式系统,而不需要关心底层分布式系统的复杂性。
2.提高可扩展性:分布式对象中间件支持动态添加和删除节点,可以根据实际需求对系统进行扩展。
1、中间件的概念随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。
这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。
比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。
中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。
2、中间件特点及优势通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。
程序员通过调用中间件提供的大量API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和网络协议。
由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。
对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件软件管理着客户端程序和数据库或者早期应用软件之间的通讯。
中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡以及基于Web的计算等。
利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象模型创建分布式应用软件时更加得心应手。
中间件在分布式系统中的作用分布式系统是指由多个节点分布在不同物理位置上的计算机组成的系统。
在这样的系统中,各个节点之间需要协同工作完成特定的任务。
中间件是一类用于处理分布式系统中通信和数据交换的软件模块。
它能够为分布式系统提供一定程度的透明性,使得整个系统可以看作是一个整体,而不是若干个孤立的节点。
本文将探讨中间件在分布式系统中的作用以及在实际应用中的使用场景。
一、中间件的定义中间件是连接网络上不同的软件应用的软件工具,它们不直接与终端用户互动,而是把不同的应用连接起来,让它们能够更好地协同工作。
一般来说,中间件有三个主要的功能:1.透明性:中间件能够把分布式系统中各个节点的差异性隐藏起来,使得系统中各个节点之间可以像单个系统那样协同工作。
2.协议转换:中间件能够把不同的通信协议之间进行转换,使得各种不同类型的应用都能够相互通信。
3.消息路由:中间件能够把消息从一个节点路由到另一个节点,使得数据在网络上的传输变得更加高效。
通常情况下,中间件的功能都集中在分布式系统的应用层上,它们通过网络协议来实现分布式系统中各个节点之间的通信。
二、中间件在分布式系统中的作用中间件在分布式系统中发挥重要的作用,主要体现在以下四个方面:1.实现协同工作:在分布式系统中,各个节点之间需要协同工作完成任务。
中间件的透明性和消息路由能力能够为各个节点之间的通信提供便利,使得不同的节点之间能够无缝协作。
2.高可用性:中间件可以在分布式系统中实现负载均衡,让不同的节点能够承担不同的工作负载,提高整个系统的可用性。
3.提高安全性:中间件能够实现数据的安全传输,保障分布式系统中各个节点之间传输的数据的安全性和完整性。
4.更好的性能:中间件的协议转换和消息路由功能能够使得分布式系统的通信更加高效,从而提高整个系统的性能和响应速度。
三、中间件的使用场景中间件在分布式系统中被广泛使用,以下是一些常见的使用场景:1.消息队列中间件:消息队列中间件用于解决不同系统之间的异步消息通信,实现异步处理。
基于分布式应用的中间件:作用与分类[日期:2006-05-31] 来源:作者:[字体:大中小]陈国良摘要中间件是分布式应用中最为关键的部分,通过对分布式应用的开发者隐藏底层信息,屏蔽网络和分布式应用的复杂性,并为网络和分布式应用提供相应的服务,使得开发者可以集中致力于应用逻辑。
本文在综合定义的基础上,基于中间件所提供的服务综述了中间件的基本作用以及基本分类,并结合当前研究对中间件的发展趋势进行了展望。
关键词中间件,分布式计算一、引言网络和硬件技术的飞速发展,极大地提高了计算机系统的通讯能力。
但是,由于分布式应用程序绝大多数都是在网络环境的异构平台上运行,使得网络和分布式应用的开发、测试和移植中所投入的代价非常高。
在未使用中间件而使用操作系统、网络和数据库直接开发分布式应用程序时,开发者必须面对很多实际困难,包括:(1)复杂性:由于直接面对底层复杂系统,需要处理繁琐的底层信息;(2)异构性:由于操作系统、硬件平台、网络结构和数据库系统的复杂多样性,为适应不同的应用平台,同一软件需要进行大量的兼容性开发,加大了软件开发工作量和复杂程度;(3)数据分布:分布式系统中的数据分布导致如数据的安全性、一致性、效率、性能等问题;(4)重复性:应用之间存在部分相似性,为此需要耗费大量的时间和精力来重复同样的工作。
针对上述困难和问题,可行的解决方法是将软件开发中的共同模式进行抽象和提炼,形成可复用的构件,以利于应用软件的重用,由此产生了中间件[1]。
使用具有高度灵活性、有效性、可靠性和安全性的中间件可以大大减轻开发分布式应用的复杂性和代价。
二、中间件的基本定义由于划分的标准不同,目前对于什么是中间件并没有准确而统一的定义。
在综合现有研究成果的基础上[2][3],我们可以给出如下的关于中间件的完整性定义,即:中间件是位于应用软件与系统基础软件之间的独立的具有相应层次的系统软件或通用服务,通过提取可重用的应用模式以及对标识、认证、授权、目录、安全性等服务的标准化和互操作,为应用提供统一的标准化程序接口和协议,隐藏底层硬件、操作系统和网络的异构性,统一管理网络资源的网络通信,灵活高效地开发分布式应用。
由此定义不难看出,中间件具有如下基本特征:(1)独立性:独立于应用程序和系统软件,保证应用程序接口的稳定性;(2)标准化:支持标准的协议和接口,用来实现互连和应用之间的互操作;(3)层次化:本身具有的一定的层次,构成中间件的层次开发结构;(4)透明性:支持分布计算,提供跨网络、硬件和操作系统的透明性;(5)领域相关性:针对不同的应用领域,需要与应用领域相适应的中间件。
三、中间件的基本作用对于应用软件开发,中间件远比操作系统和网络服务更为重要。
中间件的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件,通常用于系统内部数据库与应用之间的消息传递处理和格式转换,在一些情况下,也可以用于解决两个系统之间的消息传递处理、格式转换等问题[4]。
中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。
其次,中间件作为新层次的基础软件,其重要作用是将不同时期、不同操作系统上开发应用软件集成起来像一个天衣无缝的整体协调工作。
这是操作系统、数据库管理系统本身做不了的,从而节约了大量的人力,财力投入。
另外,在越来越热的电子商务领域,中间件依然大有作为。
中间件可以用来广泛地集成电子商务中的各种应用,支持大量Internet客户的并发访问,使应用开发商快速开发出灵活多变的电子商务应用,并尽快把信息系统和商务活动放到Internet中。
中间件的作用具体体现在它所提供的服务上,主要包括:1. 通讯服务目前的操作系统都支持网络编程接口,但是这些接口通常都是底层的并且非常复杂而不利于使用。
中间件则对分布式应用的开发者屏蔽了复杂的底层网络编程细节。
由于中间件需要屏蔽分布环境中操作系统和网络协议的异构性,因此它必须能够提供分布环境下的通讯服务。
基于目的和实现机制的不同,应用间的分布式通讯包括以下三类:远程过程调用RPC、消息和对象请求代理ORB。
在这些基本的通讯平台之上,可以构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器O TM等。
2. 并发性服务基于中间件的应用必须具有高度可扩展性,通常以每秒所处理的请求或消息的数量来衡量。
这种要求在系统中保证最大化的并发性,这样就可以同时执行尽可能多的任务。
中间件系统使用很多技术和模式来增强并发性,例如在服务器进程中采用多线程技术,多线程技术允许中间件子系统最大化网络连接的处理以及达到这些连接的请求和消息的处理等。
3. 通用中间件支持除了提高通信和并发服务支持外,分布式应用中使用中间件服务来解决那些独立于任何特定应用领域的问题,下面是一些最常用的中间件服务。
l 目录服务目录服务允许应用查看或发现分布的资源,例如命名服务允许应用通过名字发现资源而交易服务则通过资源的属性来发现资源。
目录服务避免了将网络地址的改变或其它细节硬编码到应用中的需要,由于硬编码,当主机地址改变或者应用被移到一个新的主机时将会导致一个非常脆弱和难以维持的系统。
目录服务是自治的,服务不是集中式而是应用于一系列主机上并通过链接形成一个一致的分布式服务。
l 事务服务事务服务协助应用提交或回退事务,在分布式事务处理系统如金融系统或联机订票系统中这样的服务极其关键。
针对这些领域的中间件通常以分布式事务管理器的形式出现。
这些分布式管理器与包含在事务中节点本地的资源管理器一起产生和协调分布式事务。
l 安全服务安全服务提供了分布式系统中的认证和授权支持,这样的服务通常协调各个分布的安全系统,提供单一的签名功能可以用来透明地横跨底层系统为应用提供信任认证功能。
l 管理服务管理服务帮助监控和维护运行中的系统,主要应用于生产领域。
分布式系统中的每个应用可以由操作系统通过一个分布式记录服务错误、警告以及资料信息,并且将警告提交给监控系统来通知系统操作员出现了问题。
l 事件服务事件服务允许应用传递事件消息易变为其它应用所接收,事件服务可以构成警告管理以及任何通常的发布/定购系统的基础。
在PRC系统中,事件服务考虑应用之间的松散耦合,甚至可以提供类似于消息持久的队列功能。
l 连续性服务连续性服务通过管理其不变数据来辅助应用。
为应用提供连续服务可以有多种方法:基于关系数据库的方法、基于面向对象数据库的方法以及基于非典型的数据仓库方法。
不管采取何种方法,中间件连续性抽象层为应用屏蔽掉这些底层的储存机制。
l 负载平衡服务负载平衡服务分配到达的请求或消息到适当的服务应用映像以便及时高效地处理请求,通常情况下,负载平衡服务跟踪每个服务映像的负载并透明地将每个请求或消息转发到负载最小的映像上。
l 配置服务配置服务通过允许中间件的能力被非程序式改变或增强来为应用增加灵活性,通常是通过管理控制台。
这种服务允许应用的行为、性能和伸缩性被改变和调整而不要求应用重新编译。
例如在某些情况下,一个应用可以通过配置服务将它的安全或事务能力进行设置或禁止。
四、中间件的基本分类中间件的分类方法很多,分析众多的分类可以得出,通讯和事务处理中间件是中间件层次划分中最为基本的中间件,它们向下需要网络协议的支持,向上为最高层应用提供基础平台。
因此在上述层次划分的基础上,可以根据功能将中间件进一步细化为以下种类:通信处理中间件(包括远程过程调用中间件和消息中间件)、事务处理中间件、数据存取中间件、分布对象中间件、安全中间件、网络中间件、服务器中间件(包括Web服务器中间件和服务器构架中间件)以及专用平台中间件等。
下面分别加以论述:1. 通信处理中间件由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,因此它必须能够提供分布环境的通讯服务。
通信中间件是唯一不可或缺的中间件,实现基本的通信功能。
通信处理中间件能在不同平台之间进行通信,实现分布式应用中实时、可靠、高效的跨平台数据传输。
早期通信中间件主要是远程过程调用中间件,目前主要采用消息中间件。
l 消息中间件目前越来越多的分布式应用采用消息中间件来构建,通过消息中间件来把应用扩展到不同的操作系统和网络环境。
消息中间件非常适合时间驱动的应用,事件发生后,消息中间件通知服务方应该进行何种操作。
由于采用消息中间API进行编程,消息中间件可以非常方便地扩展到不同操作系统和硬件平台上。
消息中间件的核心安装在需要进行消息传递的系统上,建立消息传递的逻辑通道,由中间件实现消息发送。
消息中间件是一种点到点的机制,既支持同步方式也支持异步方式,因而非常适合面向对象的编程方式,如MQseries和JMS.目前中间件领域最为热门的技术是异步消息中间件。
由于较同步消息中间件具有更强的容错性,在发生系统故障的情况下可以保证消息的正常传输,因而成为增长最快的中间件领域。
异步中间件技术可以分为两类:广播方式和发布/订阅方式。
广播式将消息发给系统的多用用户,发布/订阅方式可以实现消息的分类接收,相对而言后者更加智能有效,已成为异步中间件事实上的标准。
l 消息代理中间件消息代理是一种在数据的源与目的地之间移动数据并使信息处理流畅的软件技术,数据源与目的地包括已有的应用、文件、数据库、对象、硬盘拷贝输出及Web客户端等。
消息代理技术实现之后的产品形式就是消息代理中间件。
作为面向消息的中间件的一部分,消息代理中间件在企业集成中的作用日趋明显。
消息代理中间件主要提供应用集成所必须的数据的传送、收集、翻译、过滤、映射和路由等功能,屏蔽不同的硬件平台、数据库、消息格式、通信协议之间的鸿沟与差异。
提供应用到应用之间高效、便捷的通信能力。
2. 事务处理中间件事务处理是最早应用中间件技术的领域。
事务处理中间件是专门针对联机贸易处理系统设计的,联机事务需要处理大量的并发进程,涉及到操作系统、文件系统、程序语言设计、数据通讯、数据库、系统管理、应用软件等,要确保系统可用性、可靠性、事务完整性以及事务处理之间的独立性,是一个非常复杂的任务,所有这些任务的都可以通过采用事务处理中间件进行简化。
X/OPEN定义了分布式事务处理标准,将联机事务处理系统划分为资源管理、事务管理和应用三部分,规定了应用程序、事务管理器和资源管理器的协同工作模式。
其中资源管理器是指数据库和文件系统,事务管理器是一种特殊形式的事务处理中间件。
事务处理中间件理论上相对成熟,功能和性能界定清晰。
虽然事务处理中间件也是基于消息的传输,同时支持同步和异步方式,但属于专用中间件,无法取代消息中间件,目前基本上仅适用于联机交易系统。
3. 数据存取中间件数据存取中间件适用于应用程序与数据源之间的互操作模型。