??Availability of CORBA Object Services is not defined a priori:
Corba说明没用要求在运行时,哪一个对象服务是提供的。结果,对象开发者必须用 ad hoc 策略去配置和激活这些服务。
??No standard object lifecycle management:
虽然Corba对象服务定义了生命周期服务,但它并不是要求的。因此,客户端要明显内容去治理对象的生命周期,以 ad hoc 方式。进一步说,通过生命周期服务控制的Corba对象的开发者必须明白这个事实,和必须定义附加的界面去控制对象生命周期。定义这些的界面使单调的过程,应该自动进行,但较早的Corba说明缺乏。
对于模块服务器,正确处理生命周期治理问题和对于客户端,帮助模块服务器治理它们的模块实例的生命周期 ,是很重要的。例如:一个模块能同时像多个Client端输出多个服务。同样,一个模块服务器能容许多的模块。而且,一个模块服务器必须知道何时创建一个模块实例和何时移去,为了防止资源的泄漏。虽然Corba对象服务说明定义了Liftcycle服务,但并不是一定要的,对于普通的Corba对象。因此,Corba开发者经常应用它们自己的 ad hoc生命周期治理策略。实际上,Corba说明的灵活性把客户端和对象界面的特定应用紧密结合起来。为了标准化模块生命周期治理界面,因此,CCM介绍了一个新词,“home”,指明每一模块的生命周期治理策略。客户端能用`home'界面去控制它使用的每一模块实例的生命周期。每一home界面准确治理一种模块的类型。Home 可能是有键的或无键的。无键的 home 经常支持factory操作,创建新的模块的实例。相反,有键的支持finder操作,客户端能用索引进入持久模块的实例,通过用客户端提供的key。为了向模块服务器表明一个特定的模块不再需要,客户端能调用remove_component()操作,在home策略界面上去通知模块服务器,模块服务器能决定如何去除模块。