关于如何利用中间件集成多数据库,下面举一个使用CORBA集成的例子。参考文献[1]中提出的基于CORBA的多数据库系统体系结构,称为CBMA。CBMA是典型的多数据库系统体系结构,加入CBMA的数据库仍具有自治性,其上原来的应用程序仍能继续运行。MOTM由CORBA的ORB、多数据库系统事务管理器、负载平衡和安全管理等功能模块组成,其中多数据库系统事务管理器、负载平衡和安全管理都是作为ORB的软构件实现的。......
2023-10-28
OMG[2](object management group,对象管理组)是一个非营利性国际组织,OMG所制定的分布式对象计算标准规范包括CORBA/IIOP、对象服务、公共实施和领域接口规范等。遵照这些规范开发出来的分布计算软件环境几乎可以在所有的主流硬件平台和操作系统上运行。自1995年以来,基于CORBA软件的企业级应用发展迅猛。
CORBA是OMG随着硬件和软件产品的快速增长,针对互操作性的需要而提出的。简单来说,CORBA允许自己的应用程序与对方的应用程序交流,不管对方在哪儿或由谁设计。CORBA 1.1于1991年由OMG推荐提出,并且定义了它的接口定义语言(IDL)和应用程序编程接口(API),使客户/服务器对象在一个对象请求代理(object request broker,ORB)的特定实现范围内可以交互。CORBA 2.0于1994年12月被提出,它定义了不同供应商的ORB怎样才能实现真正的互操作性。
ORB是在客户/服务器之间建立对象关系的中间件(middleware)。使用ORB,用户能透明地在服务器对象上调用一种方法,这个对象既能坐落在调用它的同一台机器上,也可以跨越一个网络。ORB会拦截调用,并且寻找能实现请求的某一个对象,传递参数给它,调用它的方法,最后返回结果。用户不必知道对象究竟被定位在哪儿、使用哪种程序语言、使用哪个操作系统,或如非对象接口等其他系统方面的任何东西。这样,ORB提供在不同的机器上由不同或相同种类组成的分布式环境应用上的互操作性和无缝互联。
在使用典型的客户/服务器应用程序的时候,开发者们使用自己设计的或者公认的标准来定义设备之间互用的协议。这类协议的定义取决于其实现语言、网络传输和其他一系列因素。而使用ORB则简化了这个过程。在ORB中,协议由一个与实现语言无关的规格说明(IDL)的应用程序接口来定义。ORB提供灵活性,让程序员选择最适当的操作系统、执行环境,甚至是程序语言可用于构造系统的每个部件。更重要的是,ORB允许现存部件的集成化。在基于ORB的解决方案中,开发者可以使用与原来一样的IDL来模型化遗留部件,用于创建新的代码,然后写“约束(wrapper)”代码,实现标准化总线和遗留接口之间的翻译。
使用CORBA,用户可以透明地进行信息的存取,不必知道它们在什么软件或硬件平台上工作,或在哪一家企业的网络上。
1990年底,OMG首次推出对象管理结构(object management architecture,OMA),给出了OMG所定义的组件的分类,其体系结构如图12.4所示。
图12.4 OMA体系结构
OMA体系结构主要包括以下几部分。
●对象请求代理(object request broker,ORB):图12.4中的中间部分,某种程度上可以把它看成是一根软件总线,是实现交换和互操作的核心。
●应用接口(application interfaces)。
●域接口(domain interfaces)。
●公共设施(common facilities):定义可直接为业务对象服务的水平与垂直应用框架。
●对象服务(object service):定义对象框架。(www.chuimin.cn)
由图12.4可知,对象请求代理结构形成了交互和通信的核心,所以把它称为软总线。
下面来看看对象请求代理的结构。图12.5表明客户端如何将请求发送给对象。这里,客户端是一个实体,它的目的就是在对象上施行操作。而对象操作则包括实现对象的代码和数据。ORB用于发现与该请求对应的对象实现,对所要求的所有机制做出响应,准备好对象实现以响应请求,并完成请求所需要的数据通信。对客户而言,对象在哪、对象究竟是用什么程序设计语言实现的,或者还有哪些特征没有在对象接口处反映都无关紧要。
由图12.5可知,客户端通过ORB向对象实现(object implementation)发送请求。那么,有哪些方式可给客户端发送请求呢?
如图12.6所示,要发送出请求,客户可以使用动态调用接口(dynamic invocation interface,独立于目标对象接口的接口)或者OMG IDL桩(和目标对象接口有依赖关系的特定接口)。当然,客户端也可以直接与ORB交互以获得其他功能。
图12.5 客户端如何将请求发送给对象
图12.6 对象请求代理接口的结构
对象实现作为向上调用(up-call)的接口接收客户的请求,这可以通过OMG IDL生成的梗概(OMG IDL generated skeleton)或者通过一个动态梗概(dynamic skeleton)来完成。对象实现可以在处理请求时(或者以后某个时候)调用对象适配器(object adapter)和ORB。
可从以下两个方面来实现对象接口的定义:一是采用接口定义语言(IDL)进行静态方式的定义。IDL按照可以施加在对象上的操作和这些操作上的参数来定义对象的类型。此外,接口上也可以添加接口库(interface repository)服务,这种服务像对象一样,表示接口的成分,允许对这些成分动态访问。在任意一个ORB实现中,ODL和接口库都有相同的表达能力。二是客户端通过访问对象引用(object reference)和了解对象类型及所希望施行的操作类型来完成请求。客户端通过调用指定该对象的桩例程(stub routines)或者动态构造请求来启动请求。
动态调用请求和使用桩接口都满足相同的请求语义,而信息的接收方不被告知请求是如何调用的。
ORB会找出合适的安装启用代码、传输参数,然后通过IDL梗概将控制传递给对象实现。对于接口和对象适配器而言,梗概是特定的。当施行请求时,对象实现可以通过对象适配器从ORB获得某些服务。请求完成时,控制并将输出值返回给客户端。
对象实现可以采用与对象适配器相同的方式。
有关分布式数据库技术的文章
关于如何利用中间件集成多数据库,下面举一个使用CORBA集成的例子。参考文献[1]中提出的基于CORBA的多数据库系统体系结构,称为CBMA。CBMA是典型的多数据库系统体系结构,加入CBMA的数据库仍具有自治性,其上原来的应用程序仍能继续运行。MOTM由CORBA的ORB、多数据库系统事务管理器、负载平衡和安全管理等功能模块组成,其中多数据库系统事务管理器、负载平衡和安全管理都是作为ORB的软构件实现的。......
2023-10-28
首先我们讨论并行计算机及其体系结构。并行系统与并行计算密切关联。图14.1共享内存体系结构对于数据库系统来说,大部分共享内存的商务产品可以使用查询间并行算法来提高事务吞吐量和使用查询内并行算法来节省决策支持查询的响应时间。图14.2共享磁盘体系结构共享磁盘的优点:成本低、高可扩展性、负载均衡、高可用性,以及能方便地迁移到单处理器系统。图14.3无共享体系结构无共享的并行数据库系统如Teradata的DBC和Tandem的NonStop SQL等。......
2023-10-28
Oracle公司的OPS环境比一般的(单实例)Oracle环境复杂得多。不同结构下的OPS的实施略有不同。图14.23OPS体系结构为了利用这些特性,需要专业人员合适的设计以及恰当的手工配置。下面对有些关键问题进行简单讨论,讨论中会涉及一些Oracle系统专用的术语,读者可参阅Oracle公司的相关文档。DLM与Oracle进程一起工作并相互通信。DLM相关的初始化参数在每个实例的SGA[12]中分配必要的结构以处理消息机制、封锁与实例相关的Cache管理,这样就为各种Oracle进程操纵提供了基础。......
2023-10-28
查询优化的本地化分层聚焦于将查询转换成本地数据。一个全局关系可以通过应用重构规则来重构,从而导出一个关系代数程序,其操作数是数据片,这个程序称为本地化程序。将分布查询分配到节点上的自然办法是生成查询,让每个全局关系使用本地化程序来代替。这可以看成是在一棵分布查询的算符树上将叶子用与本地化程序对应的子树来替代。数据水平分片关系的连接也可以简化。......
2023-10-28
与数据库安全系统打交道的人员可以分为两类:数据库管理员和普通用户。DBA要对安全负责,所以他(们)要创建授权规则,定义谁可以使用哪部分数据,以及如何使用。图13.1数据库安全系统由图13.1可知,数据库安全系统里存放着授权规则,在每次数据库存取时强制满足其规则。从完整性方面考虑,数据库安全可以包含以下两方面。1)设计阶段的数据库安全在设计阶段必须关注数据库的安全性。DBA负责处理整个数据库系统里的用户账号和口令。......
2023-10-28
图3.1软件开发过程数据库设计的过程与软件开发的过程类似。下面先来看一下集中式数据库设计的情况。在分布式数据库系统中,集中式数据库设计的问题依然存在,且有以下两个新的问题需要考虑。这个过程就是确定如何将全局关系划分成水平、垂直或者混合的数据片。数据片的分配,即决定数据片如何映射到物理镜像上,决定如何复制数据片。数据片的分配问题则研究已久,当然,过去研究的则是“文件分配”问题。......
2023-10-28
显然,自动识别技术是物联网体系的重要组成部分,借此可以对每个物品进行标识和识别,并可以实时更新数据,是构造全球物品信息实时共享的重要组成部分,是物联网的基石。按照国际自动识别技术的分类标准,自动识别技术可以分为数据采集技术和特征提取技术两大类。......
2023-10-28
视频和音频点播系统可以在网络上提供连续的视频/音频流,可以是实验的演示情况、教师讲课的录像等。视频服务器是视频/音频点播系统中的核心,通过视频服务器将经过技术处理的视频信息进行存放,当网络在接收到客户端的点播请求时送出视频信息。视频信息经过处理存放到视频服务器后,要让它能够被更多的人使用,这也是视频信息的发布问题。......
2023-10-28
相关推荐