【摘要】:关于如何利用中间件集成多数据库,下面举一个使用CORBA集成的例子。参考文献[1]中提出的基于CORBA的多数据库系统体系结构,称为CBMA。CBMA是典型的多数据库系统体系结构,加入CBMA的数据库仍具有自治性,其上原来的应用程序仍能继续运行。MOTM由CORBA的ORB、多数据库系统事务管理器、负载平衡和安全管理等功能模块组成,其中多数据库系统事务管理器、负载平衡和安全管理都是作为ORB的软构件实现的。
关于如何利用中间件集成多数据库,下面举一个使用CORBA集成的例子。
参考文献[1]中提出的基于CORBA的多数据库系统体系结构,称为CBMA(CORBA based multidatabase system architecture)。多数据库系统体系结构主要由全局数据库(global database,GDB)、多数据库系统对象事务管理器(multidatabase object transaction manager,MOTM)和局部数据库(local database,LDB)三大部分组成,如图12.15所示。其中,全局数据库接受全局事务,把它分解为针对每个LDB的子事务后交给MOTM;MOTM负责把全局事务的所有子事务交给相应的LDB站点执行,并维护全局事务的ACID特性,同时负责负载平衡、安全管理等问题;LDB接受MOTM提交的子事务并执行相应的操作。
CBMA采用三层体系结构,第一层为客户层,它实现的是数据库应用系统的表现逻辑;第二层为中间件层,它由实现数据库应用系统的业务逻辑对象和多数据库系统对象事务管理器(MOTM)中间件组成;第三层由运行在单节点上的数据库服务器组成。这种三层体系结构的主要优点包括以下几方面。
(1)表现逻辑与应用逻辑分离,支持系统瘦客户端的关键任务要求。
(2)表现逻辑、应用逻辑与数据库系统可独自升级和改造,具有高可扩展性。
(3)支持应用逻辑管理,提高服务对象的可重用性。
CBMA在顶层为用户提供了一个统一的多数据库系统全局视图,用户可以像使用数据库一样使用多数据库系统,底层数据库的分布和异构对顶层用户是透明的,全局数据库的结构如图12.16所示。用户对多数据库系统的操作是针对多数据库系统用户界面进行的,以全局事务的形式交给CBMA,全局事务是针对全局数据(实际上全局数据分散存储在各LDB中)进行的操作,并且是用全局数据模式及全局查询语言表示的:查询分解模块负责把全局事务分解为针对每个LDB的子事务,此时的子事务也是用全局数据模式及全局查询语言表示的。
图12.15 CBMA的组成
图12.16 全局数据库的结构
由于全局事务的子事务提交到各LDB站点时是以全局数据模式表示的,因此需要转换代码把子事务转换为针对局部数据库的数据模式进行操作,如果全局查询语言和局部数据库的查询语言不同,还需要进行查询语言的转换。经过转换代码转换后的子事务是采用本地数据库的查询语言编写的,针对本地数据模式的事务,可以直接提交给本地数据库的DBMS执行。局部数据库的结构如图12.17所示。从图中可以看出,除全局事务的子事务外,本地数据库上还有纯本地事务在运行,它的存在不为多数据库系统所知。CBMA是典型的多数据库系统体系结构,加入CBMA的数据库仍具有自治性,其上原来的应用程序仍能继续运行。CBMA在用户界面层与本地数据库进行交互,也就是说,全局事务的子事务与纯本地事务对本地数据库来说没有任何区别。(www.chuimin.cn)
图12.17 局部数据库的结构
图12.18 多库系统对象事务管理器的结构
MOTM模块负责把全局事务的所有子事务交给相应的LDB站点执行,并维护全局事务的ACID特性,如果LDB站点上有多个Server可以执行同一个子事务,MOTM的负载平衡模块可以进行负载平衡,把子事务交给合适的Server执行,同时MOTM还负责网络传输中的安全管理等问题。MOTM由CORBA的ORB、多数据库系统事务管理器、负载平衡和安全管理等功能模块组成,其中多数据库系统事务管理器、负载平衡和安全管理都是作为ORB的软构件实现的。多数据库系统对象事务管理器的结构如图12.18所示。
CBMA的实现方法主要有以下优点。
●可扩充性。传统的多数据数据库系统中,系统各组成部分之间的通信和连接是在系统实现时固定下来的,如果有新的数据库要加入系统,则必须对整个系统进行很大的改动和调整。而MOTM构建的多数据库系统中的网络通信工作是由ORB软总线实现的,新数据库的加入不要求对原有系统进行任何改动。
●系统管理功能。ORB提供对象的生命周期管理,客户端用户的连接管理,以及远程对象的激活、去活功能。MOTM还提供负载平衡、安全管理等TP Monitor功能。
●易集成。为遗留系统提供方便快捷的集成手段,且系统上原有的软件还可以继续运行,充分利用已有的程序资源。
●易使用。利用MOTM,开发人员能够将精力集中在研究自己的业务解决方案上(如异构模式消解、查询语言转换等),而不用过多地关心编程环境和手段。换言之,MOTM提供了方便的程序开发、维护、升级和扩充手段。
●快速构造。如果想对MOTM增加新的功能模块,可以以构件的方式插接在已有的系统中,并能够即插即用。
相关推荐