Programming 版 (精华区)

发信人: lofe ()感激生活(), 信区: Programming
标  题: 基于CORBA的多数据源采集技术(3)
发信站: 哈工大紫丁香 (Mon Sep  4 15:21:22 2000), 转信

  CORBA的分布式体系结构将一个分布式异构系统作为相互作用对
象的集合,即:将分布式系统中各成员系统的资源模型化为对象,而成
员系统提供的服务被模型化为对象方法,这些方法组成对象接口。这
样,在每个成员系统上可以定义一个服务接口,成员系统为这些服务提
供实现。客户通过以公共语言表示的请求与异构系统进行交互,对象
请求代理机制负责转换客户请求到可用服务、传递请求到适当系统,
提供以公共语言表示的应答给客户。
实现基于CORBA的多数据源集成系统的基础是,将参加集成的数据
源通过对象包装注册到ORB总线上。在注册各种数据源到ORB时,有如
下一些关键的实现策略。

1. 对象粒度
CORBA体系结构中, 对象可按各种粒度大小来定义。当将一个关
系数据库注册到ORB 时,对象可以是一个元组、表或数据库本身。对
于小粒度对象,如一个表,所有处理这些表的DBMS机制,如查询处理、
事务控制等,都必须由集成系统提供支持。当一个关系库作为一个对
象注册时,所有的处理仍由相应的DBMS完成,不需由集成系统提供。
2. 调用方式
CORBA允许两种调用方式:动态方式和存根方式。以存根方式调用
,客户使用的代码模板(存根)在运行时不能被改变,它的实现很简单。
以动态方式调用,客户可在运行中定义和建立请求,它为用户提供了更
大的灵活性。若在实现中所有的对象是已知的,且客户使用的接口不
会经常改变,一般采用存根式调用。
3. 客户请求到服务器的映射
对客户请求和服务方法的映射,CORBA提供了3种方式:1一个接口
对应一个实现;2一个接口对应多个实现之一;3一个接口对应多个实现
。方式1中,接口的操作与实现的方法之间是一对一关系,它实现简单,
但由于接口的每个操作都必须被实现的一个方法所支持,操作和方法
必须是严格一对一的匹配关系,因此缺乏灵活性。方式2中,虽然接口
的操作与实现的方法之间也是一对一关系,但同一接口可以有多种实
现。这就提供了相当的灵活性,以便为接口中的一个操作定义多个不
同的方法。方式3中,同一接口可以包括多种实现,每个实现只完成接
口的一部分功能。
4. 对象生命周期
客户为了向对象发送消息,必须获得该对象的对象引用。获得对
象引用的途径有3种:1应用开发者建立一个对象引用给客户;2客户从
一个外部文件得到对象引用;3对象代理允许服务方将对象引用存储到
注册公告区中,客户使用命名服务从注册公告区得到对象引用。方式1
要求客户应用和对象引用静态地联编在一起,因此它缺乏灵活性。方
式2也不太合适,因为在一个分布环境中维护或复制一个外部文件并保
证正确性是很麻烦的。方式3中,允许客户发现那些注册到注册公告区
的新对象,并使用这些新对象提供的服务,这是常用的方法。
5. 激活策略
接口中的操作与实现的方法之间存在一对一的关系。激活策略是
指如何在服务器上启动每个对象实现。可以使用4种激活策略:1 共享
式:一个服务器可以同时支持多个对象实现的执行;2 非共享式:一个
服务器同时只能支持一个对象实现的执行;3单个方法式:每个方法的
执行都要启动一个新的服务器;4持久式:服务器不是自动启动的。启
动后,其运行与共享式相同。
6. ORB联编策略
ORB提供了4种解决对象引用的联编策略,以将一个请求联编到某
个实现上。1静态的:一个实现的所有方法必须由一个特定的服务器来
执行。2自动的:一个实现的所有方法必须由同一个服务器来执行,该
服务器可以是能处理这个实现的任意一个。3动态的:一个实现的每个
方法可以由不同的服务器来执行。方式1适用于接口的操作,只对应于
唯一的实现场合。如果接口的所有操作都是由一个实现完成,且同时
一个实现存在多个实例,选择方式2比较合适。方式3适合于接口的每
个操作能够被独立处理的场合,但该方式的执行效率较差。采用自动
联编策略的服务器性能优于动态联编,因为经过初始方法启动后,可以
省去后面的方法解析。

--
※ 修改:.haojs 于 Sep  4 15:18:45 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: bbs.hit.edu.cn]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: haojs.bbs@bbs.whnet.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:12.799毫秒