Tomcat,JBoss與JBossWeb

thinkyoung發表於2014-11-16

        最近接觸到應用伺服器JBoss,此外JBoss Web與Tomcat也同為web伺服器,便查閱資料對三者進行比較,供大家參考。

一、Tomcat

        Tomcat 伺服器是免費開源的Web 應用伺服器。支援最新的Servlet 和JSP 規範。因為Tomcat 技術先進、效能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。  
        Tomcat和IIS、Apache等Web伺服器一樣,具有處理HTML頁面的功能,不過,Tomcat處理靜態HTML的能力不如Apache伺服器。另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的預設模式,基於Tomcat的開發其實主要是Jsp和Servlet的開發。我們可以將Tomcat和Apache整合到一塊,讓Apache處理靜態Html,而Tomcat處理Jsp和Servlet.這種整合只需要修改一下Apache和Tomcat的配置檔案即可。  
         Tomcat也可以與其它一些軟體整合起來實現更多的功能。如與上面提到的JBoss整合起來開發EJB,與Cocoon(Apache的另外一個專案)整合起來開發基於Xml的應用,與OpenJMS整合起來開發JMS應用,除了我們提到的這幾種,可以與Tomcat整合的軟體還有很多。

二、Jboss 

 
       JBoss是全世界開發者共同努力的成果,一個基於J2EE的開放原始碼並且免費的應用伺服器。 
JBoss支援EJB 1.1,EJB 2.0和 EJB3.0的規範,它是一個管理EJB的容器和伺服器。JBoss的目標是一個原始碼開放的J2EE環境。但是JBoss核心服務僅是提供EJB伺服器。JBoss4之前不包括Servlet/JSP的WEB容器,當然可以和Tomcat或Jetty繫結使用。JBoss4之後內嵌了web伺服器。
       JBoss具有如下六大優點:
       1、JBoss免費,開源。 
       2、JBoss需要的記憶體和硬碟空間較小。 
       3、安裝簡單。先解壓縮JBoss打包檔案再配置環境變數就可以了。 
       4、JBoss能夠”熱部署”,部署BEAN只是簡單拷貝BEAN的JAR檔案到部署路徑下就可以了。如果沒有載入就載入它;如果已經  載入了就解除安裝掉,然後LOAD這個新的。 
       5、JBoss與Web伺服器在同一個Java虛擬機器中執行,Servlet呼叫EJB不經過網路,從而大大提高執行效率,提升安全效能。 

       6、使用者可以直接實施J2EE-EAR,而不是以前分別實施EJB-JAR和Web-WAR,非常方便。 

 

三、JBoss Web

 

       JBoss Web即JBoss Web伺服器,
       JBossWeb伺服器是一個新的開源專案,它將為JSP,Servlet技術,Microsoft ASP.net,PHP和CGI提供一個獨立,高效能的部署平臺。JBossWeb構建在Apache Tomcat,APR(Apache Portable Rumtime)和Tomcat native技術之上以達到穩定性和效能都能與Apache Http伺服器相匹敵甚至是超越它。
       JBoss Web伺服器具有以下特性:
        能夠處理10,000多個併發連線數;
       支援http,https和AJP(Apache Jserv Protocol)協議;
       支援OpenSSL安全套接層;
       提供一個靈活的URL rewriting操作引擎支援無限個規則數和規則條件;

       支援CGI和PHP指令碼,ASP.NET應用程式的in和out-of-process執行等。

 

四、三者關係:         

 

         Tomcat是web伺服器,因為能夠處理HTTP請求和響應的可執行裝置,所以稱為web伺服器,同時Tomcat可以管理小型服務程式(Servlet/jsp)生命週期(lifecycle),所以也成為Web/Servlet容器。
         應用程式伺服器是指能夠管理Web應用程式的技術構架。從某種意義上web伺服器屬於應用伺服器的子集。

         一般來說,Web伺服器專門處理HTTP請求(request),而應用程式伺服器是通過很多協議來為應用程式提供(serves)商業邏輯(business logic)。JBoss屬於應用伺服器,遵循J2EE規範,可以部署EJB應用,而Tomcat不能。JBoss4之前的版本不能處理Servlet和Jsp,需要與Tomcat(或其他web伺服器)結合來使用,而JBoss4之後的版本已將Tomcat內嵌在其中,具備了web伺服器的功能。

        Tomcat也提供JNDI支援,這與那些J2EE應用伺服器提供的是一致的。 應用伺服器提供更多的J2EE特徵,如EJB,JMS,JAAS等,同時有些應用伺服器也支援Jsp和Servlet.而Tomcat則功能沒有那麼強大,它不提供EJB等支援。但如果與JBoss(一個開源的應用伺服器)整合到一塊,則可以實現J2EE的全部功能。既然應用伺服器具有Tomcat的功能,那麼Tomcat有沒有存在的必要呢?事實上,我們的很多中小應用不需要採用EJB等技術,Jsp和Servlet已經足夠,這時如果用應用伺服器就有些浪費了。而Tomcat短小精悍,配置方便,能滿足我們的需求,這種情況下我們自然會選擇Tomcat.

        JBoss Web將Tomcat核心作為其Servlet容器引擎,並加以稽核和調優。單純的Tomcat效能有限,在很多地方表現有欠缺,如活動連線支援、靜態內容、大檔案和HTTPS等。 
        JBoss在Tomcat的基礎上,對其進行本地化,將Tomcat 以內嵌的方式整合到 JBoss 中。
        JBoss Web通過使用APR和Tomcat本地技術的混合模型來解決Tomcat的諸多不足。混合技術模型從最新的作業系統技術裡提供了最好的執行緒和事件處理。結果,JBoss Web達到了可擴充套件性,效能引數匹配甚至超越了本地Apache HTTP伺服器或者IIS。譬如JBoss Web能夠提供資料庫連線池服務,不僅支援 JSP 等 Java 技術,同時還支援其他 Web 技術的整合,譬如 PHP、.NET 兩大陣營。
        與Tomcat 相比,JBoss Web在靜態資源訪問方面效能優越。JBoss Web支援兩種元件模式——純Java和Native I/O。  
        OpenSSL是業界最為快速和安全的開源傳輸元件,可藉助作業系統和硬體的特性實現高效的安全承載。JBoss Web整合了OpenSSL,可提供高效的安全傳輸服務,使得安全機制更上臺階。研究表明, JBoss Web中的SSL效能比單純的Tomcat快四倍。
        Tomcat 不具備URL重寫功能,JBoss Web則可提供一個靈活的URL rewriting操作引擎,支援無限個規則數和規則條件。URL可被重寫以支援遺留的URL錯誤處理,或應對伺服器不時產生的其他問題。
        JBoss Web既可單獨執行,也可無縫嵌入JBoss應用伺服器,成為JBoss中介軟體平臺的一部分。不僅後臺服務呼叫的效能將得以提升,也可利用以下JBoss平臺的特性提升Web應用功能  
         所以JBossWeb可以說是一款超級改良版的Tomcat,兩者都是web 伺服器,並都可與應用伺服器JBoss完美結合。


相關文章