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

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