中间件及其应用
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是一种先进的中间件技术,用于构建和管理复杂的分布式应用程序。
它提供了高度可伸缩和可靠的处理模型,支持事务管理、服务管理和分布式锁等强大功能。
它在各种行业中得到广泛应用,特别是那些需要高可靠性和高性能的应用程序领域。
dds 中间件在车载控制中的典型应用

dds 中间件在车载控制中的典型应用
DDS(Data Distribution Service)中间件在车载控制中具有许多典型应用。
以下是其中一些常见的应用场景:
1. 车辆网络通信:车载控制系统中的各个子系统(例如发动机控制、车身控制、安全系统等)需要进行实时的、可靠的数据通信。
DDS 中间件提供了高效的数据分发机制,可以在车辆网络中实现实时、可靠的数据传输。
2. 远程诊断和维护:DDS中间件可以用于车辆远程诊断和维护。
车辆通过DDS中间件将诊断数据传输到远程维护中心,维护人员可以实时监控车辆的状态,并进行相应的维护操作。
3. 车辆控制指令传输:DDS中间件可以用于车辆控制指令的传输。
例如,中央控制器可以通过DDS中间件将控制指令发送给车辆的各个子系统,实现对车辆的远程控制。
4. 数据采集和分析:DDS中间件可以用于车载控制系统中的数据采集和分析。
例如,车辆可以通过DDS中间件将传感器数据传输到数据采集系统,然后进行实时的数据分析和处理。
5. 多车辆协同控制:DDS中间件可以用于多个车辆之间的协同控制。
例如,在车队行驶场景中,各个车辆可以通过DDS中间件实时共享位置信息、速度信息等,并进行协同控制,提高车队的行驶效率和安全性。
DDS中间件在车载控制中具有广泛的应用,可以实现车辆之间的实时通信、数据传输和协同控制,提高车辆的性能和安全性。
rfid中间件的原理与应用

RFID中间件的原理与应用1. 介绍RFID(无线射频识别)技术是一种通过无线通信实现物体自动识别的技术,广泛应用于物流管理、库存追踪等领域。
RFID中间件是在RFID系统中起到连接和协调作用的软件模块,负责处理各级硬件设备之间的数据交互。
本文将介绍RFID 中间件的工作原理和应用场景。
2. RFID中间件的工作原理RFID中间件作为RFID系统中的核心组件,通过以下几个步骤实现数据的采集和处理:2.1 数据采集RFID系统由一组RFID读写器和一组RFID标签组成。
RFID读写器通过射频信号与标签进行通信,读取标签上的信息。
RFID中间件负责接收RFID读写器发送的原始数据,并解析出标签的唯一标识符(UID)和其他相关信息。
2.2 数据处理RFID中间件将解析出的标签信息与预先定义的数据模型进行匹配,并进行逻辑处理。
根据应用需求,RFID中间件可以进行数据筛选、过滤、转换等操作,确保只有符合条件的数据被传递给上层应用。
2.3 数据分发RFID中间件将处理后的数据通过网络协议传输给上层应用,实现数据的实时传递和共享。
同时,RFID中间件也可以将数据存储到数据库中,供后续的数据分析和查询使用。
3. RFID中间件的应用场景RFID中间件在各个行业都有广泛的应用,下面列举了几个典型的应用场景:3.1 物流管理在物流管理中,RFID中间件可以实时监测货物的运输状态和位置信息。
通过与其他物流管理系统的集成,可以对物流过程进行实时跟踪和监控,提高物流效率和准确性。
3.2 库存追踪RFID中间件可以用于库存管理系统中,通过标签识别技术准确地追踪和管理库存。
可以实时监测库存数量、位置和状态,并提供库存报告和预警信息,帮助企业做好库存管理和补货决策。
3.3 资产管理许多企业需要对资产进行监控和管理,如设备、机器等。
RFID中间件可以与企业的资产管理系统集成,实现对资产的实时监测、追踪和管理。
通过RFID技术,可以节省人力和时间成本,提高资产管理的效率和精确度。
中间件的分类和功能应用场景

中间件的分类和功能应用场景中间件是一种位于操作系统和应用程序之间的软件,它具有丰富的分类和功能应用场景。
本文将围绕中间件的分类和功能应用场景展开阐述。
一、中间件的分类1. 消息中间件:消息中间件是一种用于实现应用程序之间异步通信的中间件。
它可以将消息发送者和接收者解耦,提高系统的可靠性和可扩展性。
消息中间件常见的应用场景包括分布式系统、微服务架构、异步任务处理等。
2. 缓存中间件:缓存中间件是一种将数据存储在内存中,提供高速数据访问的中间件。
它可以减轻数据库负载,加快数据读写速度,并提供数据的高可用性。
缓存中间件常见的应用场景包括网站加速、数据缓存、分布式锁等。
3. 反向代理中间件:反向代理中间件是一种将客户端的请求转发到多个服务器上的中间件。
它可以实现负载均衡、高可用性和安全性。
反向代理中间件常见的应用场景包括网站负载均衡、HTTPS加密传输、请求过滤等。
4. 分布式计算中间件:分布式计算中间件是一种将任务分解并分布到多台计算机上进行并行计算的中间件。
它可以提高计算效率、减少计算时间,并实现大规模数据处理。
分布式计算中间件常见的应用场景包括大数据分析、机器学习训练、科学计算等。
5. 服务网格中间件:服务网格中间件是一种用于管理和控制微服务架构中服务间通信的中间件。
它可以提供服务发现、负载均衡、故障恢复等功能,简化微服务架构的开发和维护。
服务网格中间件常见的应用场景包括微服务架构、容器编排等。
二、中间件的功能应用场景1. 异步消息传递:消息中间件可以实现异步消息传递,将消息发送者和接收者解耦。
它常用于分布式系统中,可以提高系统的可靠性和可扩展性。
例如,电商网站的订单系统可以将订单消息发送到消息中间件,然后由库存系统和物流系统异步消费这些消息,实现订单处理的解耦和异步化。
2. 数据缓存:缓存中间件可以将数据存储在内存中,提供高速数据访问。
它常用于加速网站访问、减轻数据库负载,提高系统的响应速度。
例如,电商网站的商品信息可以缓存在缓存中间件中,减少对数据库的查询,提高用户访问速度。
简述express中间件的工作流程,以及中间件的常见应用

简述express中间件的工作流程,以及中间件的常见应用Express中间件是连接请求和响应的一个重要组件,它的工作流程与管道模式类似。
当一个HTTP请求到达服务器时,会依次经过多个中间件处理,然后再返回响应,如下所示:1. 请求进入中间件:当请求进入Express应用时,它会首先进入中间件的处理流程。
2. 中间件处理请求:中间件可以对请求进行处理,例如验证用户身份、对请求数据进行解析和校验、记录日志等。
3. 中间件将请求传递给下一个中间件:中间件处理完请求后,可以选择将请求继续传递给下一个中间件或是直接返回响应。
4. 一系列中间件处理请求:在请求被处理的过程中,会依次经过多个中间件。
每个中间件可以根据自己的逻辑处理请求,或是将请求继续传递给下一个中间件。
5. 响应返回并经过中间件:当响应被返回时,它也会进入一系列中间件的处理流程。
中间件可以对响应进行处理,例如设置响应头、压缩响应体、对响应数据进行加密等。
6. 最后一个中间件返回响应:当响应到达最后一个中间件时,它会被该中间件处理并返回给客户端。
中间件在Express应用中扮演了不可或缺的角色,它们常见的应用有以下几种:1. 解析请求数据:中间件可以对请求体进行解析,例如处理JSON 数据、处理表单数据、处理请求参数等。
2. 认证和授权:中间件可以对用户进行认证和授权,例如验证用户的身份、检查用户的权限等。
3. 处理错误:中间件可以捕获并处理错误,例如处理404错误、处理500错误等。
4. 记录日志:中间件可以记录请求和响应的日志,例如记录访问日志、记录错误日志等。
5. 性能优化:中间件可以对响应进行优化,例如压缩响应体、使用HTTP缓存等。
6. 路由:中间件可以实现路由的功能,例如实现RESTful API、将请求分发给不同的处理器等。
综上所述,中间件是Express应用中非常重要的组件之一,通过使用不同的中间件,我们可以实现不同的功能,帮助我们更好的处理HTTP请求和响应。
中间件的种类及应用意义

中间件的种类及应用意义中间件是指位于操作系统和应用程序之间的软件,用于在不同系统和技术之间进行数据传输和通信,以及处理各种网络请求。
中间件的种类多种多样,包括消息队列中间件、数据库中间件、Web中间件、应用程序服务器中间件、事务处理中间件等。
每种中间件都有其独特的功能和应用意义,可以帮助不同的系统和应用程序之间进行高效的数据传输和通信,提高系统的稳定性和可靠性。
消息队列中间件是用于在分布式系统中进行异步通信的一种中间件。
它可以在不同的系统和应用程序之间传输和交换数据,实现解耦和异步处理,提高系统的性能和可靠性。
消息队列中间件的应用场景非常广泛,比如在电商网站中用于订单处理和库存管理,在金融系统中用于交易处理和消息通知,在物联网系统中用于设备监控和数据采集等。
数据库中间件是用于管理和优化数据库访问的一种中间件。
它可以对数据库进行缓存、路由、负载均衡等操作,从而提高数据库的访问效率和系统的稳定性。
数据库中间件的应用场景包括在大型Web应用程序中用于缓存热门数据和优化数据库查询,在分布式系统中用于数据库读写分离和数据备份,在高并发系统中用于负载均衡和故障恢复等。
Web中间件是用于处理Web请求和响应的一种中间件。
它可以对HTTP请求进行过滤、转发、重定向等操作,提高Web应用程序的性能和安全性。
Web 中间件的应用场景包括在负载均衡集群中用于分发和管理Web流量,在安全防护系统中用于检测和阻止恶意请求,在网关系统中用于数据加密和解密等。
应用程序服务器中间件是用于运行和管理应用程序的一种中间件。
它可以对应用程序进行部署、监控、扩展等操作,提高应用程序的可靠性和可维护性。
应用程序服务器中间件的应用场景包括在微服务架构中用于服务治理和容错处理,在容器化系统中用于应用程序部署和资源管理,在大规模系统中用于并发控制和资源分配等。
事务处理中间件是用于处理分布式事务的一种中间件。
它可以对多个系统和应用程序之间的事务进行协调、提交、回滚等操作,保证数据的一致性和完整性。
物联网中有一个叫中间件的家伙!

物联网中有一个叫中间件的家伙!物联网中有一个叫中间件的家伙物联网(Internet of Things,简称IoT)是指通过互联网技术连接传感器、设备、数据和人员,实现设备之间的智能互联和通信。
在物联网的实现过程中,中间件起着重要的作用。
它作为连接物联网各个部分的桥梁,为物联网应用提供了强大的支持和保障。
一、中间件的定义和作用中间件(Middleware)是指位于操作系统和应用程序之间的软件层,为应用软件提供基础服务和功能,使应用程序能够更方便地进行通信、协调、管理和控制。
在物联网中,中间件充当着数据传输和通信的关键角色,能够连接物联网中的各种设备和应用,从而实现数据的采集、存储、处理与分析,并为用户提供可视化的界面和智能化的应用。
中间件的作用主要体现在以下几个方面:1. 确保数据的安全传输:物联网中产生的海量数据需要在各个节点之间进行传输和交互,并且数据的安全性是至关重要的。
中间件可以提供加密和认证等安全措施,保证数据的机密性和完整性,防止数据泄露和篡改。
2. 实现设备的互联互通:物联网中涉及到大量的设备和传感器,这些设备可能采用不同的通信协议和数据格式。
中间件可以实现不同设备之间的协议转换和数据格式转换,使其能够相互通信和交互,实现真正的互联互通。
3. 数据管理和处理:物联网中的设备产生的数据规模庞大,中间件可以对这些数据进行采集、存储、处理和分析。
通过数据的聚合、过滤和挖掘,可以从中提取有用的信息,支持用户进行决策和应用开发。
4. 提供可视化界面和智能化应用:中间件可以通过界面展示物联网中的各种设备和数据,提供可视化的管理和控制界面,让用户能够直观地了解和操作物联网系统。
同时,基于中间件的智能化应用可以通过学习和推理,实现对设备的自动控制和优化,提高物联网系统的效率和性能。
二、中间件的分类和应用场景根据功能和应用领域的不同,中间件可以分为以下几类:1. 即时通讯中间件:在物联网中,人与设备之间以及设备与设备之间需要进行实时通讯。
中间件的技术及其应用

一、概述1、中间件的概念随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。
这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。
由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。
比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。
从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。
2、中间件特点及优势通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。
程序员通过调用中间件提供的大量API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和网络协议。
中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接口和协议。
针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。
对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中间件及其应用泰州电信分公司通建部陈晴摘要:随着计算机应用范围的不断扩大,中间件技术已成为计算机应用的一个热点话题。
本文细述了中间件的概念以及各种类型中间件的技术特性,并对中间件在客户/服务结构的应用进行了讨论,最后介绍了一个中间件应用的一个实例。
关键词:中间件应用1.中间件的概念计算机硬件、软件技术的迅速发展,使计算机应用不断渗透到各个领域,特别是随着LAN技术的发展应用、Inrenet的普及、计算机应用范围的不断扩大、以及企业的跨区域运营,急切需要建立由若干个子系统组成集成计算机信息系统,以期待完成更复杂、更高级的功能。
但是,已有的计算机信息系统是异构的,普遍存在着严重的"信息孤岛"问题,即每个子系统之间是独立的、不能有效地进行信息交换和共享。
于是,现代企业管理向人们提出了建立一个基于不同数据库、不同主机平台、不同应用范围、不同人机界面、不同网路类型的综合应用系统的需求,如何把这些不同类型的设备、数据库、软件和网络集成起来开发出新的应用,是我们目前亟待解决的难题。
一个较好的解决方法便是采用中间件技术。
中间件的概念是随着多层应用模式和分布式计算技术的发展逐渐形成的,主要为解决异构问题。
对于中间件目前还没有统一的定义,总的来说,中间件是一种软件总线,不同的主机平台、数据库和应用被按照规范制作成插件安装在总线上,实现异构系统的信息共享,又被描述为软件“粘合剂”,将不能交互的应用系统间粘在一起。
它是一软件集合,提供了独立系统间通信的函数和对异构系统进行应用集成的工具,并具有如下的一些特点:满足综合应用的需要运行于多种主机和OS平台支持分布计算,提供跨网络、硬件和OS的透明性的应用或服务的交互支持标准的协议和接口图1示意了中间件在系统中所处层次,从体系结构上看,中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统、数据库以及网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。
同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。
、2.中间件的分类从概念上讲,中间件的雏形早在70年代就出现了,消息通信和事务管理是其最初具有的功能。
到了90年代,随着互联网的普及和企业管理的需要,对于中间件的需求也逐渐多样化,从而促使中间件技术进一步细分,产生了不同类别的中间件产品。
根据应用编程接口功能和应用的不同,传统上将中间件分为5大类,分别是数据库中间件(Database Middleware)、基于远程过程调用中间件(RPC-based Middelware)、面向消息中间件(Message-oriented Middleware)、分布事务处理中间件(Distributed transaction processing monitor Middleware)和对象请求代理中间件(Object request broker Middelware)。
2.1.数据库中间件数据库中间件是所有中间件中最普遍、最成熟的一种。
它提供了一系列应用程序接口API,通过中间层而不考虑操作系统及网络来访问本地或异地的数据库,提供了良好的数据库独立性。
ODBC就是一种基于数据库的中间件,它提供了一组对数据库访问的标准API,通过SQL来完成其大部分任务。
一个完整的ODBC由下列几个部件组成:应用程序(Application)、ODBC管理器(Administrator)、驱动程序管理器(Driver Manager)、ODBC 驱动程序和数据源。
各部件之间的关系如图2图所示:应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。
这样,只要应用程序将数据源名提供给ODBC,ODBC 就能建立起与相应数据库的连接。
在ODBC中,ODBC API不直接访问数据库,必须通过驱动程序管理器与数据库交换信息,驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。
基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作均由对应的DBMS的ODBC驱动程序完成。
也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。
由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
但是,在基于数据库的中间件模型中,数据库作为信息的中心存储单元,中间件负责数据间的同步及点到点通信,系统的灵活性提高是以处理性能的降低为代价的。
这种方式不适合于高性能应用处理,因为它需要大量的数据通信,同时,当网络发生故障时,系统将不能正常工作。
2.2.基于RPC中间件'远程过程调用是一种广泛使用的分布式应用程序处理方法,是面向过程和函数的中间件,提供的是基于过程的服务访问。
它沿用了大多数程序员都非常熟悉的编程模式,程序员就像调用本地过程一样在程序中调用远程过程,启动远程过程的运行,然后将运行结果返回给本地程序。
不但如此,远过程调用还可以将程序的控制传递到远端的服务器当中去。
在RPC模型中,client和server只要具备了相应的RPC接口,并且具有RPC 运行支持,就可以完成相应的互操作,而不必限制于特定的server。
因此,RPC 为client/server分布式计算提供了有力的支持。
同时RPC也有一些缺点,主要是因为RPC一般用于应用程序之间的通信,而且采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的。
但是对于一些大型的应用,这种方式就不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流量控制以及进程同步等一系列复杂问题。
2.3.面向消息中间件面向消息的中间件为SERVER、CLIENT间提供了异步的可靠的数据传输方式,使得数据可间断地来往传递,就如同我们通过e-mail传递消息,它支持多种通讯协议、编程语言、应用程序、硬件和软件平台。
目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。
消息中间件提供的服务主要有以下几类。
1) 存储转发服务:消息的发起者使用该服务识别接收地点,如果接收者不可达,消息便被储存在队列或存储器中,消息的传递可以堆积并延迟到某一事件的触发(如:接收者可达)。
EMAIL应用便是一种消息的存储转发模式。
2) 广播/订购中间件服务:消息产生者通过广播/订购中间件服务将消息公布到消息中心(代理),消息中心根据所有订购该消息的程序清单分发消息。
3)事件登记服务:对任何消息系统,在消息的异步传送和同步传送过程中有许多不同的事件发生,消息系统必须对这些事件进行识别管理来控制消息的传送。
4) 智能路由服务:智能路由中间件服务确保消息以正确的序列传递到目的地。
消息中间件有以下三个主要特点:A.通讯程序可在不同的时间运行。
B.¥C.对应用程序的结构没有约束。
在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。
多种通讯方式的构造并没有增加应用程序的复杂性。
D.程序与网络复杂性相隔离。
2.4.分布式事务处理(DTP)中间件事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。
随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。
它确保事务处理的完整性,提高系统的处理能力,可以被看作是分布式事务处理应用程序的“操作系统”。
总体上来说,事务处理监控提供以下功能:两阶段提交:其含义是对一个涉及多张表(table)或多个系统的事务提交进行监控管理,确保所有数据的一致性和完整性。
失败恢复:事务监视器为所有事务记录日志,日志中记录事务的每个步骤,利用日志,可对失败的事务进行回滚或重新计算。
系统同步:TPM使用事务日志使不同的系统保持同步。
事务调度:对事务的执行进行调度,将低效率或实时性低的事务安排在空闲时段执行,以提高系统的运行效率。
消息队列管理:保证应用系统提交的请求和数据可在网络故障或目的服务器瘫痪等情况下也能递交到目的服务器。
全局事务工作流管理负载均衡:保证大量事务在众多不同系统中快速准确执行。
2.5.%2.6.对象请求代理(ORB)中间件随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向——对象请求代理中间件。
ORB中间件采用面向对象的技术,将分布计算同面向对象的概念相互结合,可以看作是与编程语言无关的面向对象的RPC应用。
目前,ORB主要存在两个标准:CORBA 和DCOM,且两种标准存在了较大差异。
CORBA(Common Object Request Broker Architecture)是由OMG组织制订的一种标准的面向对象应用程序体系规范,ORB是CORBA平台的核心。
图3所示是基于ORB的结构,箭头方向表示了ORB的调用关系。
图3:ORB结构示意图DCOM(Distributed component object model)是微软提出的分布式对象技术,从OLE(Object linking and embedding)和COM(Component object model)演变而来,DCOM采用ORPC(Object Remote Procedure Call)作为它的基本协议,并通过SCM(Service Control Mananger)实现对象实体的操作。
图4所示是DCOM的结构。
图4:DCOM体系结构3.中间件在客户/服务结构中的应用客户/服务的概念最早在80年代提出,并在80年代后期开始被广泛采用。
在这之前,基于网络的计算机应用系统主要文件共享模式为主流,随着计算机应用范围的扩大,文件共享的局限性也暴露出来,为了解决这些局限性,产生了客户/服务体系结构,并且由于这种结构的诸多优点,使分层模式得到了广泛应用,从而推动了中间件技术的发展。
传统的客户/服务器模式是一种双层的结构,通常是一台个人计算机做客户机使用(运行客户端程序),另外一台服务器用于存放后台的数据库系统,应用程序与客户端直接相连,中间没有其他的层次。
这种方式的数据库应用系统其优势在于,开发周期较短,能够适应大部分中小型数据库应用系统的要求(当客户端数量少于50时)。
但随着数据库应用的日渐发展,这种结构的应用系统显现出诸多缺陷,主要有:对于数据库服务器端,每当建立一个数据连接,就会占用一些系统资源以确保与客户机之间的连接,当数据连接达到一定数量时,数据库服务器的响应速度与处理速度将大打折扣;程序的业务逻辑存在于前台的应用程序中,或者存在于后台数据库中以触发器(trigger)的方式实现,一旦客户的业务逻辑有所改变的话,应用程序以及后台触发器都需做相应的修改;由于客户端应用程序的开发直接与DBMS连接,易受制与数据库软件供应商;这种结构将用户界面、业务逻辑以及数据源绑定在一起,会消耗客户机的大量资源,对客户机来说是一个很大的负担。