综合

期待SCA、OSGI的天作之合

2019-09-13 19:09:39来源:励志吧0次阅读

我博客中以前的文章中对SCA、OSGI、Spring曾做过一些粗略的比较,也一直在思考SCA、OSGI能否走到一起,最终以什么样的形式结合。在OSGI主席Peter的博客上看到了BlueDavy的提问, Peter回答说SCA和OSGI很多概念很相似,二者是天作之合(原话是match made in heaven),。但是毕竟SCA和OSGI所关注的方面不太相同。一个是关注于语言无关的企业应用集成,一个更关注于运行环境中组件和服务的动态更新特性。  在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能够修成正果。

查看本文来源

幼儿感冒咳嗽流鼻涕怎么办
小宝宝便秘怎么办
宝宝发烧咳嗽
小孩脾虚如何调理
分享到: