Tuscany Home
 

期待SCA、OSGI的天作之合

From Tuscany中文社区

Jump to: navigation, search

在SCA规范正式版发布之前,总感觉缺少SCA容器打包部署方面的描述。终于在1.0版中看到了将打包部署作为了单独的一个章节列了出来。OSGI的Bundle可以将可以在SCA容器中部署。但对于OSGI的更进一步描述,在规范中也是闪烁其词。

  时过半年,SCA、OSGI走向联合的趋势越来越明朗。可以看到在OSOA的SCA Assembly Model 1.0规范已经提到了将OSGI作为SCA的一种部署模式的参考实现。并且发布了Powerful Combination of SCA, Spring, and OSGi 的白皮书。白皮书中给出了SCA、Spring、OSGI如何在一起工作的概览。

  OSGI联盟在2005年8月发布的R4规范,已经对组件和服务的部署、运行作了比较详细的描述,具体可参见Declarative Services规范。从部署描述符的格式上看,同SCA的元信息格式非常的相似,估计多半SCA规范在制定时参照了OSGI中的一些内容。

  Eclipse Con 2007中有不少关于OSGI方面的专题,How to tackle the problems of large scale applications in OSGi专题的最后也提到了OSGI与SCA的结合。 SCA容器在OSGI容器中运行,SCA容器实现为OSGI的一个Bundle。SCA Bundle需要实现服务与引用的绑定,同时可以考虑使用Declarative Services。

   从技术的角度看,SCA和OSGI有很多的相似,同时又有很多方面可以互补。SCA容器中的组件要求在运行时刻是隔离的,具体体现在Java实现中,要求不同的Composite具有不同的ClassLoader,这正是OSGI的强项,同时,对于服务的管理、动态更新等特性,SCA容器应该也是需要的。但是,OSGI也有其局限性,它只是一个Java平台之上的框架,而SCA需要面对的是多语言、多实现的集成应用环境。因此二者如何更好的结合,还需要在实践中不断的摸索。也期望SCA、OSGI能够修成正果。
Personal tools