2013年3月18日 星期一

最流行的 application server

原文網址:http://www.javacodegeeks.com/2013/03/most-popular-application-servers.html

這是我們發表關於 Java 統計資料系列報導的第二篇。 所使用的數據是來自於免費版 Plumbr 安裝資料, 我們在過去六個月當中收集到 1024 種不同的環境。

本系列的第一篇文章分析的是底層——JVM 在什麼作業系統上執行、 是 32 還是 64 bit(譯註:原文打 62,應該是 typo)、 以及 JVM 供應商與版本號碼。 在這篇文章中,我們將焦點放在所使用的 application server。 這比預期的挑戰大一點,我們找到最好的解法是去解析 bootstrap classpath, 用類似 grep -i tomcat classpath.log 的查詢方式。 這還蠻簡單的,結果發現了一些相反的事情:

在 1024 個樣本當中,有 92 個完全沒有包含 bootstrap classpath, 這是第一個令我們訝異的事情。 不管他們是不是真的在沒有設定 bootstrap classpath 的狀態下運作、 或是我們的統計資料沒有紀錄所有可能的狀況,都沒辦法追查原因。 不過還是取得了 932 筆資料,在這些資料當中, 有 256 筆資料沒辦法對應到人類已知的 server。 在跳到結論之前,我們分析這 27% 跑 client 端程式的 JVM,試著挖掘出更多資料:

  • 有 57 個看起來是用 Maven plugin 來啟動的,這會隱藏實際的 runtime。 不過我可以跟你賭,這裡頭大多數都不是 Swing 程式。
  • 有 11 個是用 Play Framework,沒有在 JavaEE conatiner 上執行。
  • 有 6 個是搭配 Scala 運作的,所以我假定它們實際上也是 web application。
  • 有 54 個載入了 jgoodies 或 Swing library,試圖讓 desktop application 變好一點。
  • 有 6 個在 Android 上頭執行,其實我們沒有支援這個環境。 如果妳們可以透漏一些像是「如何在 Android 上頭啟動 Plumbr」的資訊,請讓我們知道。
  • 還有 122 筆資料我們沒辦法分類,它們看起來像是用 MQ 處理一些批次程序之類的東西。

有 676 筆資料有使用 JavaEE container,結果整理在下面這張圖表:

diagram

第一名完全在意料之中:Apache Tomcat 拿下 43% 的佔有率。 頒獎台上另外兩個就有點意外了:Jetty 以 23% 拿到第二名、第三名是 JBoss 的 16%。 這跟預期的結果完全相反,但是這幾年中正在慢慢改變。

接下來是 Glassfish(7%)、Geronimo(6%)跟 Weblogic(3%)。 這也有點讓人嚇到:只有 20 個 Weblogic,而 WebSphere 還不見蹤影。 接下來 5 個 container 加起來不到 2%。 我猜是務實、Lean、KISS 法則(譯註:Keep It Simple, Stupid)的作法終於開始成功, 我們正轉向開發人員喜歡的工具上。

沒有留言:

張貼留言