下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第主流JavaEE應(yīng)用效勞器橫向分析一、前言
當(dāng)企業(yè)級的Java應(yīng)用程序需要真正的應(yīng)用部署時,JavaEE應(yīng)用效勞器是必不可少的工具。研究說明,除了商業(yè)的應(yīng)用效勞器之外,開源的JavaEE應(yīng)用效勞器開始成為很多Java企業(yè)級應(yīng)用的最正確選擇。而JBoss、Tomcat及Apache的Geronimo是其中最主流的開源JavaEE應(yīng)用效勞器。而這三者中,盡管JBoss和Tomcat并非100%的實現(xiàn)了JavaEE5標(biāo)準(zhǔn),但這二者占有的市場份額相比照擬大。Geronimo是對JavaEE5標(biāo)準(zhǔn)100%的實現(xiàn),正在快速的開展。如果讀者想在JavaEE領(lǐng)域找份像樣的工作,對這三種開源的應(yīng)用效勞器應(yīng)該到達(dá)比擬熟悉的程度,并能在一定程度上進(jìn)行比擬區(qū)分。
在本文中,對這三種主流的應(yīng)用效勞器,就其特性、部署及性能等方面進(jìn)行比擬。分析了他們各自的特色對該應(yīng)用效勞器的重要性,當(dāng)然,也提供了一些如何選擇適合工程的效勞器的原那么及建議。
二、特性比擬
表1就JBoss4.2、Tomcat6及Geronimo2的特性進(jìn)行全面的比擬。請注意,表中用到的“局部支持〞表述,說明該應(yīng)用效勞器并非完全的支持,需要安裝一些額外包。而其中的“原那么上支持〞表述,說明該應(yīng)用效勞器需要第三方的安裝包的支持。注:三種應(yīng)用效勞器均在Linu某、Solaris、Windows及MacOS某上進(jìn)行過測試。
當(dāng)讀者的應(yīng)用需要比擬特殊的擴(kuò)展,或是想與JavaEE5最貼近時,那么,Geronimo2是最正確的開源JavaEE應(yīng)用效勞器選擇。盡管JBoss4.2與Sun的JavaEE標(biāo)準(zhǔn)在實現(xiàn)上有一定的出入,但JBoss4.2team提供了許多與JavaEE標(biāo)準(zhǔn)很符合的技術(shù),同時也擴(kuò)充了JavaEE5的標(biāo)準(zhǔn)范圍。而Tomcat6本身就是一種輕量級的解決方案,所以它不并包括JavaEE5的所有特性,或是在JBoss及Geronimo中所提供的特性,但正是由于它的輕量級,才使它對內(nèi)存的占有量比擬少,并且比其它兩種效勞器運(yùn)行起來更快。
1.JavaEE5一致性
Sun公司的JavaEE5標(biāo)準(zhǔn)是一種行業(yè)標(biāo)準(zhǔn),而作為這種標(biāo)準(zhǔn)的實現(xiàn),開源的JavaEE5應(yīng)用效勞器應(yīng)該與其盡量的保持一致,因此JavaEE5的一致性是一個很重要的指標(biāo)。在這三種開源的實現(xiàn)中,Geronimo是實現(xiàn)得最好,與JavaEE5標(biāo)準(zhǔn)最貼近的應(yīng)用效勞器。JBoss4.2支持絕大局部JavaEE5的特性,當(dāng)然,不久即將發(fā)布的JBoss5將完全支持JavaEE5的所有特性。而Tomcat一般看成是JSP/servlet的容器,僅僅支持Java應(yīng)用效勞器的根本特性。
2.支持EJB3
EJB(EnterpriseJavaBeans)是指能在JavaEE效勞器部署的Java組件。它通常將一些業(yè)務(wù)功能打包成可重用的組件。新發(fā)布的EJB3提供了許多新功能,解決了舊版本中許多問題。JBoss4.2及Geronimo2均支持EJB3。Tomcat6本身并不支持EJB3,但ApacheOpenEJB工程可以使Tomcat支持EJB3,據(jù)稱Tomcat可以運(yùn)行一種嵌入式的JBossEJB3容器
3.支持JSP2.1/Servlet2.5
對JSP/servlet的支持是絕大局部Java效勞器應(yīng)提供的最根本功能。JSP2.1和Servlet2.5是JavaEE5對JSP/servlet的升級功能。JBoss4.2、Geronimo2及Tomcat6均支持JSP/servlet這一特性。
4.支持JSF1.2
JSF(JavaServerFaces)是一種在JavaEE應(yīng)用部署的組件式架構(gòu)。提供根本的Web開發(fā)的用戶界面。與請求驅(qū)動的MVC(Model-View-Controller)的架構(gòu)不同的是,JSF采用了組件驅(qū)動的模式。就目前的JSF1.2而言,JBoss4.2及Geronimo2都有很好的支持,而運(yùn)行在Tomcat6時有不少的問題待解決。
5.支持客戶化插件
客戶化插件支持,意味著可以在原有應(yīng)用效勞器功能的根底上,開發(fā)新的功能,并能很好的協(xié)同使用。在JBoss中使用MBeans(managedbeans)來處理插件開發(fā)。而Geronimo也采用類似的處理方式,只是名稱不一樣,叫GBeans。這些客戶的Beans為開發(fā)及部署客戶資源時,提供一系列統(tǒng)一的接口。
6.支持業(yè)務(wù)規(guī)那么引擎
幾乎所有的應(yīng)用程序都是建立在一系列業(yè)務(wù)規(guī)那么之上,或稱之為業(yè)務(wù)邏輯。而業(yè)務(wù)規(guī)那么引擎組件那么能幫助管理與簡化業(yè)務(wù)邏輯編程。一般的編程過程中,程序員最常見的邏輯有如if/then邏輯。而有了業(yè)務(wù)規(guī)那么引擎,那么可以實現(xiàn)許多更加智能的業(yè)務(wù)邏輯。Drools作為一種業(yè)內(nèi)很流行、標(biāo)準(zhǔn)化的業(yè)務(wù)規(guī)那么引擎,在JBoss4.2、Geronimo2及Tomcat6中均可得到支持。Geronimo完全支持Drools,而JBoss支持Drools的歷史最久,已達(dá)三年之久,并使JBoss/Drools成為了一種非常有市場競爭力的業(yè)務(wù)規(guī)那么解決方案。
7.支持Hibernate3.某
Hibernate為Java編程提供了強(qiáng)有力的關(guān)系/對象模型(ORM,Object-relationalmapping)。Hibernate可以將面向?qū)ο蟮哪P陀成錇殛P(guān)系型數(shù)據(jù)庫,這對Java開發(fā)來說是最有吸引力的。Hibernate作為一種開源的軟件,最早就是由于JBoss的一個團(tuán)隊所開發(fā)(GavinKing)。當(dāng)然,JBoss4.2、Geronimo2及Tomcat6均支持Hibernate3。
8.支持JBossSeam
JBossSeam是一種著名的應(yīng)用框架,集成了眾多的Java及Web技術(shù),例如Aja某、JSF、JavaPortlets、BPM(Business-processmanagement)等技術(shù)。Seam是JBoss的工程,理所當(dāng)然,JBoss4.2自然支持它,同樣Geronimo2也支持JBossSeam。據(jù)JBossSeam的開發(fā)團(tuán)隊稱,Tomcat可以通過使用JBoss嵌入式EJB3容器來支持JBossSeam。
9.支持集群
集群通過并行在多臺效勞器運(yùn)行同樣的效勞,從而大大的提高應(yīng)用的吞吐量,到達(dá)所謂的高負(fù)荷的效果。由于采用了數(shù)臺效勞器同時運(yùn)行,所以當(dāng)其中的某臺效勞暫時或死機(jī)時,對客戶不會造成效勞停止,從而到達(dá)業(yè)務(wù)的可持續(xù)。集群極大的提高了企業(yè)級的Java應(yīng)用的性能、吞吐量等能力。
JBoss4.2、Geronimo2及Tomcat6均以同樣的方式來支持集群。JBoss在集群層使用及時復(fù)制的方式來到達(dá)集群的目的。而Geronimo所發(fā)布的集群,還處于測試階段,需要時間的考驗,如果有興趣,可以與Apache基金組織聯(lián)系。
10.支持EclipseIDE
Eclipse是目前最流行的`Java開發(fā)工具,自然,與Eclipse的集成是眾多JavaEE5應(yīng)用效勞器應(yīng)該提供的功能。JBoss、Geronimo及Tomcat均支持與Eclipse整合。特別地,JBoss還有自己的Eclipse版本,稱為RedHatDeveloperStudio,目前正處于測試的階段。利用Geronimo提供的工具,可以省去手工配置某ML文件的煩瑣。同時,數(shù)據(jù)庫連接池工具都可以自動的下載所需要的數(shù)據(jù)庫連接驅(qū)動。
三、部署
這三種應(yīng)用效勞器的安裝均十分簡單。在相關(guān)的網(wǎng)站上下載zip或tar包進(jìn)行解壓,唯一需要配置的是設(shè)置JAVA_HOME環(huán)境變量(不過一般均有配置)。注意,在Linu某/Uni某系統(tǒng)下,需要先發(fā)送chmod命令。
1.Geronimo
對Geronimo2來說,進(jìn)行配置及部署Java應(yīng)用程序非常的簡單,特別是通過它提供的Web控制臺更加簡單。Geronimo控制提供了許多簡單的功能來幫助開發(fā)人員進(jìn)行應(yīng)用程序的配置??梢赃M(jìn)行數(shù)據(jù)庫的連接池測試及平安設(shè)置或配置等。
2.JBoss
JBoss4.2有非常漂亮的Web管理控制臺,但它所提供的管理功能及特性與Geronimo不盡相同。首先看到的是JBoss的狀態(tài)及其監(jiān)測信息,但并沒有提供部署功能。而部署Java應(yīng)用時,只需要將它復(fù)制到default/deploy文件夾下面,JBoss會自動的檢測到它并進(jìn)行相關(guān)的快速部署。當(dāng)然,也可以通過修改配置jboss-service.某ml來進(jìn)行客戶應(yīng)用程序所在目錄的映射。
3.Tomcat
Tomcat6不愧為一款快速的輕量級的應(yīng)用效勞器。它的控制臺提供了根本的部署功能??梢酝ㄟ^Tomcat的控制臺進(jìn)行效勞的啟動/停止及WAR包的deploy/undeploy操作。當(dāng)然也提供了Tomcat的運(yùn)行狀態(tài)及監(jiān)測信息,同時有很好的用戶授權(quán)系統(tǒng)。
四、性能
就可靠性而言,性能應(yīng)該是所以的應(yīng)用效勞器所應(yīng)該提供的最重要的特性。在本文中,筆者做了一個小實驗,使用JSP頁面及編譯好的servlet來測試應(yīng)用效勞器所能處理的用戶會話個數(shù)以及所能連接的用戶數(shù)量。當(dāng)然,實際的Java應(yīng)用是更加復(fù)雜的,而本實驗中的JSP頁面及servlet是比擬簡單的,主要用于測試Web應(yīng)用效勞器的穩(wěn)定性、可靠性及速度。
使用的測試機(jī)器為:雙核-64位CPU,4G的內(nèi)存,在實驗中,讓第一種應(yīng)用效勞器運(yùn)行到個會話。當(dāng)然,這些會話不并是同時連接。
測試所用的代碼量只有區(qū)區(qū)的幾百行,為了準(zhǔn)確起見,筆者對三種效勞器使用了相同之處的配置。當(dāng)然,如果采用實際的Java應(yīng)用程序來測試時,所得到的數(shù)據(jù)結(jié)果圖會有一定的出入,但大概的趨勢會一致。
JBoss4.2的表現(xiàn)不如Geronimo2,畢竟Geronimo2所采用的實現(xiàn)技術(shù)及思想都是最新的。正如下圖,Tomcat6的性能最好,因為Tomcat6本身就是為JSP/servlet量身定做的JavaEE5應(yīng)用效勞器。相比起JBoos或Geronimo需要20秒進(jìn)行啟動的長時間,Tomcat僅僅需要3秒鐘。
五、小結(jié)
在本文中,筆者比擬了主流的JavaEE應(yīng)用效勞器的特性、部署及性能方面的內(nèi)容,特性方面的比擬應(yīng)該有利于讀者選擇更加適合自己工程的JavaEE應(yīng)用效勞器,做到有目的性的選擇效勞器,從而到達(dá)適合的效果。
同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年陜西省高二下學(xué)期期末教學(xué)質(zhì)量檢測歷史試題(解析版)
- 2024-2025學(xué)年山東省威海市高一下學(xué)期期末考試歷史試題(解析版)
- 松下新風(fēng)產(chǎn)品培訓(xùn)
- 2026年營銷策略分析試題企業(yè)市場推廣與銷售策略題
- 2026年飲食健康指導(dǎo)營養(yǎng)師考試題庫及答案詳解
- 2026年文學(xué)知識全面測試模擬題
- 2026年人力資源管理實務(wù)與人才選拔技巧試題
- 2026年人工智能核心知識AI安全認(rèn)證考試題
- 2026年物流與供應(yīng)鏈管理崗位面試題及答案詳解
- 2026年經(jīng)濟(jì)學(xué)者宏觀經(jīng)濟(jì)分析政策解讀專業(yè)試題集
- 醫(yī)院網(wǎng)絡(luò)安全保障方案與實施步驟
- 綠色化學(xué)綠色溶劑課件
- 弱電智能化系統(tǒng)設(shè)計方案匯報
- 我們一起迎戰(zhàn)中考初三家長會課件
- 醫(yī)院醫(yī)保上傳數(shù)據(jù)質(zhì)量控制規(guī)范
- 2025年蘭大一院護(hù)理題庫及答案
- 2025華晉焦煤井下操作技能人員招聘100人(山西)模擬試卷附答案詳解
- 軍人離婚申請書樣本
- 地質(zhì)災(zāi)害應(yīng)急演練腳本
- 中國行政問責(zé)制現(xiàn)存問題剖析與優(yōu)化路徑研究
- 江蘇省城鎮(zhèn)供水管道清洗工程估價表及工程量計算標(biāo)準(zhǔn) 2025
評論
0/150
提交評論