Java輕量級中間件服務器:SIwpas
最近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更加開放。