前不久,JBoss发布了其应用服务器的6.0 版。InfoQ 有幸采访到了JBoss AS 团队的首席软件工程师Shelly McGowan 以了解此次发布,Shelly McGowan 领导了V6 最后的里程碑发布。
InfoQ:此次发布的亮点在于对 Java EE 6 Web Profile 规范的支持。能否谈谈为何这对于使用 JBoss AS 的人们来说是很重要的么?
Shelly:JBoss AS 6 是我们最新发布的版本。兼容于 Java EE 6 Web Profile 规范一直以来都是 AS 6 的目标。在这个目标下,如果应用使用了 Java EE 6 平台技术规范所定义的特性和行为,那么在迁移到 AS 6 上时依旧能继续使用这些特性。我们之所以瞄准了 Web Profile 规范所定义的技术是因为社区所开发的各种应用对这些技术非常感兴趣。在近期发布的一份关于最流行的 Java EE 标准的报告中,排名前 5(JPA、JSP、EJB3、JSF 及 CDI)的都是 Java EE Web Profile 的必备组件。除了 Java EE 6 Web Profile 所需的这些组件外,AS 6 还提供了可选的经过认证的组件:RESTEasy 2.1.0——JAX-RS 1.1 规范的实现;HornetQ 2.1.2——JMS 1.1 规范的实现以及 JBoss Web Services CXF 栈——JAX-WS 2.2 规范的实现。除了领导了 Web Profile 中的两个主要规范 JSR-299(由 Gavin King 领导的 Contexts and Dependency Injection for the Java EE Platform)以及 JSR-303(由 Emmanuel Bernard 领导的 Bean Validation)外,JBoss 专家组成员还对 Web Profile 规范做出了巨大的贡献。这些规范的参考实现 WELD 1.1 与 Hibernate Validator 4.1.0 包含在了 Web Profile 中。目前,6.0.0.Final 的下载量已经超过了 17,000。JBoss 社区的很多用户已经开始迁移应用了,为的就是使用这些新特性。
InfoQ:能否简要介绍一下此次发布的主要特性以及相对于旧版本来说增加了哪些内容?能否介绍一下新的 API 呢?
Shelly:此次发布的主要特性就是对 JBoss Injection 框架的完整实现。这对于满足 Java EE 6 平台规范所要求的 Resources、Naming 以及 Injection 是至关重要的。Jaikiran Pai 领导了这个关键组件的实现,感兴趣的读者可以在AS 6 的Injection 以及 SwitchBoard 组件社区文档中找到详细信息 Infinispan v4.2.0 是个开源的数据网格平台,从 CR1 里程碑发布时就加入了,现在它也集成到了 JBoss AS 6 中,并且是默认的分布式缓存提供者。Infinispan 公开了一个兼容于 JSR-107 的 Cache 接口,你可以将对象存储其中。JBoss AS Clustering 的领导 Paul Ferraro 对 AS 6 中的 Infinispan 进行了介绍,可以在这里找到。Mod_Cluster 支持是开箱即用的,这样 JBoss AS 6 服务器就可以动态探测并注册到前端的 apache httpd 服务器了。
此次发布还增加了对 IPv6 的支持。 。
InfoQ:向后兼容性如何,对于那些使用 JBoss AS 5 的人们来说,最大的改变又是什么?
Shelly:从 JBoss AS 5 迁移到 JBoss AS 6 的便携式应用在部署时是没有任何问题的。我们的企业版可以保证新版本能向后兼容于 JBoss 的具体特性,但上面的项目却不一定,比如这次。在迁移到 AS 6 时用户可能会发现的一个改变就是在部署时的验证更加严格了。我们注意到规范在某些领域的要求变得更加严格,也就按照规范实现了。
InfoQ:相对于 4.0 或 5.0 来说,运行在 JBoss AS 6 上的产品系统在性能上的表现如何?与其他容器和应用服务器相比又如何呢?
Shelly:我手头并没有 AS 6 与其他版本的 AS 或其他应用服务器的比较数据。Red Hat 推荐用户将产品部署到我们的企业版上,比如 JBoss Enteprise Application Platform。对于性能来说,JBoss AS 5 与 6 之间有明显的变化。JBoss AS 6 对启动性能的提升很明显,现在的平均启动时间是 15 秒。用户能够感觉到这种改进,一定程度上是因为延迟了随 AS 一同发布的管理控制台应用的部署,转而以“按需”方式提供,同时还实现了 Timer Service 的延迟部署。Microcontainer(v2.2)的增强(包括新的注解扫描库的实现)极大降低了应用部署的时间。Ales Justin 在文章中写到“这个库背后的想法非常简单:将所有的 JBoss AS 扫描组件统一到单独的库中”。现在无需对每个组件进行资源扫描,我们只需做一次即可,可以将工作委托给各种容器组件实现。另一个目标是启用预先索引信息,这样就无需扫描了。比如说,我们可以在构建过程中预先索引所有 jar 的注解信息。
InfoQ:JBoss AS 6 在 JBoss 企业中间件策略中的地位如何?
Shelly:JBoss AS 是 JBoss 企业应用平台的上游社区项目,反过来又是整个 JBoss 企业中间件栈的根基。下一版本的 JBoss 企业应用平台将要达成如下目标: - 继续恪守我们对企业级 Java 标准的承诺——让 AS 6 获得 Java EE Web Profile 认证是第一步,然后将其扩展到整个 Java EE 6 栈。
- 改进在大规模操作环境下的能力——通过新的领域模型、改进的性能与可伸缩性以及改进的模块化来实现。
- 简化开发与操作环境下的使用。
在这些目标中,第一个主要是通过 JBoss AS 6 实现,另外两个则是下一版本 JBoss AS 7 所关注的事情。在发布 AS 6 之后,JBoss AS 7 的开发工作也已经开始了,包括去年十月对社区发布的一个 Alpha 版。AS 6 所用的技术现在可以集成到全新、轻量级的 AS 7 架构中,AS 7 将作为我们接下来要发布的应用服务器,代号为“Lancer”,预计于今年底发布。
InfoQ:对 5.0 支持的路线图如何?对 7.0 有何计划呢?
Shelly:目前 AS 7 的开发工作让人感到兴奋。为了达成上面所提的目标,团队正在搜集反馈。我们将会继续快速的发布周期以确保在开发这些特性时就能及时收到反馈。 对于那些需要全方位支持、稳定的平台以运行大规模、业务关键应用的用户来说,JBoss 企业应用平台(EAP)已经发布一年多了,我们目前正进行第 3 个维护发布。JBoss EAP 5 完全支持 Java EE 5 平台规范。几周前,JBoss Enterprise Portal Platform v5.1 也发布了。JBoss AS 7 将成为下一版本的 JBoss EAP 6 的根基。
InfoQ:Shelly,还有什么需要补充的么?
Shelly:我希望对 Web Profile 特性感兴趣的开发者能够尝试一下 AS 6.0.0.Final。可以访问我们的下载页面: http://www.jboss.org/jbossas/downloads.html 。充满着生机活力的社区论坛是讨论的最佳去处,欢迎大家都能加入进来。
Shelly McGowan 是 JBoss 应用服务器开发团队的首席软件工程师,领导了 JBoss AS 6 最后里程碑的发布。她领导了 Java EE 6 Web Profile 认证,也参与了与 JBoss 企业中间件平台相关的其他认证,前不久 JBoss 企业中间件平台获得了规范 & 标准兼容性认证。此外,Shelly 还维护着其他的开源社区项目。她于 4 年前加入了 JBoss,此前曾是 Sun Microsystems, Inc Java EE 开发团队的技术人员。
评论