面向企业应用的 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
评论