分析公司Forrester Research的分析師這樣評價Tomcat:“Tomcat可能是排在Apache Web 服務器和MySQL 數(shù)據庫之后使用最多的開源產品?!盉Z最新的調查研究則為此提供了有力的證據:Apache Tomcat是Java社區(qū)最常用的應用服務器——64%的Java開發(fā)者選擇使用Tomcat。
現(xiàn)任空中網研發(fā)工程師的賀煒認為,Tomcat之所以大受歡迎原因主要有以下五點:
1. Tomcat 是 Apache 的核心項目之一,也被 SUN 視作 Servlet/JSP 容器的一個重要參考實現(xiàn)而加以支持。因此 SUN 最新的 Servlet/JSP 規(guī)范,往往能夠很快地在 Tomcat 的新版本中得到體現(xiàn);
2. Tomcat 是一個小巧精致的 web 應用服務器,配置、安裝、運行、部署 web 應用都很簡單,這讓用戶能夠很快地上手使用;
3. 開源軟件的生命力,往往與其社區(qū)的狀況有緊密的聯(lián)系。在一個健康、活躍的社區(qū),用戶的疑問通常能夠及時地解決,用戶的反饋往往能夠得到有效地處理,這樣會吸引更多的用戶加入到社區(qū)中來;反過來,不斷擴大的用戶群,也會促進社區(qū)的發(fā)展。Tomcat 所擁有的優(yōu)秀社區(qū),對開發(fā)者而言,無論用什么標準來評價,都是充滿吸引力的;
4. 編寫良好的文檔,是開發(fā)者在開發(fā)中最好的幫手之一。Apache 在開源社區(qū)中,無疑是撰寫文檔方面的佼佼者;
5. 因為開源和免費的特性,使得用戶可以自由無障礙地下載、安裝、使用 Tomcat。這也是 Tomcat 能夠被廣泛使用的重要原因之一。
我們都知道Tomcat 最初是作為 Servlet/JSP 容器的參考實現(xiàn)而進行設計開發(fā)的,在性能方面,并沒有做過多的考量。經過幾年的時間,Apache 發(fā)現(xiàn) Servlet/JSP 容器并非只是 J2EE 環(huán)境的一部分而已。大量 web 應用并不需要 J2EE 這樣的龐然大物,完全可以將 Tomcat 作為一個單獨的 web 應用服務器來使用。
這實際也正是Tomcat受歡迎的另一原因所在——很多開發(fā)者不需要如EJBs、JMS、分布式事務處理等 J2EE組件。Rod Johnson 在他的《J2EE Development without EJB》一書中,指出了 J2EE 的許多不足之處。比如說,傳統(tǒng) J2EE(Java EE 5之前的 J2EE)中的 Entity EJB 是不怎么招人喜歡的。在 Java EE 5 中,過時的 Entity EJB 組件被淘汰掉,數(shù)據持久化的工作,交給了深受 Hibernate 此類 ORM 工具影響的 JPA 來完成。分布式對象在大多數(shù)情況下,也是不合時宜的。
Martin Fowler 在《企業(yè)應用架構模式》中寫道:分布式對象設計的第一原則就是——不要分布你的對象。他給出的建議是將所有的組件部署到集群中的每一個節(jié)點中去。因而對于大部分 web 應用,Tomcat 應用服務器就能滿足需求。通過諸如 Spring-Struts-Hibernate 這樣的組合,我們可以快速而靈活地開發(fā)出能夠滿足復雜業(yè)務需求的 web 系統(tǒng)來。
在開發(fā)實踐中除了 Tomcat賀煒還使用過Resin,就二者的性能方面,賀煒簡單比較了一下:在幾年前,Resin 2.x 的性能比同時期的 Tomcat 要好不少。但是 Tomcat 自設計實現(xiàn)了全新的 Catalina 引擎之后,在性能方面的問題便持續(xù)得到改善。而 Resin 在步入 3.x 版本后,劃分成免費的 Open Source 版本和收費的 Pro 版本。有相當多的測試表明,Resin 3.x OS 的性能,與 Tomcat 5/6 相比要低得多;
在配置方面,同 Resin 相比,Tomcat 還是顯得稍微繁瑣一點。對于中國的開發(fā)者而言,為了避免系統(tǒng)中出現(xiàn)亂碼,往往還需要對 Tomcat 進行一些額外的配置才可以。而 Resin 在這一方面表現(xiàn)得很好,在絕大多數(shù)情況下,基本上不用做任何配置就能正常處理中文而不會出現(xiàn)亂碼的問題。
“另外,在 Resin 3.x Pro 中,提供了諸如緩存、集群等高級特性,倘若 Tomcat 在這方面有所加強,對于開發(fā)者而言無疑是非常美好的一件事情?!?
談到Tomcat未來的趨勢,賀煒說“目前 Tomcat 無疑是使用最為廣泛的 web 應用服務器之一,完全有理由相信這樣的情況至少還會持續(xù)數(shù)年。但是天邊已經出現(xiàn)兩朵小小的、令人不安的烏云。”
Ruby on Rails 所展現(xiàn)的開發(fā)方式與它所產生的高生產率,給予 Java 開發(fā)者們的震撼很大。如果 Java 社區(qū)不能及時有效地改進 web 應用開發(fā)的方式,那么包括 Tomcat 在內的眾多 Java 社區(qū)都會受到 RoR 不小的沖擊。可能正如 Bruce Tate 所預言的那樣,Java 在未來將更加著重于解決更復雜的事情,而普通 web 應用開發(fā)領域,則會逐步讓位給像 RoR 這樣高度靈活快速的技術
現(xiàn)任空中網研發(fā)工程師的賀煒認為,Tomcat之所以大受歡迎原因主要有以下五點:
1. Tomcat 是 Apache 的核心項目之一,也被 SUN 視作 Servlet/JSP 容器的一個重要參考實現(xiàn)而加以支持。因此 SUN 最新的 Servlet/JSP 規(guī)范,往往能夠很快地在 Tomcat 的新版本中得到體現(xiàn);
2. Tomcat 是一個小巧精致的 web 應用服務器,配置、安裝、運行、部署 web 應用都很簡單,這讓用戶能夠很快地上手使用;
3. 開源軟件的生命力,往往與其社區(qū)的狀況有緊密的聯(lián)系。在一個健康、活躍的社區(qū),用戶的疑問通常能夠及時地解決,用戶的反饋往往能夠得到有效地處理,這樣會吸引更多的用戶加入到社區(qū)中來;反過來,不斷擴大的用戶群,也會促進社區(qū)的發(fā)展。Tomcat 所擁有的優(yōu)秀社區(qū),對開發(fā)者而言,無論用什么標準來評價,都是充滿吸引力的;
4. 編寫良好的文檔,是開發(fā)者在開發(fā)中最好的幫手之一。Apache 在開源社區(qū)中,無疑是撰寫文檔方面的佼佼者;
5. 因為開源和免費的特性,使得用戶可以自由無障礙地下載、安裝、使用 Tomcat。這也是 Tomcat 能夠被廣泛使用的重要原因之一。
我們都知道Tomcat 最初是作為 Servlet/JSP 容器的參考實現(xiàn)而進行設計開發(fā)的,在性能方面,并沒有做過多的考量。經過幾年的時間,Apache 發(fā)現(xiàn) Servlet/JSP 容器并非只是 J2EE 環(huán)境的一部分而已。大量 web 應用并不需要 J2EE 這樣的龐然大物,完全可以將 Tomcat 作為一個單獨的 web 應用服務器來使用。
這實際也正是Tomcat受歡迎的另一原因所在——很多開發(fā)者不需要如EJBs、JMS、分布式事務處理等 J2EE組件。Rod Johnson 在他的《J2EE Development without EJB》一書中,指出了 J2EE 的許多不足之處。比如說,傳統(tǒng) J2EE(Java EE 5之前的 J2EE)中的 Entity EJB 是不怎么招人喜歡的。在 Java EE 5 中,過時的 Entity EJB 組件被淘汰掉,數(shù)據持久化的工作,交給了深受 Hibernate 此類 ORM 工具影響的 JPA 來完成。分布式對象在大多數(shù)情況下,也是不合時宜的。
Martin Fowler 在《企業(yè)應用架構模式》中寫道:分布式對象設計的第一原則就是——不要分布你的對象。他給出的建議是將所有的組件部署到集群中的每一個節(jié)點中去。因而對于大部分 web 應用,Tomcat 應用服務器就能滿足需求。通過諸如 Spring-Struts-Hibernate 這樣的組合,我們可以快速而靈活地開發(fā)出能夠滿足復雜業(yè)務需求的 web 系統(tǒng)來。
在開發(fā)實踐中除了 Tomcat賀煒還使用過Resin,就二者的性能方面,賀煒簡單比較了一下:在幾年前,Resin 2.x 的性能比同時期的 Tomcat 要好不少。但是 Tomcat 自設計實現(xiàn)了全新的 Catalina 引擎之后,在性能方面的問題便持續(xù)得到改善。而 Resin 在步入 3.x 版本后,劃分成免費的 Open Source 版本和收費的 Pro 版本。有相當多的測試表明,Resin 3.x OS 的性能,與 Tomcat 5/6 相比要低得多;
在配置方面,同 Resin 相比,Tomcat 還是顯得稍微繁瑣一點。對于中國的開發(fā)者而言,為了避免系統(tǒng)中出現(xiàn)亂碼,往往還需要對 Tomcat 進行一些額外的配置才可以。而 Resin 在這一方面表現(xiàn)得很好,在絕大多數(shù)情況下,基本上不用做任何配置就能正常處理中文而不會出現(xiàn)亂碼的問題。
“另外,在 Resin 3.x Pro 中,提供了諸如緩存、集群等高級特性,倘若 Tomcat 在這方面有所加強,對于開發(fā)者而言無疑是非常美好的一件事情?!?
談到Tomcat未來的趨勢,賀煒說“目前 Tomcat 無疑是使用最為廣泛的 web 應用服務器之一,完全有理由相信這樣的情況至少還會持續(xù)數(shù)年。但是天邊已經出現(xiàn)兩朵小小的、令人不安的烏云。”
Ruby on Rails 所展現(xiàn)的開發(fā)方式與它所產生的高生產率,給予 Java 開發(fā)者們的震撼很大。如果 Java 社區(qū)不能及時有效地改進 web 應用開發(fā)的方式,那么包括 Tomcat 在內的眾多 Java 社區(qū)都會受到 RoR 不小的沖擊。可能正如 Bruce Tate 所預言的那樣,Java 在未來將更加著重于解決更復雜的事情,而普通 web 應用開發(fā)領域,則會逐步讓位給像 RoR 這樣高度靈活快速的技術
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
