体验CORBA组件模型CCM:1、引言

这篇文章介绍了CORBA组件模型CCM,它弥补了CORBA2.x的不足,引入了组件的多重刻面、接插口、事件、属性等新特性。CCM鼓励组件的组合而非继承,支持组件的配置、部署和重用。文章以开源实现CIAO为例,探讨了如何使用CCM进行组件设计和实现。
摘要由CSDN通过智能技术生成

体验CORBA组件模型CCM1、引言

摘要:

在比较CORBA2.xCORBA3.x的基础上,简要介绍CCM引入的新特性。

一、概述

虽然CORBA2.x已成功应用于诸多软件系统的开发,但CORBA2.x仅是一个分布式对象计算模型,并不是一个组件对象模型,OMG组织考虑到CORBA2.x存在的以下问题:

·        缺乏功能分界

CORBA2.x对象模型中,所有的接口均被视为是面向客户程序的,而缺乏在不同接口实现间进行通信的通用规范。

·        难于扩展对象的功能

CORBA2.x中,对象只能通过继承(而不是组合)来扩展,应用程序开发人员必须先定义一个IDL接口、实现该接口、并在所有Server中配置该实现。但CORBA IDL的多重继承是有缺陷的,因为有的语言不支持重载;另外,应用程序可能用同一个IDL接口多次发布服务的多个实现或多个实例,但多重继承使得不可能不止一次的发布同一接口,或由客户确定哪一个是最下层的版本。

·        缺乏统一的软件配置、部署规范等

缺乏统一的软件配置、部署规范使得开发人员需要用各自不同的方式,来进行应用系统的初始化及配置、管理,使得整个软件系统变得难于管理与维护。

 

同时,考虑到组件化中间件的必然趋势,OMG1999年正式发布了CORBA3.0CORBA3.0除将IDL2.x扩展到IDL3.0外,还将CORBA组件模型(CCM)引入到了CORBA的世界,使得CORBA成为一种组件中间件技术。

(注:CORBA2.x规范所定义的CORBA仅为一种分布式对象计算技术,有些文章中以CORBA2.x实现为基础讨论CORBA组件技术,并将其与EJBCOM等进行比较,是完全错误的。)

组件中间件技术通过更高层次的抽象定义,弥补了面向对象中间件技术的一些缺陷,定义了组件的虚拟边界、定义了组件的发布方法,以及组件与其他组件和客户端进行交互的方式。同时,组件中间件的定义也支持运行时环境、封装和发布的机制和标准,所有的这些机制和标准都使得了软件组件的重用变得更加简单。通过使用组件中间件,系统可以使用一种“装配的”方式来搭建,而不是使用传统的工程方法,即CORBA2.x中,没有标准支持二进制级别的重用,所有的重用基本是源码级别的,而在CCM中,我们可以以组件为单位在二进制级别上进行实现重用,虽然这在目前来讲还比较困难。

OMGCCM规范是以EJB为蓝本提出的,并且,为了兼容EJBCCM还对与EJB的互操作进行了讨论,但目前CCM的商业应用远不如EJB广泛,这一方面与CCM本身的复杂性有关,同时也与CORBA中间件提供商及客户的关注程度有很大关系。

 

CIAO

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值