最近MechSoft公司发布了Siwpas,它是基于Apache Tomcat的轻量级应用程序服务器,特别专注于Web应用程序。
Siwpas是基于Apache Tomcat 7的Java应用程序服务器,其中整合了:
- Apache OpenJPA提供的对JPA的支持
- Apache OpenEJB提供的对EJB的支持
- Apache OpenWebBeans提供的对CDI的支持
- 通过Apache MyFaces提供的对JSF的支持
proprietary服务层,这使得我们可以通过各种库来注入易于使用的组件,从而使用Java EE 6 Web Profile。proprietary 监控控制台(只在企业版中提供)我们有幸联系到MechSoft公司的首席技术官Gurkan Erdogdu,从而了解到更多关于Siwpas的信息。
▲Siwpas集成了ASF基于Java EE的Web Profile组件图
记者: Siwpas到底是什么呢?
Siwpas代表的是“简单的Web Profile应用程序服务器”。它是一种指在实现Java EE Web Profile规范的轻量级Java应用程序服务器。它基于多种Apache项目。其中的一些直接集成在Siwpas中(像OpenJPA和MyFaces),另一些则经过了MechSoft的扩展(像OpenWebBeans和OpenEJB)。
记者: Siwpas的目标受众是谁? 是现有的Tomcat用户? 还是使用全功能应用程序服务器的开发者?
Siwpas和Tomcat更相近,而与重量级的应用程序服务器——像WebLogic、WebSphere、JBoss等——相差比较远。它只包含针对Java EE 6 Web Profile的特性。例如,它没有整合CORBA、JMS等等。使用Siwpas你可以很轻松地在几分钟之内实现Java EE Web Profile应用程序。此外,和全功能应用程序服务器相比,Siwpas的速度非常快。在一般的使用环境中,它在2-3秒之内就能够启动。对于开发团队来说,重新部署的时间意义重大。而Siwpas大大减少了“部署/测试”周期所需要的时间。
记者: 那么Siwpas只是Tomcat + EJB + JPA +JSF的集合,或者还有更多? 我们可以通过整合相同的Apache项目获得相同的功能吗?
不能,MechSoft对很多库进行了扩展,从而适应Java EE Web Profile的需要。如果开发者使用基本的Tomcat并添加了EJB、JPA和JSF,那么他们无法确保EJB能够被注入到JSF beans中,也无法确保CDI beans能够注入到Servlets、Filters、EJBs和CDI beans中,更无法确保所有Java EE的资源依赖都能够得到完美地处理。根据规范,所有Java EE Web Profile组件都必须协同工作。例如,当你的web应用程序包含EJB的时候,web应用程序的JNDI上下文就必须共享EJB的JNDI上下文。 如果不编写整合(内核)层,你就无法实现这种类型的互操作性。MechSoft以统一的方式实现了包含这些组件的内核。此外,Siwpas企业版还包含了带有状态的EJB的集群和灾难恢复,以及带有Tomcat本地集群的CDI beans。这些特性并没有包含在标准的EJB或者CDI实现中。MechSoft对OpenEJB和OpenWebBeans实现进行了扩展,然后才实现了这些特性。将来的版本还会包含对WebSocket协议和Comet协议的实现。
记者: 你想要完全符合Web Profile吗? Web Profile对于开发者来说很重要吗? 对你来说,符合规范很重要吗?
是的,现在我们正试图寻找一种方式,让我们可以合理获得Java EE Web Profile TCK。为了使用Java EE Web Profile TCK对Siwpas进行完整测试,MechSoft需要从Oracle获得许可。 如果我们获得的话,那么我们就想要让Siwpas通过Java EE Web Profile的认证。对于开发者来说,Profile的兼容性很重要,但那并不是所有,因为真正的应用程序更需要TCK的兼容性。 然而对我们来说,拥有Java EE Web Profile认证非常重要。
记者: 你觉得应该如何与Spring tc Server竞争呢? 他们也提供了基于Tomcat的轻量级应用程序服务器,并且其中带有一些其他的扩展。
Spring tc Server基于Tomcat + Spring框架。而Siwpas则基于Tomcat + Java EE技术。与之前的版本相比,Java EE 6更容易使用。如果你查看EJB 3.1 Lite规范,就会发现使用事务和安全保护实现EJB非常容易。当引入Spring的时候,其中并没有Web Profile和兼容服务器需要实现完整的J2EE规范(使得它变成重量级的服务器)。此时,开发带有J2EE技术的web应用程序会耗费很长时间。而现在不再是那样,因为Java EE 6 Web Profile只包含定义良好的组件,而不是企业应用程序可能会使用的所有组件。所以,和Spring tc Server相比,最基本的区别就在于Siwpas是基于Java EE标准而不是自定义框架的。
Siwpas有两个版本: 社区版和企业版。社区版是开源的,没有任何官方的支持。而企业版是基于社区版的,还包含了其他特性,另外还有proprietary web控制台,让你可以轻松地管理服务器。MechSoft公司还提供了演示视频。
此外,他们还为在IDE中部署应用程序发布了Eclipse插件 。
▲Siwpas控制台登录屏幕
编辑点评:
Siwpas作为一个新生的、简单的Web Profile应用程序服务器,和其他全功能的应用程序服务器相比,启动和部署时间都是非常的快速,且SIwpas技术支持所有提供的Java EE Web规范兼容运行。这是实施“Apache Tomcat的Servlet和JSP容器7”和几个Apache软件基金会的Java EE项目为基础。不仅如此,SIwpas还提供了一个很酷的“SIwpas控制台 ”来管理和内部结构SIwpas服务器应用。SIwpas的目标是要落实SIwpas控制台使用JSF 2。它将使你能够配置和管理的每一个SIwpas方面,例如,EJB配置,列出条目的jndi,部署/取消部署应用程序,性能图表,协议的配置等等。正如你已经知道Oracle的TCK测试Java EE不是开源的一样,当然我们也希望JCP和TCKs更加开放。