基于分布式应用的中间件
TUXEDO中间件介绍及应用

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.提高可扩展性:分布式对象中间件支持动态添加和删除节点,可以根据实际需求对系统进行扩展。
一种用于分布式工作流系统的消息中间件

在 复 杂 的应用 场 合 中 .通 讯 程序 之 间不 仅可 以是 通信 系统 的许多 功能都 没有 提供支持 .需 要编写 自己 对 一 的关 系 。 还可 以进 行一对 多 和多 对一 方式 , 至 的控 制程序 。 比如 超时处 理 ,Q 甚 S L就 不处理 它 , 要一 需
是 上述 多种 方式 的组 合 。多种 通讯 方式 的构 造并 没有 个程序 ( 或许 还要 与工作 流逻 辑的其 他部 分结 合 在一 增 加应 用程 序 的复杂性 。 起) 来定 期扫描 表 . 以发现 超过规 定时 间长度 的记 录并 ( ) 程 序与 网络复 杂性相 隔离 3 将 它们处 理为超 时消息 。 程 序 将 消息 放入 消 息 队列或 从 消息 队列 中取 出消 息来 进行 通讯 . 与此关联 的全 部活 动 , 比如 维护 消息 队 限于篇 幅 , 现摘 录相关 控制代码 片段如 下 :
Ⅱ o d re it h n P o e s r c r r e x ss t e r c s e o d Add e ty t a k n / d tn a l n r o Tr c i g Au i g t b e i
列 、 护程 序 和 队列 之 间的关 系 、 理 网络 的重新 启 动 维 处 和在 网络 中移 动 消息 等是 MO 的任务 ,程序 不 直接 M 与其 它程 序通话 . 并且 它们 不涉 及 网络 通讯 的复 杂性 。
消 息 中 间 件 可 以作 为构 造 分 布 式 系 统 应 用 的平 台 . 很 多 系 统 上 都 有 使 用 , 如 Wid W n O s平 台 上 的 MS MQ. N X平 台的 MQ eis U I S r 。有 很多 种 实现消息 中 e 间 件 的 方 法 ,如 微 软 公 司 提 供 的 Mi oot Q (' c sf r ?S Lr I M) S re 、 coo .E evrMi sf M T和 Mirsf 消息 队列 ( MQ 、 r t coot MS ) M coo i akT ) evr 在 J V irsfB z l(M S re . A A分 布 系统 的通 讯 t T
中间件概念优点应用领域

1、中间件的概念随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。
这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。
比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。
中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。
2、中间件特点及优势通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。
程序员通过调用中间件提供的大量API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和网络协议。
由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。
对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件软件管理着客户端程序和数据库或者早期应用软件之间的通讯。
中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡以及基于Web的计算等。
利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象模型创建分布式应用软件时更加得心应手。
中间件在分布式系统中的作用

中间件在分布式系统中的作用分布式系统是指由多个节点分布在不同物理位置上的计算机组成的系统。
在这样的系统中,各个节点之间需要协同工作完成特定的任务。
中间件是一类用于处理分布式系统中通信和数据交换的软件模块。
它能够为分布式系统提供一定程度的透明性,使得整个系统可以看作是一个整体,而不是若干个孤立的节点。
本文将探讨中间件在分布式系统中的作用以及在实际应用中的使用场景。
一、中间件的定义中间件是连接网络上不同的软件应用的软件工具,它们不直接与终端用户互动,而是把不同的应用连接起来,让它们能够更好地协同工作。
一般来说,中间件有三个主要的功能:1.透明性:中间件能够把分布式系统中各个节点的差异性隐藏起来,使得系统中各个节点之间可以像单个系统那样协同工作。
2.协议转换:中间件能够把不同的通信协议之间进行转换,使得各种不同类型的应用都能够相互通信。
3.消息路由:中间件能够把消息从一个节点路由到另一个节点,使得数据在网络上的传输变得更加高效。
通常情况下,中间件的功能都集中在分布式系统的应用层上,它们通过网络协议来实现分布式系统中各个节点之间的通信。
二、中间件在分布式系统中的作用中间件在分布式系统中发挥重要的作用,主要体现在以下四个方面:1.实现协同工作:在分布式系统中,各个节点之间需要协同工作完成任务。
中间件的透明性和消息路由能力能够为各个节点之间的通信提供便利,使得不同的节点之间能够无缝协作。
2.高可用性:中间件可以在分布式系统中实现负载均衡,让不同的节点能够承担不同的工作负载,提高整个系统的可用性。
3.提高安全性:中间件能够实现数据的安全传输,保障分布式系统中各个节点之间传输的数据的安全性和完整性。
4.更好的性能:中间件的协议转换和消息路由功能能够使得分布式系统的通信更加高效,从而提高整个系统的性能和响应速度。
三、中间件的使用场景中间件在分布式系统中被广泛使用,以下是一些常见的使用场景:1.消息队列中间件:消息队列中间件用于解决不同系统之间的异步消息通信,实现异步处理。
分布式对象中间件概述

接口定义 开发语言
平台 通信
CORBA DCOM
EJB CORBA DCOM
EJB
OMG IDL接口支持多语言 与C++紧密集成
JAVA RMI API接口定义和JAVA 支持异构平台间通信 仅限WINDOWS平台
几乎所有OS和WEB服务器、浏览器
发展趋势——标准化
❖ 标准是业界共同遵守的技术格 式。由于中间件还是一项发展 中的技术,作为基础的标准化 工作仍在进行中,所以当前流 行的来自不同厂家之间的中间 件产品还很难实现互操作。目 前使用最广泛是OMG的 CORBA和Microsoft的 DCOM两种标准,但它们在 具体实现时差别很大,使用的 标准也不同。
分布组件对象模式 DCOM
客户
COM
安全 提供
DEC RPC
协议栈
COM
安全 提供
DEC RPC
协议栈
组件
DCOM网 络协议 ORPC
JAVA商业应用组件技术EJB
❖ EJB是Sun推出的基于Java的服务器端构件规范 J2EE的一部分,自从J2EE推出之后,得到了广泛 的发展,己经成为应用服务器端的标准技术。
产生背景分布式对象体系结构bs体系结构cs体系结构客户机和服务器地位不同将应用处理层抽象出来web服务器的响应速度成为瓶颈基于组建思想由一组对象来提供系统服务对象之间能跨平台通信分布式对象中间件的任务是处理分布式对象之间的通信产生背景面向对象技术通过封装继承及多态提供了良好的代码重用功能分布式技术将网络上的所有资源互相连接起来对外表现为一个统一的整体对客户是透明的不必区分本地操作和远程操分布式对象体系结构基本组件就是对象它们提供一组服务对外给出服务接口对象之间可以相互调用服务对象之间不存在客户机和服务器的界限产生背景软件总线中间件对象目前比较著名的分布式对象中间件技术有
物联网中间件

在该类中间件中,整个物联网被看作是一个虚拟的数据库系 统,为用户的查询提供简单的接口。Cougar、TinyDB及SINA是 这类中间件的典型代表。
3.基于应用驱动的物联网中间件
这类中间件主要由应用来决定网络协议栈的结构,允许用户 根据应用需求调整网络,其典型代表为MILAN中间件。
J2EE和CORBA的最大区别是,CORBA只是针对单个对象, 而不是被应用服务器自动管理的可部署的服务器端组件。 CORBA的特点是大而全,互操作性和开放性非常好;缺点是庞 大而复杂,并且技术和标准的更新相对较慢。
物联网典型中间件
传感网网关中间件
传感网网关中间件软件系统结构(如下图)主要分为6个部 分:主控模块、公共信息中间件、通用API模块、中间件管理模 块、消息管理模块、功能性中间件模块。
客户层
客户端
中间层
客户端
应用服务器
数据层
数据库
客户端
用户界面
业务逻辑
数据逻辑
中间件技术标准
1、COM
COM(Component Object Model,组建对象模型)通过底层 的远程支持使得构件技术延伸到了分布式应用领域。COM是 Microsoft提出的一种组件规范,其多个组件对象可以连接起来形成 应用程序,并且在运行时,可在不重复连接或编译的情况下被卸载 或换掉。COM既是规范,也是实现。它以COM库的形式提供了访 问COM对象核心功能的标准接口及一组API函数,这些API用于实现 创建和管理COM对象的功能。
(1) 提供安全机制(在协议 栈)。 (2) 安全管理功能(部分在协 议栈,上位机配合,功能可 方便扩展)。 (3) 安全监控功能(上位机配 合)。
根据组件提供的功能将安全中间件分为4层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于分布式应用的中间件:作用与分类[日期: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. 数据存取中间件数据存取中间件适用于应用程序与数据源之间的互操作模型。