偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

主流Java EE應(yīng)用服務(wù)器橫向?qū)Ρ确治?/h1>

開發(fā) 后端 前端
在開源的Java應(yīng)用服務(wù)器領(lǐng)域,像JBoss、Tomcat及Apache的Geronimo,他們不僅僅是商業(yè)領(lǐng)域的領(lǐng)跑者,同時(shí)是技術(shù)領(lǐng)域的先行者。本文將為大家做一個(gè)橫向的比較。

在開源Java應(yīng)用服務(wù)器領(lǐng)域,像JBoss、Tomcat及Apache的Geronimo,他們不僅僅是商業(yè)領(lǐng)域的領(lǐng)跑者,同時(shí)是技術(shù)領(lǐng)域的先行者。當(dāng)然,所有的Java EE應(yīng)用服務(wù)器的實(shí)現(xiàn)不盡相同,但其很多方面具有一定程度的可比性。本文對(duì)JBoss4.2、Geronimo 2及Tomcat 6三種開源的Java EE應(yīng)用服務(wù)器,就他們的特性、部署及性能等方面進(jìn)行一一比較。

一、前言

當(dāng)企業(yè)級(jí)的Java應(yīng)用程序需要真正的應(yīng)用部署時(shí),Java EE應(yīng)用服務(wù)器是必不可少的工具。研究表明,除了商業(yè)的應(yīng)用服務(wù)器之外,開源的Java EE應(yīng)用服務(wù)器開始成為很多Java企業(yè)級(jí)應(yīng)用的最佳選擇。而JBoss、Tomcat及Apache的Geronimo是其中最主流的開源Java EE應(yīng)用服務(wù)器。而這三者中,盡管JBoss和Tomcat并非100%的實(shí)現(xiàn)了Java EE 5標(biāo)準(zhǔn),但這二者占有的市場份額相對(duì)比較大。Geronimo是對(duì)Java EE 5標(biāo)準(zhǔn)100%的實(shí)現(xiàn),正在快速的發(fā)展。如果讀者想在Java EE領(lǐng)域找份像樣的工作,對(duì)這三種開源的應(yīng)用服務(wù)器應(yīng)該達(dá)到比較熟悉的程度,并能在一定程度上進(jìn)行比較區(qū)分。

在本文中,對(duì)這三種主流的應(yīng)用服務(wù)器,就其特性、部署及性能等方面進(jìn)行比較。分析了他們各自的特色對(duì)該應(yīng)用服務(wù)器的重要性,當(dāng)然,也提供了一些如何選擇適合項(xiàng)目的服務(wù)器的原則及建議。

二、特性比較

表1就JBoss 4.2、Tomcat 6及Geronimo 2的特性進(jìn)行全面的比較。請注意,表中用到的“部分支持”表述,表明該應(yīng)用服務(wù)器并非完全的支持,需要安裝一些額外包。而其中的“原則上支持”表述,表明該應(yīng)用服務(wù)器需要第三方的安裝包的支持。注:三種應(yīng)用服務(wù)器均在Linux、Solaris、Windows及Mac OS X上進(jìn)行過測試。

特性
JBoss 4.2
Geronimo 2
Tomcat 6
Java EE 5一致性
部分支持
完全支持
部分支持
支持EJB 3.0
支持
支持
原則上支持
JSP2.1和Servlet2.5
支持
支持
支持
JSF1.2
支持
支持
原則上支持
客戶化插件
支持
支持
不支持
業(yè)務(wù)規(guī)則引擎
原則上支持
原則上支持
原則上支持
Hibernate3.x
支持
原則上支持
原則上支持
集群
支持
支持
部分支持
Eclipse IDE
支持
支持
支持
表1.Java EE應(yīng)用服務(wù)器特性比較

當(dāng)讀者的應(yīng)用需要比較特殊的擴(kuò)展,或是想與Java EE 5最貼近時(shí),那么,Geronimo 2是最佳的開源Java EE應(yīng)用服務(wù)器選擇。盡管JBoss 4.2與Sun的Java EE標(biāo)準(zhǔn)在實(shí)現(xiàn)上有一定的出入,但JBoss 4.2 team提供了許多與Java EE標(biāo)準(zhǔn)很符合的技術(shù),同時(shí)也擴(kuò)充了Java EE 5的標(biāo)準(zhǔn)范圍。而Tomcat 6本身就是一種輕量級(jí)的解決方案,所以它不并包括Java EE 5的所有特性,或是在JBoss及Geronimo中所提供的特性,但正是由于它的輕量級(jí),才使它對(duì)內(nèi)存的占有量比較少,并且比其它兩種服務(wù)器運(yùn)行起來更快。

1.Java EE 5一致性

Sun公司的Java EE 5標(biāo)準(zhǔn)是一種行業(yè)標(biāo)準(zhǔn),而作為這種標(biāo)準(zhǔn)的實(shí)現(xiàn),開源的Java EE 5應(yīng)用服務(wù)器應(yīng)該與其盡量的保持一致,因此Java EE 5的一致性是一個(gè)很重要的指標(biāo)。在這三種開源的實(shí)現(xiàn)中,Geronimo是實(shí)現(xiàn)得最好,與Java EE 5標(biāo)準(zhǔn)最貼近的應(yīng)用服務(wù)器。JBoss 4.2支持絕大部分Java EE 5的特性,當(dāng)然,不久即將發(fā)布的JBoss 5將完全支持Java EE 5的所有特性。而Tomcat一般看成是JSP/servlet的容器,僅僅支持Java應(yīng)用服務(wù)器的基本特性。

2.支持EJB3

EJB(Enterprise JavaBeans)是指能在Java EE服務(wù)器部署的Java組件。它通常將一些業(yè)務(wù)功能打包成可重用的組件。新發(fā)布的EJB3提供了許多新功能,解決了舊版本中許多問題。JBoss 4.2及Geronimo 2均支持EJB3。Tomcat 6本身并不支持EJB3,但Apache OpenEJB項(xiàng)目可以使Tomcat支持EJB3,據(jù)稱Tomcat可以運(yùn)行一種嵌入式的JBoss EJB3容器

3.支持JSP 2.1/Servlet2.5

對(duì)JSP/servlet的支持是絕大部分Java服務(wù)器應(yīng)提供的最基本功能。JSP2.1和Servlet2.5是Java EE 5對(duì)JSP/servlet的升級(jí)功能。JBoss 4.2、Geronimo 2及Tomcat 6均支持JSP/servlet這一特性。

4.支持JSF 1.2

JSF(Java Server Faces)是一種在Java EE應(yīng)用部署的組件式架構(gòu)。提供基本的Web開發(fā)的用戶界面。與請求驅(qū)動(dòng)的MVC(Model-View-Controller)的架構(gòu)不同的是,JSF采用了組件驅(qū)動(dòng)的模式。就目前的JSF1.2而言,JBoss 4.2及Geronimo 2都有很好的支持,而運(yùn)行在Tomcat 6時(shí)有不少的問題待解決。

5.支持客戶化插件

客戶化插件支持,意味著可以在原有應(yīng)用服務(wù)器功能的基礎(chǔ)上,開發(fā)新的功能,并能很好的協(xié)同使用。在JBoss中使用MBeans(managed beans)來處理插件開發(fā)。而Geronimo也采用類似的處理方式,只是名稱不一樣,叫GBeans。這些客戶的Beans為開發(fā)及部署客戶資源時(shí),提供一系列統(tǒng)一的接口。

6.支持業(yè)務(wù)規(guī)則引擎

幾乎所有的應(yīng)用程序都是建立在一系列業(yè)務(wù)規(guī)則之上,或稱之為業(yè)務(wù)邏輯。而業(yè)務(wù)規(guī)則引擎組件則能幫助管理與簡化業(yè)務(wù)邏輯編程。一般的編程過程中,程序員最常見的邏輯有如if/then邏輯。而有了業(yè)務(wù)規(guī)則引擎,則可以實(shí)現(xiàn)許多更加智能的業(yè)務(wù)邏輯。Drools作為一種業(yè)內(nèi)很流行、標(biāo)準(zhǔn)化的業(yè)務(wù)規(guī)則引擎,在JBoss 4.2、Geronimo 2及Tomcat 6中均可得到支持。Geronimo完全支持Drools,而JBoss支持Drools的歷史最久,已達(dá)三年之久,并使JBoss/Drools成為了一種非常有市場競爭力的業(yè)務(wù)規(guī)則解決方案。

7.支持Hibernate 3.x

Hibernate為Java編程提供了強(qiáng)有力的關(guān)系/對(duì)象模型(ORM,Object-relational mapping)。Hibernate可以將面向?qū)ο蟮哪P陀成錇殛P(guān)系型數(shù)據(jù)庫,這對(duì)Java開發(fā)來說是最有吸引力的。Hibernate作為一種開源的軟件,最早就是由于JBoss的一個(gè)團(tuán)隊(duì)所開發(fā)(Gavin King)。當(dāng)然,JBoss 4.2、Geronimo 2及Tomcat 6均支持Hibernate 3。

8.支持JBoss Seam

JBoss Seam是一種著名的應(yīng)用框架,集成了眾多的Java及Web技術(shù),例如Ajax、JSF、Java Portlets、BPM(Business-process management)等技術(shù)。Seam是JBoss的項(xiàng)目,理所當(dāng)然,JBoss 4.2自然支持它,同樣Geronimo 2也支持JBoss Seam。據(jù)JBoss Seam的開發(fā)團(tuán)隊(duì)稱,Tomcat可以通過使用JBoss嵌入式EJB 3容器來支持JBoss Seam。

9.支持集群

集群通過并行在多臺(tái)服務(wù)器運(yùn)行同樣的服務(wù),從而大大的提高應(yīng)用的吞吐量,達(dá)到所謂的高負(fù)荷的效果。由于采用了數(shù)臺(tái)服務(wù)器同時(shí)運(yùn)行,所以當(dāng)其中的某臺(tái)服務(wù)暫時(shí)或死機(jī)時(shí),對(duì)客戶不會(huì)造成服務(wù)停止,從而達(dá)到業(yè)務(wù)的可持續(xù)。集群極大的提高了企業(yè)級(jí)的Java應(yīng)用的性能、吞吐量等能力。
JBoss 4.2、Geronimo 2及Tomcat 6均以同樣的方式來支持集群。JBoss在集群層使用及時(shí)復(fù)制的方式來達(dá)到集群的目的。而Geronimo所發(fā)布的集群,還處于測試階段,需要時(shí)間的考驗(yàn),如果有興趣,可以與Apache基金組織聯(lián)系。

10.支持Eclipse IDE

Eclipse是目前最流行的Java開發(fā)工具,自然,與Eclipse的集成是眾多Java EE 5應(yīng)用服務(wù)器應(yīng)該提供的功能。JBoss、Geronimo及Tomcat均支持與Eclipse整合。特別地,JBoss還有自己的Eclipse版本,稱為Red Hat Developer Studio,目前正處于測試的階段。利用Geronimo提供的工具,可以省去手工配置XML文件的煩瑣。同時(shí),數(shù)據(jù)庫連接池工具都可以自動(dòng)的下載所需要的數(shù)據(jù)庫連接驅(qū)動(dòng)。

#p#

三、部署

這三種應(yīng)用服務(wù)器的安裝均十分簡單。在相關(guān)的網(wǎng)站上下載zip或tar包進(jìn)行解壓,唯一需要配置的是設(shè)置JAVA_HOME環(huán)境變量(不過一般均有配置)。注意,在Linux/Unix系統(tǒng)下,需要先發(fā)送chmod命令。

1.Geronimo

對(duì)Geronimo 2來說,進(jìn)行配置及部署Java應(yīng)用程序非常的簡單,特別是通過它提供的Web控制臺(tái)更加簡單。Geronimo控制提供了許多簡單的功能來幫助開發(fā)人員進(jìn)行應(yīng)用程序的配置。可以進(jìn)行數(shù)據(jù)庫的連接池測試及安全設(shè)置或配置等。

2.JBoss

JBoss 4.2有非常漂亮的Web管理控制臺(tái),但它所提供的管理功能及特性與Geronimo不盡相同。首先看到的是JBoss的狀態(tài)及其監(jiān)測信息,但并沒有提供部署功能。而部署Java應(yīng)用時(shí),只需要將它復(fù)制到default/deploy文件夾下面,JBoss會(huì)自動(dòng)的檢測到它并進(jìn)行相關(guān)的快速部署。當(dāng)然,也可以通過修改配置jboss-service.xml來進(jìn)行客戶應(yīng)用程序所在目錄的映射。

 

圖2.JBoss控制臺(tái)

3.Tomcat

Tomcat 6不愧為一款快速的輕量級(jí)的應(yīng)用服務(wù)器。它的控制臺(tái)提供了基本的部署功能??梢酝ㄟ^Tomcat的控制臺(tái)進(jìn)行服務(wù)的啟動(dòng)/停止及WAR包的deploy/undeploy操作。當(dāng)然也提供了Tomcat的運(yùn)行狀態(tài)及監(jiān)測信息,同時(shí)有很好的用戶授權(quán)系統(tǒng)。

  

圖3.Tomcat控制臺(tái)

四、性能

就可靠性而言,性能應(yīng)該是所以的應(yīng)用服務(wù)器所應(yīng)該提供的最重要的特性。在本文中,筆者做了一個(gè)小實(shí)驗(yàn),使用JSP頁面及編譯好的servlet來測試應(yīng)用服務(wù)器所能處理的用戶會(huì)話個(gè)數(shù)以及所能連接的用戶數(shù)量。當(dāng)然,實(shí)際的Java應(yīng)用是更加復(fù)雜的,而本實(shí)驗(yàn)中的JSP頁面及servlet是比較簡單的,主要用于測試Web應(yīng)用服務(wù)器的穩(wěn)定性、可靠性及速度。

使用的測試機(jī)器為:雙核-64位 CPU,4G的內(nèi)存,在實(shí)驗(yàn)中,讓第一種應(yīng)用服務(wù)器運(yùn)行到1200000個(gè)會(huì)話。當(dāng)然,這些會(huì)話不并是同時(shí)連接。

 

圖4.多Session測試JSP頁面結(jié)果

 

圖5.多Session測試servlet結(jié)果

測試所用的代碼量只有區(qū)區(qū)的幾百行,為了準(zhǔn)確起見,筆者對(duì)三種服務(wù)器使用了相同之處的配置。當(dāng)然,如果采用實(shí)際的Java應(yīng)用程序來測試時(shí),所得到的數(shù)據(jù)結(jié)果圖會(huì)有一定的出入,但大概的趨勢會(huì)一致。

JBoss 4.2的表現(xiàn)不如Geronimo2,畢竟Geronimo 2所采用的實(shí)現(xiàn)技術(shù)及思想都是最新的。正如圖所示,Tomcat 6的性能最好,因?yàn)門omcat 6本身就是為JSP/servlet量身定做的Java EE 5應(yīng)用服務(wù)器。相比起JBoos或Geronimo需要20秒進(jìn)行啟動(dòng)的長時(shí)間,Tomcat僅僅需要3秒鐘。

五、 小結(jié)

在本文中,筆者比較了主流的Java EE應(yīng)用服務(wù)器的特性、部署及性能方面的內(nèi)容,特性方面的比較應(yīng)該有利于讀者選擇更加適合自己項(xiàng)目的Java EE應(yīng)用服務(wù)器,做到有目的性的選擇服務(wù)器,從而達(dá)到適合的效果。

同時(shí),筆者測試比較了商用或開源的Java應(yīng)用服務(wù)器,發(fā)現(xiàn)商業(yè)的Java應(yīng)用服務(wù)器不一定比開源的好,反而在商業(yè)的應(yīng)用服務(wù)器(如Sun的Java應(yīng)用服務(wù)器或BEA的WebLogic)中的Bug比開源的的應(yīng)用服務(wù)器更多些。

JBoss、Geronimo及Tomcat是快速可靠的可用于處理部署大規(guī)模的Java企業(yè)級(jí)應(yīng)用的服務(wù)器。特別值得一提的是,很多的高性能Java服務(wù)器技術(shù)都是從這些開源的應(yīng)用服務(wù)器中總結(jié)與借鑒過來,而不是從那些商業(yè)的應(yīng)用服務(wù)器中發(fā)展而來。

【編輯推薦】

  1. 使用Java建立穩(wěn)定的多線程服務(wù)器
  2. Tomcat與Web服務(wù)器、應(yīng)用服務(wù)器的關(guān)系
  3. 基于Ubuntu 8.10平臺(tái)的PHP Web服務(wù)器配置
責(zé)任編輯:彭凡 來源: baidu博客
相關(guān)推薦

2019-10-23 10:14:24

TomcatJettyGlassFish

2012-02-02 10:24:08

JavaResin

2018-12-12 08:40:11

服務(wù)器TomcatJava

2009-01-10 19:32:36

2009-06-16 15:35:20

JBoss應(yīng)用服務(wù)器

2021-05-28 05:18:08

PHP語言roadrunnner

2009-02-27 14:25:00

Weblogic應(yīng)用服務(wù)器服務(wù)器管理

2009-06-19 16:41:53

J2EE應(yīng)用服務(wù)器

2014-05-30 11:29:36

Java服務(wù)器

2012-06-13 01:51:05

ResinJava

2012-02-23 10:02:08

Web服務(wù)器應(yīng)用服務(wù)器

2009-01-16 14:37:57

TomcatWeb服務(wù)器應(yīng)用服務(wù)器

2012-03-27 10:31:41

JavaResin

2009-06-16 12:02:37

JBoss IPv6

2017-10-17 09:15:06

Web服務(wù)器區(qū)別

2018-03-20 14:24:10

Web服務(wù)器HTTP

2011-09-07 00:56:24

ibmdwWAS

2018-02-07 10:08:02

應(yīng)用服務(wù)器網(wǎng)絡(luò)數(shù)據(jù)庫

2009-05-08 16:38:54

SpringHyperic服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)