Orbix2000功能、特性


(灰狐动力-中间件技术论坛 by huihoo.com Allen)

一、CORBA部分

1.1 先看看CORBA的发展历程

1991:CORBA 1.1 (IDL, DII, BOA, IFR, C mapping)
1993:CORBA 1.2 (introduction of CORBA module)
1995:CORBA 2.0 (GIOP, IIOP, DSI, C++ mapping)
1997:CORBA 2.2 (POA, DynAny)
1999:CORBA 2.3 (OBV, new DynAny)
2000:CORBA 2.4 (AMI, Interoperable Naming)
2001:CORBA 3.0 (PSS, Components, Portable Interceptors)

1.2 orbix2000全面遵从CORBA标准

。遵从最新CORBA标准:POA、DynAny、OBV、AMI(异步消息调用)、Portable Interceptors(可移植拦截器)
。全面符合CORBA 2.3.1规范,提供了2.4和3.0的部分功能
。支持IIOP/GIOP版本1.0, 1.1, 1.2
。提供多种CORBA高级服务:命名服务、PSS、OTS、事件服务等

1.3 提供代码生成工具(CGT)

。IDL编译器集成Tcl脚本语言解释器;
。用已提供的脚本根据IDL文件自动生成可运行的客户/服务器程序
。方便开发和调试
。定制Tcl脚本,减少重复性劳动

二、ART部分

2.1 独特的Adaptive Runtime Technology

。高性能CORBA引擎
。基于插件(plug-in)的专利技术
。模块化的微内核结构, 完全构件化、即插即用
。运行时可配置、用可加载模块动态升级
。同时支持CORBA和EJB两种标准
。提供容错、负载均衡、安全、事务、持续性
。支持大规模关键任务应用
。提供语言、位置、平台独立性

2.2 ART架构的优越性

。灵活性 - 协议、语言、数据库独立性,运行时可配置、动态加载
。可伸缩性 - 支持数十亿个对象、数万个并发客户端
。可管理性 - 对大型分布式系统实行集中式管理;确保24x7系统在线
--通过集中的配置域和定位域实现集中式管理
----运行时动态配置功能方便了部署和日后维护
----定位与激活分离
--在一处改变配置,所有地方都有效
--透明的对象迁移
--目录服务与定位服务集成
--集中式日志管理
。易于开发、部署和维护

2.3 ART平台的好处
。支持所有的IONA产品
。统一的平台
。一些最好的可延展的技术已经被应用在ART的不同层面上
。为开发者快速扩展应用程序的功能提供了方便
。开放体系降低了部署、维护系统的成本

2.4 什么是插件

。插件是一种代码库,可在链接或运行时加载到Orbix 2000应用中
。可包含各种类型的代码。
。Orbix的插件框架用IDL描述

三、性能部分

3.1 Orbix性能优势

。可支持大量客户和服务器
主动式连接管理
。可支持大量对象
对象缓存、代理对象、共享对象引用信息
。使用共享内存
当客户与服务器位于同一台机器上时用SIOP协议提高访问性能

3.2 服务端程序的集群
Orbix基础结构的集群:包括系统本身提供的服务:locator,CFR,Naming services

3.3 负载均衡
基于命名方式的:一个名字由一群对象共享;由命名服务分发对象引用
基于定位器方式的:用定位器动态分配负载

3.4 多线程技术

关键:函数库的提供

。Orbix 2000自身的函数库是基于多线程的
。采用标准的POA策略支持多线程机制
。线程池能根据负载自动扩大、缩小,无需编程就可以控制线程池的大小、增长和请求排队
。可移植的、面向对象的线程同步函数库

四、CORBA服务部分

4.1、CORBA标准服务

。(收集服务)Collection Service
。(集合服务)Concurrency Service
。(事件服务)Event Service
。(外表化服务)Externalization Service
。(许可服务)Licensing Service
。(生命周期)Life Cycle Service
。(命名服务)Naming Service
。(事件通知服务)Notification Service
。(持久化对象服务)Persistent Object Service
。(属性)Property Service
。(查询服务)Query Service
。(关系服务)Relationship Service
。(安全服务)Security Service
。(时间服务)Time Service
。(交易器服务)Trading Object Service
。(事务服务)Transaction Service
。(声音/视频流服务)Audio/Video Streams Service
。(日志服务)Log Service

4.2 Orbix2000支持的相关CORBA服务

通告服务

1、成熟的消息中间件产品

2、典型应用:
。电信网管系统
。实时监控系统

3、消息过滤

4、结构化消息

5、QoS保证

6、管道管理

Qos特性包括:可靠性,优先权,排序策略,丢弃策略,时间设定

。扩展了OMG的事件服务
。事件过滤
。事件子描述信息在通道和客户端之间共享
。数据库的集成ODBC不在需要,而支持Berkeley DB
。多播传送以插件的方式集成到Orbix2000中
--包含OrbixTalk功能
。服务质量能在以下几个方面加以配置
--可靠性
--优先级
--通道中事件排序的策略
--通道中抛弃事件的策略
--时间 :开始时间 , 停止时间, 延迟

发现对象的交易服务

。强大的可移植对象的搜索引擎
。客户可在任何时间发现服务
。选择满足确定约束条件的服务供应者
。查询语言是可表达、熟悉和容易的
。属性值是动态的
。交易者联盟(Federation of Traders)
。性能的提升
- 由于避免了一个一个的查询

OTS(对象事务服务)

。OMG对象事务服务的实现
。使用IBM的Encina技术
。多种资源的事务处理
--汽车出租, 航空售票, 旅店预定
--原子性 - 要么所有操作的提交,要么所有操作的回滚
。确保执行-两段式提交
。高级恢复和日志功能
。支持与Oracle,MQSeries等应用的XA接口
。事务协调器可以单独使用也可以与其它性能提升的处理过程结合起来使用

OrbixTalk

。基于多点传输业务(如UDP)、解耦合、异步传输系统
。扩展了CORBA基本事件服务。
。提供消息存储库。

CORBA事件服务
。解耦合
--生产者提供事件
--消费者接收、处理事件
。异步
--生产者发布事件与消费者接收事件互相独立
。多点传送
--“一对多”或“多对多”

orbix2000提供的目录服务包括两种类型

OrbixNames
。像“白页”
。每个名字与对象引用相关联
。采用目录式结构

OrbixTrader
。像“黄页”
。对象引用带有属性
。可根据查询条件搜索对象