InfoQ

新闻

企业中的OSGi

作者 Alex Blewitt译者 崔康 发布于 2008年11月13日 上午1时50分

社区
Java
主题
标签
OSGi,
Spring Dynamic Modules,
Spring框架,
JBoss,
Java EE

随着最近GlassFish 3.0版“Prelude”,即Sun公司基于OSGi的Java EE 6服务器的发布,OSGi在企业中的应用已经覆盖了几乎所有后端服务器。最近,OSGi联盟的一份新闻稿列举了使用OSGi的厂商和技术:

Peter Kriens指出,Jonas——第一个基于OSGi的J2EE服务器,因为不是OSGi成员,所以没有在名单中列出。他同时表示,SAP NetWeaver将来也会迈向OSGi。

正如InfoQ之前所报道的, 这些系统转向OSGi的主要原因是为了更好的模块化。这使得系统可以分解成更便于管理(和测试)的单元,同时提供更多可重用的组件库。目前,大公司( IBM、甲骨文)一直在应用内部使用OSGi,没有直接暴露给应用的客户,但其他厂商( SpringSource )事实上则允许OSGi容器本身(而不仅仅是应用)对外开放其扩展性。

使用Maven构建的项目也同样是组件化的,这导致一些人想知道OSGi在模块化方面有什么特别之处。在Maven的模块化和OSGi的运行时之间两个最关键的区别是:

  1. Maven的依赖关系基于特定文件,而OSGi可以通过运行时发现的任意文件导入Java包。
  2. Maven的构建时特性意味着它并不支持运行时动态行为。

类似SpringSource's DM Server的应用服务器利用OSGi的动态特性部署Spring beans到OSGi容器中,允许运行时停止和重启服务。Spring动态模块框架在底层透明的处理关联和运行时。

开源项目也在转向OSGi。在Apache FelixOSGi服务器的刺激下,其他Apache服务器在它们的产品中生成OSGi元数据或者完全迁移,就像Apache Tuscany最近迁移。对于那些不生成元数据的的开源项目,存在很多OSGi束库(SpringSource企业束库OBREclipse OrbitFelix束库等等),它们为带特定注释的开源Jars提供OSGi元数据。

随着OSGi的成长,基于Web的和后端系统都直接构建在OSGi上。Linked In对OSGi的使用已经在他们的工程博客上讨论过 ,你也可以看到科罗拉多2008软件峰会的相关演讲稿。甚至可以在亚马逊EC2iPhone上运行OSGi服务。

不论是直接还是间接使用,OSGi在企业中的应用机会正在逐步提高。随着Spring框架成为应用开发的事实标准和Spring DM服务器的优势,构建动态、模块化的应用成为企业追逐的目标。

查看英文原文:OSGi in the Enterprise


没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!