Resin是一款优秀的Servlet容器,而且Resin曾经被誉为最快的Servlet容器,现在是否是最快的Servlet容器已经无从考证,但作为Java界轻量级Servlet容器,Resin绝对是其中的佼佼者。如果说Tomcat是Sun JCP规范的实践探索者,那么Resin就是将Sun JCP规范的最优实现者之一。Resin向来就是以稳定高效而著称的。随着JavaEE 6规范的进展,Caucho已经决定在Resin 4.0中支持Java EE 6 Web Profile。
近日Caucho宣布将在其下一个版本的轻量级应用服务器Resin 4.0中支持Java EE 6 Web Profile。与一些大厂商的产品相比,Resin的速度非常快,通过对Java EE 6 Web Profile的支持可以让Resin的模块化之路更进一步。
Java EE 6 Profiles是这样一种机制:规范所描述的技术并不包含完整的Java EE 6认证功能集。这么做的原因很实际:完整的认证意味着实现的负担会很重,而很多人并不需要具备向后兼容的完整功能栈以及很少用到的一些API(比如 JCA)。
Web Profile就是这样一种Profile。Web Profile规范支持很多技术:如Web层的JSF 2、Facelets、JSP以及 Servlets 3.0;还支持Bean Validation、用于持久化的JPA 2、用于事务管理的JTA、用于业务层服务的EJB 3.1 Lite以及描绘了通用组件模型的CDI。EJB 3.1 Lite规范是对EJB 3.1规范的一种裁剪,它连接了Web应用栈,但却不支持其他很多特性,如JAXRS(REST端点)、SOAP、RMI/CORBA、对EJB 2.x的向后兼容、异步服务以及Message Driven Bean。
虽说如此,但实现者可以随意突破这种限定,比如说Resin就通过Caucho的Hessian技术(不是RMI和SOAP)公开了一个远程层并提供了一个最简单、但却非常高效的JMS实现,同时还提供了对Message Driven Bean的支持。EJB 3.1 Lite容器也将支持异步方法、调度方法等功能。
InfoQ有幸采访到了Caucho EJB 3.1 Lite容器的工程部领导Reza Rahman(同时也是Java EE 6和EJB 3.1的专家组成员)以了解Caucho Resin的未来发展方向。他说Caucho计划创建一个轻量级的应用服务器,如果有可能,提供规范以外的功能。Caucho正在吃自己的狗粮——将整个服务器构筑在CDI组件模型之上。最终,容器所提供的所有服务将会搭建在自己实现的CDI上——CanDI。这些服务的客户端将感觉不到任何差异,对于实现来说,EJB组件与常规的CDI Bean(使用了EJB模型)也没有什么不同。事实上,凭借Resin EJB 3.1 Lite容器,我们可以在EJB之外使用EJB service注解。这种架构反映了Java EE 6规范正在将不同的服务转换为统一的组件模型这个大趋势。Rahman说:“我们看到遗留的EJB组件模型正在消亡,但对于EJB规范来说还有更好的方式来处理业务服务”。
在被问到Caucho是否会为Resin实现完整的Java EE 6认证时,Rahman明确回答说他们不会这么做,因为将不再使用老式API,同时Caucho会保证Resin的竞争优势,必要时会进行革新。
Rahman强调Caucho非常看重社区的反馈,同时也鼓励人们都来尝试一下Resin。Caucho还提供了一个名为Quercus的PHP实现,获得了很好的反馈。除了Web Profile之外,Caucho还致力于将Resin推上云端。
摘自:infoq
[ad#468-60]