近日,Eclipse Virgo 发布了,其中包含了 Eclipse Gemini Web 组件,虽然这是以 Eclipse 名义首次发布的版本,但它却是知名的 Spring DM Server 自然而然的演化。 Virgo 与 Gemini Web 的发布声明详细列出了此次发布的新特性,感兴趣的读者不妨移步一观。
Eclipse Virgo 提供了一个运行在 Eclipse Equinox 上的内核,而 Eclipse Equinox 则可以运行基于 OSGi 的应用。与普通的 Equinox(或 Felix)运行时不同的是,Eclipse Virgo 使用了嵌套框架的概念来对安装在相同框架中的 OSGi 应用进行分区,可以解析来自一个或多个仓库的Bundle,这可以是本地,也可以是远程的观测目录。
Eclipse Virgo 还使用了一个非常有用的概念:PAR 文件,这是 OSGi Bundle 的归档文件,能够以原子形式安装到运行时当中。对于那些习惯于将单独的 WAR 文件丢到 Tomcat 等 Web 服务器的开发者来说,迁移到 Virgo 上是非常简单的事情,这要比直接使用 Equinox 或 Felix 轻松得多。
虽然 Virgo 只是内核的名字,但它还带有来自于 Eclipse Gemini 项目的 Gemini Web 容器。该容器实现了 OSGi Enterprise Web Bundle 规范,这样我们就可以使用它按照 PAR 的方式安装 OSGi Web Bundle 了。由于这些 WAB 是符合标准的格式,因此它提供了使用 Virgo 的标准方式,你无需了解众多的私有格式。Apache Aries 也有一个类似的 EBA 格式;未来的 OSGi 规范很有可能会吸收这些方式的精华,进而设计出标准化的单独安装的组件。
此外,Virgo 内核还支持现有的 Spring DM 基础设施,这包括基于 OSGi 服务的动态包装,还支持如 Hibernate 等遗留程序库。考虑到当用于 OSGi 环境中时,Hibernate 将会变得一团糟,那些希望逐步摆脱 Hibernate 的开发者会发现 Virgo 在 OSGi 环境下对 Hibernate 提供了很棒的支持,这将有助于他们迁移到 OSGi 支撑的后端环境中,如 OpenJPA 或 EclipseLink 。
SpringSource Tool Suite 为在 Virgo 中创建与部署应用提供了支持;基于 Maven 的目标还可以用于构建、打包并将 Bundle 与 PAR 安装到 Virgo 运行时当中,这一切都非常简单。
Virgo 的未来规划包括了其他的 Gemini 组件,如 OSGi JNDI 与 JDBC 支持。虽然 Eclipse Virgo 仍将关注于内核与管理方面,但 Eclipse Gemini 项目还会继续发布 OSGi 企业规范实现。
在 Spring DM Server 首次发布时,它获得了很多赞誉。然而,使用它的人却远没有达到 SpringSource 的期望,这其中的原因可能在于 GPL,这个协议使得 Spring DM Server 在企业中的普及受阻。既然现在它的代码已经成为了 Eclipse 的一部分,自然就具有了双重许可,分别是 Apache License 与 Eclipse Public License。加上可以迁移遗留的 Spring 与 Hibernate 企业级代码等特性,Eclipse Virgo 很有可能在不远的将来获得越来越多开发者的青睐。
查看英文原文: Eclipse Virgo Released
评论