作者:James Kao译者 张龙 来源:InfoQ 酷勤网收集 2008-10-10
面向企业应用的OSGi服务栈ModuleFusion 1.0.2最近发布了。它将多个企业级Java应用框架打包成OSGi Bundles。这样开发者就可以在构建服务器端应用时采用熟悉的技术,而无需使用功能完全的J2EE容器了。
该发布包含如下Bundles:
OSGi服务平台
- OSGi框架(Equinox或者Felix)
- 配置管理
- 用户管理
框架
- Google Guice IoC框架
- Apache Wicket
- Hibernate
- Hibernate JPA前端
- Jetty Web服务器
- HSQLDB数据库
- PAX Web Extender Bundle
ModuleFusion
- DirInstaller(安装/更新/移除Bundles与配置)
- JPA集成
- Apache Wicket集成
日志
- Simple Logging Facade for Java(SLF4J)
- Apache log4j
- SLF4J - log4j bridge
- Commons logging - SLF4J bridge
ModuleFusion提倡服务器端应用使用OSGi,它是这样表述的:
ModuleFusion的目标是帮助程序员将OSGi服务平台作为底层的运行时环境。ModuleFusion包含了针对Java企业应用的一站式服务。该服务含有来自于Java生态系统最棒的开源框架。此外,ModuleFusion还具备一些必要的粘合剂代码,以帮助大家轻松地在OSGi中使用这些框架。
InfoQ联系到了项目经理Roman Roelofsen,并请他详细谈谈ModuleFusion与更常用Java EE容器之间的比较情况:
借助于ModuleFusion,我们想创建一个基于OSGi的发布,以此来帮助程序员采用OSGi编程模型。你可以将其与典型的Linux发布进行比较。虽然你可以下载Linux内核、GNU工具和应用,建立文件系统、引导过程并配置好一切,但是安装一个万事俱备的系统要更为简单。
如果你想使用EJB、JMS、JCA等框架,那么你必须使用传统的服务器。但你不会总使用它们。事实上,在大多数情况下你最好还是使用一个更轻量级的解决方案。像JONAS这样的项目也在强调这一趋势,并已经将这些特性以OSGi Bundles的方式提供了出来。
虽然ModuleFusion可以包含那些经典的JEE特性,但我们仍将精力集中于使用并促进OSGi编程模型,比如我们提供OSGi服务而非EJB Session Beans。
接着他又强调了ModuleFusion的优势(相应的,也提到了OSGi):
长话短说,使用ModuleFusion具有如下主要的好处:
- 对于那些过度使用完全JEE解决方案的地方,可以提供一站式优雅的轻量级企业服务支持。
- OSGi上手时可以节省你大量时间,因为ModuleFusion中已经集成了这些框架。解压缩就可以使用——相当简单。
- 完全使用了OSGi。
- 几个示例应用。
Roelofsen并不是唯一一个以前考虑使用Java EE、现在改为OSGi的企业级Java架构师。早在2007年的EclipseCon上,Gregory Brail和John Wells就关于BEA的微服务架构进行了一次演讲,试图将一个商业级Java EE服务器的功能分解为可重新组合的OSGi Bundles。IBM也将WebSphere Application Server 6.1构建为一套OSGi Bundles,并提供了一个在线演示来说明这种变化。
查看英文原文:ModuleFusion 1.0.2 Released: Enterprise OSGi Distribution
来自:http://www.infoq.com/cn/news/2008/10/modulefusion

