orbas系统结构各个模块之间的关系与接口说明



Last Modified : 2002.12.19

(by huihoo.com orbas项目组)

orbas的初步计划主要涉及的模块有ORB、GIOP、IOR、typecode、Pluggable protocols framework和CDR,当然还有POA部分。其他的模块还只在计划之中。 其中typecode部分不是minimumCORBA的内容,但是orbas也作了保留,以便于orbas引入一些标准CORBA的能力。
ORB与IOP引擎之间的接口

orbas各模块概述
ORB:这里的ORB模块是指实现CORBA规范中定义的ORB的接口的功能模块。此外,ORB模块还要管理其他所有的部分,它是整个Orbas的中心。在orbas的源码目录结构中,基本上每个模块一个目录。

CDR:CDR模块完成对各种类型的数据的CDR编码和解码。包括大端(big endian)和小端(little endian)的数据。CDR的输出流缺省使用的大端的编码方式。

Typecode:这部分完成了IDL中各种类型对org.omg.CORBA.TypeCode对象的实现。

Pluggable protocols framework:支持动态的装载不同的协议。为数据的网络传送提供基础设施。

GIOP:GIOP协议的编码、解码器。这个模块要适应不同的GIOP版本,包括GIOP1.2或以后将要出现的版本。

Connection management:结合Pluggable protocols framework,完成链接的管理。支持复用连接的方式。

Thread management:这里的Thread Management是指ORB的线程模型。POA的线程模型在POA部分说明。ORB的线程模型不要求支持多种策略。

IIOP:orbas要求至少要支持IIOP。

Delegate:delegate分为俩个部分,一部分是Object reference的delegate,一部分是Servant的delegate。

Codeset:Codeset模块实现ORB对代码字符集的自动转换。

POA:POA部分:Object Adapter的管理,对象引用的管理,POA线程池管理,object key的生成和管理。