在过去的一段时间里,OSGI可谓喜事不断,先是受到IBM和Eclipse基金会的鼎力支持,后又在刚刚结束的EclipseCon大会上,OSGi联盟宣布长期酝酿的OSGi企业标准(第四次发布,Version 4.2)审批通过,预示着2010年将是Java模块化的一年。
OSGi标准化致力于发生在JCP社区进程之外的内容,但是支持OSGi或者将在流行的Java EE服务器内部支持。该模块化组件标准是为Java类打包以及来自于初期在嵌入是系统中工作的Java的相关资源所设计。
过去几年中,厂商和开源提倡者已经在研究在更加完全的企业计算环境中应用OSGi。OSGi联盟成员包括Ericsson AB、Eclipse Foundation、IBM、Oracle、 Paremus、Progress Software、Red Hat、SAP AG、VMWare等。
“嵌入的起源对此有很大帮助。这很容易入手,因为其原本是一个小的设备架构,并变得很大,然后开始变得过大,就越来越小,”Eclipse基金会执行理事Mike Milinkovich表示。然而管理人员是OSGi联盟,OSGi是Eclipse的要素,因此正式的标准在 EclipseCon上揭幕。
“Eclipse在OSGi的成功中占很大一部分。我们是首先接受该理念的人员之一。它成为我们使用Eclipse框架模型的框架,”Milinkovich说。尤其是最近,Eclipse基金会已经开始致力于企业参考执行称为双子星企业OSGi实现。OSGi对于Aries也极为重要,Aries是Apache基金会孵化器项目,意在为企业OSGi应用编程模型创造组件。
为Java EE将OSGi的模块化
“这是OSGi联盟***对于企业发布一项标准,”IBM中间件部门OSGi专家组技术主管Graham Charters说道,“在全球各地,很多人一直在努力建立规范。这仅仅过了三年。”,他表示:“它为Java EE程序模块带来可OSGi的模块化,使民众可以利用他们传统上已经写在Java EE内的,并开始采用OSGi来分解其应用,使之成可重复使用的模块,并通过整合服务层,避开一些他们已经建立的巨大的,几乎单一的应用程序,而且在共享应用程序上很麻烦。”
Charters介绍这些“麻烦”之一就是这样的Java EE要求开发人员对应用软件包的依赖关系升级。OSGi为软件架构师和开发人员提供分享的内存和磁盘使用情况的机会。
声明式服务及Blueprint容器
OSGi的发布中包括Web应用标准和数据库集成、管理和配置服务。可用的同样是新的声明式服务和蓝图容器标准。Blueprint容器通过VMware/SpringSource 的专业Spring框架到达OSGi。“熟悉Spring的开发人员将很容易使用‘Blueprint’。对于想要更深 一层次了解的开发人员也有其他的OSGi模型。”Paremus***执行官Richard Nicholson表示,声明式服务代表了更加“彻底”的观点。
更大的模块化预期的好处就是更大的代码重用。Nicholson 说:“我的观点是OSGi将开始从高级技术层人员走向组织,这些人期望代码重用成为他们想要发挥的战略上的事情。这将是进入企业的强制性因素。”
为了让迁移到OSGi表的容易,Paremus推出了灵活的软件套件。 Nimble在现有的Java EE软件上揭开类的依赖关系。发展阶段后,Nimble部署到类网格服务运行时的计算节点。
流线化的企业OSGi期望更多的工具。这个平台最终取得可以预测的成功之前将需要更多经验。“企业OSGi发布很重要,” Stephen O'Grady分析师RedMonk表示,“这几年来一直在增长。”
O'Grady说:“模块化的Java是一件好事,但OSGi尚未商业化,但也有人已经把它放到中心。”
【编辑推荐】