StackDoc

StackDoc

當前位置: 主頁 > 操作系統 > OS >

Apache、Tomcat、JBoss、WebLogic的區別與關係

時間:2010-10-27 20:20來源:互聯網 作者:互聯網 點擊:
轉載: http://nneverwei.javaeye.com/blog/494266 概述: Apache:全球應用最廣泛的http服務器, 免費 ,出自apache基金組織 Tomcat:應

轉載: http://nneverwei.javaeye.com/blog/494266

概述:

Apache:全球應用最廣泛的http服務器, 免費 ,出自apache基金組織
Tomcat:應用也算非常廣泛的web服務器 ,支持部分j2ee, 免費 ,出自apache基金組織
JBoss:開源的應用服務器 ,比較受人喜愛, 免費 (文檔要收費)
Weblogic:應該說算是業界第一的app server ,全部支持j2ee1.4,對於開發者,有免費使用一年的許可證。

Jboss也支持j2ee

JBoss和WebLogic都含有Jsp和Servlet容器,也就可以做web容器,
JBoss和WebLogic也包含EJB容器,是完整的J2EE應用服務器

Tomcat 只能做jsp和servlet的container

Jboss內嵌Tomcat...? 處理靜態頁面Jboss的速度要比較快。

Jboss作為應用服務器,而Tomcat做web服務器。

一、Tomcat

Tomcat服務器是一個免費的開放源代碼的Web應用服務器,它是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、 Sun和其他一些公司及個人共同開發而成。由於有了Sun的參與和支持,最新的Servlet和JSP規範總是能在Tomcat中得到體現,Tomcat 5支持最新的Servlet 2.4和JSP 2.0規範。因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器。

Tomcat 很受廣大程序員的喜歡,因為它運行時佔用的系統資源小,擴展性好,支持負載平衡與郵件服務等開發應用系統常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。

Tomcat是一個小型的輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試 JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好 Apache 服務器,可利用它響應對 HTML 頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。

這裡的訣竅是, 當配置正確時,Apache為HTML頁面服務,而Tomcat實際上運行JSP頁面和Servlet 另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。

Tomcat 最新版本是4.0x.4.0x與3.x的架構不同,而是重新設計的。 Tomcat4.0x中採用了新的Servlet容器:Catalina,完整的實現了Servlet2.3和Jsp1.2規範。 由於Java的跨平台特性,基於Java的Tomcat也具有跨平台性。

與傳統的桌面應用程序不同,Tomcat中的應用程序是一個WAR(Web Archive)文件。 WAR是Sun提出的一種Web應用程序格式,與JAR類似,也是許多文件的一個壓縮包。這個包中的文件按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便。

在Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,並將其解壓。你在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉化為Servlet文件,然後編譯。編譯以後,訪問將會很快。另外Tomcat也提供了一個應用:manager,訪問這個應用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應用,輔助於Ftp,你可以在遠程通過Web部署和撤銷應用。當然本地也可以。

Tomcat不僅僅是一個Servlet容器,它也具有傳統的Web服務器的功能:處理Html頁面。但是與Apache相比,它的處理靜態Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。

另外,Tomcat提供Realm支持。 Realm類似於Unix裡面的group.在Unix中,一個group對應著系統的一定資源,某個group不能訪問不屬於它的資源。 Tomcat用Realm來對不同的應用(類似系統資源)賦給不同的用戶(類似group)。沒有權限的用戶則不能訪問這個應用。 Tomcat提供三種Realm,1:JDBCRealm,這個Realm將用戶信息存在數據庫裡,通過JDBC獲得用戶信息來進行驗證。 2:JNDIRealm,用戶信息存在基於LDAP的服務器裡,通過JNDI獲取用戶信息。 3:MemoryRealm,用戶信息存在一個xml文件裡面,上面講的manager應用驗證用戶時即使用此種Realm.通過Realm我們可以方便地對訪問某個應用的客戶進行驗證。

在Tomcat4中,你還可以利用Servlet2.3提供的事件監聽器功能,來對你的應用或者Session實行監聽。 Tomcat也提供其它的一些特徵,如與SSL集成到一塊,實現安全傳輸。還有Tomcat也提供JNDI支持,這與那些J2EE應用服務器提供的是一致的。 說到這裡我們要介紹一下通常所說的應用服務器(如WebLogic)與Tomcat有何區別。應用服務器提供更多的J2EE特徵,如EJB,JMS,JAAS等,同時也支持Jsp和Servlet.而Tomcat則功能沒有那麼強大,它不提供EJB等支持。但如果與JBoss(一個開源的應用服務器)集成到一塊,則可以實現J2EE的全部功能。既然應用服務器具有Tomcat的功能,那麼Tomcat有沒有存在的必要呢?事實上,我們的很多中小應用不需要採用EJB等技術,Jsp和Servlet已經足夠,這時如果用應用服務器就有些浪費了。而Tomcat短小精悍,配置方便,能滿足我們的需求,這種情況下我們自然會選擇Tomcat.

基於Tomcat的開發其實主要是Jsp和Servlet的開發,開發Jsp和Servlet非常簡單,你可以用普通的文本編輯器或者IDE,然後將其打包成WAR即可。我們這裡要提到另外一個工具Ant,Ant也是Jakarta中的一個子項目,它所實現的功能類似於Unix中的make.你需要寫一個build.xml文件,然後運行Ant就可以完成xml文件中定義的工作,這個工具對於一個大的應用來說非常好,我們只需在xml中寫很少的東西就可以將其編譯並打包成WAR.事實上,在很多應用服務器的發布中都包含了Ant.另外,在Jsp1.2中,可以利用標籤庫實現Java代碼與Html文件的分離,使Jsp的維護更方便。

Tomcat也可以與其它一些軟件集成起來實現更多的功能。如與上面提到的JBoss集成起來開發EJB,與Cocoon(Apache的另外一個項目)集成起來開發基於Xml的應用,與OpenJMS集成起來開發JMS應用,除了我們提到的這幾種,可以與Tomcat集成的軟件還有很多。

二、Jboss

JBoss是全世界開發者共同努力的成果,一個基於J2EE的開放源代碼的應用服務器。因為JBoss代碼遵循LGPL許可,你可以在任何商業應用中免費使用它,而不用支付費用。 JBoss支持EJB 1.1和EJB 2.0 EJB3.0的規範,它是一個管理 EJB 的容器和服務器。類似於Sun's J2SDK Enterprise Edition(J2EE),JBoss的目標是一個源代碼開放的J2EE環境。但是JBoss核心服務僅是提供EJB服務器。 JBoss不包括serverlers/JSP page的WEB容器,當然可以和Tomcat或Jetty綁定使用。

JBoss還具有如下六大優點:

1、JBoss是免費的,開放源代碼J2EE的實現,它通過LGPL許可證進行發布。

2、JBoss需要的內存和硬盤空間比較小。

3、安裝非常簡單。先解壓縮JBoss打包文件再配置一些環境變量就可以了。

4、JBoss能夠"熱部署",部署BEAN只是簡單拷貝BEAN的JAR文件到部署路徑下就可以了。如果沒有加載就加載它;如果已經加載了就卸載掉,然後LOAD這個新的。

5、JBoss與Web服務器在同一個Java虛擬機中運行,Servlet調用EJB不經過網絡,從而大大提高運行效率,提升安全性能。

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

JBoss的安裝和配置可以直接拷貝使用,但是要改動%JBoss-HOME%\bin\run.bat裡JAVA-HOME的設置,改成本機JDK的目錄。運行run.bat來啟動JBoss

關閉JBoss:關閉JBoss的DOS 窗口或按"CTRL + C"。

補充

1、JBoss的默認端口是8080

2、對於NT和Win2000系統如果你要安裝NT或Win2000服務的話,可以把JBoss加在系統服務中,避免你每次需要到JBoss目錄下運行run.bat命令,只是當系統啟動時,自動啟動JBoss服務器。

三、Weblogic

WebLogic是美國bea公司出品的一個application server確切的說是一個基於j2ee架構的中間件,webserver是用來構建網站的必要軟件用來解析發佈網頁等功能,它是用純java開發的。 weblogic本來不是由bea發明的,是它從別人手中買過來,然後再加工擴展。目前weblogic在世界application server市場上佔有最大的份額,其他還有像IBMwebsphere ,免費的tomcatresin等中間件。

BEA WebLogic是用於開發、集成、部署和管理大型分佈式Web應用、網絡應用和數據庫應用的Java應用服務器。將Java的動態功能和Java Enterprise標準的安全性引入大型網絡應用的開發、集成、部署和管理之中。

BEA WebLogic Server擁有處理關鍵Web應用系統問題所需的性能、可擴展性和高可用性。

與BEA WebLogic Commerce ServerTM配合使用, BEA WebLogic Server可為部署適應性個性化電子商務應用系統提供完善的解決方案。

BEA WebLogic Server具有開發和部署關鍵任務電子商務Web應用系統所需的多種特色和優勢,包括:

1)領先的標準

對業內多種標準的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web應用系統的實施更為簡單,並且保護了投資,同時也使基於標準的解決方案的開發更加簡便。

2)無限的可擴展性

BEA WebLogic Server以其高擴展的架構體系聞名於業內,包括客戶機連接的共享、資源pooling以及動態網頁和EJB組件群集。

3)快速開發

憑藉對EJB和JSP的支持,以及BEA WebLogic Server 的Servlet組件架構體系,可加速投放市場速度。這些開放性標準與WebGain Studio配合時,可簡化開發,並可發揮已有的技能,迅速部署應用系統。

4)部署更趨靈活

BEA WebLogic Server的特點是與領先數據庫、操作系統和Web服務器緊密集成。

5)關鍵任務可靠性

其容錯、系統管理和安全性能已經在全球數以千記的關鍵任務環境中得以驗證。

6)體系結構

BEA WebLogic Server是專門為企業電子商務應用系統開發的。 企業電子商務應用系統需要快速開發,並要求服務器端組件具有良好的靈活性和安全性,同時還要支持關鍵任務所必需的擴展、性能、和高可用性。 BEA WebLogic Server簡化了可移植及可擴展的應用系統的開發,並為其它應用系統和系統提供了豐富的互操作性。

憑藉其出色的群集技術,BEA WebLogic Server擁有最高水平的可擴展性和可用性。 BEA WebLogic Server既實現了網頁群集,也實現了EJB組件群集,而且不需要任何專門的硬件或操作系統支持。網頁群集可以實現透明的複制、負載平衡以及表示內容容錯,如Web購物車;組件群集則處理複雜的複制、負載平衡和EJB組件容錯,以及狀態對象(如EJB實體)的恢復。

無論是網頁群集,還是組件群集,對於電子商務解決方案所要求的可擴展性和可用性都是至關重要的。共享的客戶機/服務器和數據庫連接以及數據緩存和EJB都增強了性能表現。這是其它Web應用系統所不具備的


本文摘自:http://meng702.javaeye.com/blog/795240
頂一下
(0)
0%
踩一下
(1)
100%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
驗證碼:點擊我更換圖片
欄目列表
推薦內容