我被問到的第一個問題是:“我們應該使用哪個Java EE應用服務器?”。 隨著Java EE 6的日益普及,新的兼容應用程序服務器獲得了認證。
當前的官方兼容性和認證矩陣列出了針對完全配置文件,Web配置文件或兩者認證的12種不同產品。 如果您要在綠色領域開始新項目,您將做出哪個決定? 這是我試圖縮小解決方案空間的方法。
玩家們
從花束中挑選什么樣的花束? 非常豐富多彩。 除了眾所周知的名稱(如IBM,SAP,RedHat,Apache和Oracle)外,列表中的知名度也較低。 Caucho的Resin,Apache的TomEE,OW2的JOnAS和SAP的NetWeaver Cloud僅通過Web Profile認證。 所有其他人都獲得了Full Profile認證。 下表包含我們參與者的完整列表,其中包含一些更多詳細信息:
應用服務器 | 供應商 | 執照 | 輪廓 | 供應商支持 | Java版本 |
GlassFish服務器3.01 | 甲骨文 | OTN /商業 | FP | 是 | 熱點6/7 |
GlassFish Server開源版3.x | 甲骨文 | GPL + CDDL | FP | 沒有 | 熱點6/7 |
WebSphere Application Server 8.x版 | IBM公司 | 商業版(prod + dev) | FP | 是 | IBM JVM 7 |
WebSphere Application Server社區版3.0 | IBM公司 | IBM非保證程序國際許可協議 | FP | 是 | IBM JVM 7 |
耶穌7 | TMAX | 商業廣告 | FP | 是 | 熱點6 |
由Windows Azure支持的Interstage Application Server | 富士通 | 商業廣告 | FP | 是 | 熱點6 |
Interstage應用程序服務器v10.1 | 富士通 | 商業廣告 | FP | 是 | 熱點6 |
Geronimo 3.0-beta-1 | 阿帕奇 | 阿帕奇2.0 | FP | 沒有 | 熱點6 |
WebLogic Server 12.1.1 | 甲骨文 | 商業/開發免費 | FP | 是 | 熱點6/7 |
uCosminexus應用服務器v9.0 | 日立 | 商業廣告 | FP | 是 | ? |
JBoss應用服務器7.x | 紅帽 | LGPL | FP | 沒有 | 熱點6 |
JBoss企業應用平臺6 | 紅帽 | LGPL /商業 | FP | 是 | 熱點6 |
樹脂4.0.17 | 考喬 | GPL“ Resin開源”版本“ Resin Professional”商業版 | 可濕性粉劑 | 是 | 熱點6 |
TomEE 1.0 | 阿帕奇 | 阿帕奇2.0 | 可濕性粉劑 | 沒有 | 熱點6/7 |
喬納斯5.3.0-M8-快照 | OW2 | LGPL | 可濕性粉劑 | 沒有 | 熱點6/7 |
NetWeaver云 | 樹液 | 商業廣告 | 可濕性粉劑 | 是 | SAP Java服務器VM 1.6 |
看你的要求
好消息首先。 兼容性列表中列出的所有應用程序服務器都通過了Java EE 6 TCK(技術兼容性套件),這基本上意味著它們提供與Java EE 6相關的相同功能。即使由于許多原因,它們都具有一定的模糊性原因。 一種是,沒有TCK覆蓋100%的指定功能。 但我敢肯定,您可以提出其他原因。 好的信息基本上是什么,讓您想知道哪些是可以比較的正確需求集? 顯然,它不是一套完整的技術指標,而是不同方面的組合。
以下是一組簡單的指標示例:
–源代碼許可(OSS或商業)
–許可費用(開發和生產免費)
–支持(可提供開發和/或生產支持)
–認證Java版本(6.0、7.0 / HotSpot /專有JVM)
– Java EE 6配置文件(完整或Web配置文件)
如果您要進行全面的產品選擇,那么這遠遠不夠。 您最有可能會查看來自不同類別的指標(例如,職能,非職能,公司,財務方面),但是到目前為止,這已經足夠了。
選擇過程
讓我們來做:在這個簡單的示例中,繼續選擇過程。
首先有一點免責聲明:這是一個非常簡化的選擇過程,實際上并沒有挖掘所有臟的小細節。 對于您自己的選擇過程,僅將其視為粗略的方法論思想! 因此,如果有人對我所做的事情不滿意,我很樂意在評論中閱讀它!
我們正在尋找一種支持Java EE 6 Full Profile的OSS服務器。 這意味著我們將殺死所有商用服務器,而Web Profile僅是其中的一個:
應用服務器 | 供應商 | 執照 | 輪廓 | 供應商支持 | Java版本 |
GlassFish服務器3.01 | 甲骨文 | OTN /商業 | FP | 是 | 熱點6/7 |
GlassFish Server開源版3.x | 甲骨文 | GPL + CDDL | FP | 沒有 | 熱點6/7 |
WebSphere Application Server社區版3.0 | IBM公司 | IBM非保證程序國際許可協議 | FP | 是 | IBM JVM 7 |
Geronimo 3.0-beta-1 | 阿帕奇 | 阿帕奇2.0 | FP | 沒有 | 熱點6 |
JBoss應用服務器7.x | 紅帽 | LGPL | FP | 沒有 | 熱點6 |
JBoss企業應用平臺6 | 紅帽 | LGPL /商業 | FP | 是 | 熱點6 |
還剩五個。 從許可證的角度來看,這有兩個問題。 JBoss EAP 6和Oracle GlassFish Server都具有商業許可證(據我了解),但是它們仍然依賴OSS服務器產品,并且許可版本僅在您需要支持時才有意義。 在下一步中,我將啟動不提供供應商支持的所有服務器:
應用服務器 | 供應商 | 執照 | 輪廓 | 供應商支持 | Java版本 |
GlassFish服務器3.01 | 甲骨文 | OTN /商業 | FP | 是 | 熱點6/7 |
WebSphere Application Server社區版3.0 | IBM公司 | IBM非保證程序國際許可協議 | FP | 是 | IBM JVM 7 |
JBoss企業應用平臺6 | 紅帽 | LGPL /商業 | FP | 是 | 熱點6 |
這使我們下降到三個。 仍然不是一個單一的結果。 現在,讓我們有意刪除IBM,因為它們沒有在HotSpot上認證,而是使用自己的IBM JVM J9。
應用服務器 | 供應商 | 執照 | 輪廓 | 供應商支持 | Java版本 |
GlassFish服務器3.01 | 甲骨文 | OTN /商業 | FP | 是 | 熱點6/7 |
JBoss企業應用平臺6 | 紅帽 | LGPL /商業 | FP | 是 | 熱點6 |
根據我的一點評估,今天只有JBoss AS 7和GlassFish才是真正的選擇。
建議
有人會叫我害怕在這里選拔一個獲勝者。 如果您了解我,就會知道這根本不是事實。 給定初始指標,這恰好是結果,顯然所選指標不足以任命明確的贏家。
如果您需要最終建議,則必須根據需要調整指標。 我建議進一步研究一下:
–市場覆蓋率(例如下載/客戶/等)
–成熟度(例如自EE 6最終版本以來的可用年限)
–開發性能(例如,啟動時間/ IDE集成)
備注:
我為此感到抱歉,我將Oracle和RedHat的商業產品與相關的OSS服務器混合了一些。 鑒于這一事實,我希望看到OSS服務器會導致供應商支持要求的淘汰標準。 考慮到事實,我真的不建議對任何人使用AS7.1.1.Final(請參閱henk所做的原因的很好的總結 )我個人認為,為兩者推薦商業方面是很公平的服務器。
參考: 在Java 企業軟件開發博客上,從我們的JCG合作伙伴 Markus Eisele 選擇Java EE 6應用服務器 。
翻譯自: https://www.javacodegeeks.com/2013/01/selecting-your-java-ee-6-application-server.html