選擇您的Java EE 6應用服務器

我被問到的第一個問題是:“我們應該使用哪個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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370586.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

串的基本計算

#include<stdio.h> #include<stdlib.h> //typedef int Status; #define Max 20 #define OK 1 #define ERROR 0 #define OVERLOE -2 typedef struct//堆分配表示串 { char *ch; int length; }HString; // int CreatHString(HString &H)//構造字符串 { H.length …

HTML表格屬性及簡單實例

這里主要總結記錄下表格的一些屬性和簡單的樣式&#xff0c;方便以后不時之需。 1、<table> 用來定義HTML的表格&#xff0c;具有本地屬性 border 表示邊框&#xff0c;border屬性的值必須為1或空字符串("")。該屬性不會控制邊框的樣式&#xff0c;而是由CSS來…

怎么查看MySQL 源碼編譯了什么_Mysql 源碼編譯教程貼

題外話:這是一篇教程貼,不僅學的是mysql的編譯,還是一些編譯的知識.我也是一個菜鳥,寫一些感悟和心得,有什么問題可以批評指正,謝謝!如果只是為了安裝請移到我的另一篇安裝貼: Mysql安裝貼環境:OS: CentOS 6.6x64 minimysql: mysql-5.6.251. mysql 下載:http://dev.mysql.com/d…

linux mysql啟動_MySQL 安裝(二)

MySQL 安裝所有平臺的Mysql下載地址為&#xff1a;MySQL 下載 . 挑選你需要的 MySQL Community Server 版本及對應的平臺。Linux/UNIX上安裝MySQLLinux平臺上推薦使用RPM包來安裝MySQL&#xff0c;MySQL AB提供了以下RPM包的下載地址&#xff1a;MySQL - MySQL服務器。你需要該…

0524駝峰命名法,模態對話框

模態對話框 window.showModalDialog("url"&#xff0c;"向目標對話框傳的值"&#xff0c;"窗口特征參數") 打開模態對話框 模態對話框必須關掉才能對后端操作。 模塊對話框和窗口的區別是永遠置頂。 特征參數&#xff1a;用分號隔開&#xff0c;…

誰在偷你的記憶? 應用服務器版

您創建了一個了不起的應用程序。 您將其投入生產。 您會發現您沒有足夠的可用內存。 即使您的所有測量結果&#xff08;可能是借助我們的小型公用事業公司進行的測量 &#xff09;都表明您應該還不錯。 我們計劃發布一系列博客文章&#xff0c;研究堆消失的位置&#xff0c;并…

遺忘的html標簽

1 <span>x</span><sup>2</sup><span> y10</span> 2 <br> 3 <span>H</span><sub>2</sub><span>O</span> <sup> 標簽可定義上標文本。 包含在 <sup> 標簽和其結束標簽 …

Android四大組件之BroadcastReceiver

什么是BroadcastReceiver? BroadcastReceiver(廣播接收器)&#xff0c;顧名思義&#xff0c;是用來接收廣播的。Android內部實現了一套廣播通信機制&#xff0c;即在某個應用或某個組件注冊廣播接收器&#xff0c;接收特定類型的廣播。當別的應用或組件發送該類型的廣播時&…

mysql數據庫索引頁號為什么從3開始_MySQL數據庫快問快答

原標題&#xff1a;MySQL數據庫快問快答前言今天樓主給大家列一下關于數據庫幾個常見問題的要點&#xff0c;如果大家對其中的問題感興趣&#xff0c;可以自行擴展研究。1. UNION ALL 與 UNION 的區別UNION和UNION ALL關鍵字都是將兩個結果集合并為一個。UNION在進行表鏈接后會…

通過簡單的Spring方面擺脫null參數

什么是世界上最令人討厭的&#xff0c;同時也是最受歡迎的例外&#xff1f; 我敢打賭這是NullPointerException。 NullPointerException可以表示任何東西&#xff0c;從簡單的“ ups&#xff0c;我認為不能為空”到數小時和數天的第三方庫調試&#xff08;我敢于嘗試使用Doze…

java arraylist排序_最全Java集合筆記

集合概述什么是集合集合框架&#xff1a;用于存儲數據的容器。集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容&#xff1a;對外的接口、接口的實現和對集合運算的算法。接口&#xff1a;表示集合的抽象數據類型。接口允許我們操作…

【3】JVM-OutOfMemory異常重現

JVM中常見的OOM&#xff0c;那么如何通過自己編寫代碼產生這些OOM異常呢&#xff1f;通過寫代碼重現異常&#xff0c;是為了避免在工作中寫出有OOM BUG的代碼。之前雖然看過相關文章&#xff0c;但是沒自己寫過這些代碼&#xff0c;這次在編寫的實際過程中&#xff0c;由于和書…

CachedIntrospectionResults 初始化

轉載于:https://www.cnblogs.com/xiluhua/p/7862985.html

為什么有些內聯(行內)元素可以設置寬高?

為什么有些內聯&#xff08;行內&#xff09;元素如img、input可以設置寬高&#xff1f; 在說明之前我們先來了解一些定義。 塊級元素和內聯元素&#xff1a; ①塊級元素總是獨占一行&#xff0c;表現為另起一行開始&#xff0c;而且其后的元素也必須另起一行顯示。 寬度(w…

mongo數據庫和mysql數據庫的區別_Mongodb與mysql數據庫的區別

MySQLMongoDB說明mysqldmongod服務器守護進程mysqlmongo客戶端工具mysqldumpmongodump邏輯備份工具mysqlmongorestore邏輯恢復工具db.repairDatabase()修復數據庫mysqldumpmongoexport數據導出工具sourcemongoimport數據導入工具grant * privileges on *.* to …Db.addUser()Db…

在Eclipse中高效運行HTTP / REST集成測試

最近&#xff0c;我有機會使用由我親愛的Holger Staudacher編寫的OSGi-JAX-RS-Connector庫。 通過連接器&#xff0c;您可以通過將Path注釋的類型注冊為OSGi服務來輕松發布資源-實際上&#xff0c;它工作得很好。 對于我來說&#xff0c;使用普通的JUnit測試編寫驅動的服務類測…

Eclipse安裝TestNG插件

Eclipse安裝TestNG插件 TestNG是什么? TestNG按照其文檔的定義是&#xff1a; TestNG是一個測試框架&#xff0c;其靈感來自JUnit和NUnit的&#xff0c;但引入了一些新的功能&#xff0c;使其功能更強大&#xff0c;使用更方便。 TestNG是一個開源自動化測試框架;TestNG表示下…

basicdatasourcefactory mysql_Java基礎-DBCP連接池(BasicDataSource類)詳解

Java基礎-DBCP連接池(BasicDataSource類)詳解作者&#xff1a;尹正杰版權聲明&#xff1a;原創作品&#xff0c;謝絕轉載&#xff01;否則將追究法律責任。實際開發中“獲得連接”或“釋放資源”是非常消耗系統資源的兩個過程&#xff0c;為了解決此類性能問題&#xff0c;通常…

生物神經網絡衍生出的算法

一個生物神經網絡的基本結構&#xff1a; 生物神經網絡由大量神經元組成&#xff0c;這些神經元之間通過突觸相互連接。神經元可以接收來自其他神經元的信號&#xff0c;并根據信號的強度和類型來調整自己的輸出信號。這種神經元之間的相互連接和信號傳遞形成了生物神經網絡的基…

echart實例數據 本地加載_JVM 類加載概述

來源&#xff1a;SegmentFault 思否社區作者&#xff1a;又壞又迷人JVM簡介JVM是Java Virtual Machine(Java虛擬機)的縮寫&#xff0c;JVM是一種用于計算設備的規范&#xff0c;它是一個虛構出來的計算機&#xff0c;是通過在實際的計算機上仿真模擬各種計算機功能來實現的。Ja…