激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

主流JavaEE應用服務(wù)器橫向分析

時(shí)間:2024-10-07 23:23:19 J2EE培訓 我要投稿
  • 相關(guān)推薦

主流JavaEE應用服務(wù)器橫向分析

  J2EE是一套全然不同于傳統應用開(kāi)發(fā)的技術(shù)架構,包含許多組件,主要可簡(jiǎn)化且規范應用系統的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。下面是小編收集的主流JavaEE應用服務(wù)器橫向分析,希望大家認真閱讀!

  一、前言

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

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

  二、特性比較

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

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

  1.Java EE 5一致性

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

  2.支持EJB3

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

  3.支持JSP 2.1/Servlet2.5

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

  4.支持JSF 1.2

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

  5.支持客戶(hù)化插件

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

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

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

  7.支持Hibernate 3.x

  Hibernate為Java編程提供了強有力的關(guān)系/對象模型(ORM,Object-relational mapping)。Hibernate可以將面向對象的模型映射為關(guān)系型數據庫,這對Java開(kāi)發(fā)來(lái)說(shuō)是最有吸引力的。Hibernate作為一種開(kāi)源的軟件,最早就是由于JBoss的一個(gè)團隊所開(kāi)發(fā)(Gavin King)。當然,JBoss 4.2、Geronimo 2及Tomcat 6均支持Hibernate 3。

  8.支持JBoss Seam

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

  9.支持集群

  集群通過(guò)并行在多臺服務(wù)器運行同樣的服務(wù),從而大大的提高應用的吞吐量,達到所謂的高負荷的效果。由于采用了數臺服務(wù)器同時(shí)運行,所以當其中的某臺服務(wù)暫時(shí)或死機時(shí),對客戶(hù)不會(huì )造成服務(wù)停止,從而達到業(yè)務(wù)的可持續。集群極大的提高了企業(yè)級的Java應用的性能、吞吐量等能力。

  JBoss 4.2、Geronimo 2及Tomcat 6均以同樣的方式來(lái)支持集群。JBoss在集群層使用及時(shí)復制的方式來(lái)達到集群的目的。而Geronimo所發(fā)布的集群,還處于測試階段,需要時(shí)間的考驗,如果有興趣,可以與Apache基金組織聯(lián)系。

  10.支持Eclipse IDE

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

  三、部署

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

  1.Geronimo

  對Geronimo 2來(lái)說(shuō),進(jìn)行配置及部署Java應用程序非常的簡(jiǎn)單,特別是通過(guò)它提供的Web控制臺更加簡(jiǎn)單。Geronimo控制提供了許多簡(jiǎn)單的功能來(lái)幫助開(kāi)發(fā)人員進(jìn)行應用程序的配置?梢赃M(jìn)行數據庫的連接池測試及安全設置或配置等。

  2.JBoss

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

  3.Tomcat

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

  四、性能

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

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

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

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

  五、小結

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

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

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

【主流JavaEE應用服務(wù)器橫向分析】相關(guān)文章:

我的JavaEE學(xué)習路線(xiàn)圖06-11

關(guān)于JavaEE中10個(gè)安全控制09-12

物流成本的橫向控制10-12

Excel如何橫向輸入數據07-28

橫向科研項目管理流程06-08

cad打印設置橫向及實(shí)體顯示08-18

J2EE應用服務(wù)器08-05

GMAT閱讀的橫向總結的實(shí)用技巧09-08

怎么設置任意頁(yè)為橫向頁(yè)08-09

Web應用服務(wù)器優(yōu)化方法有哪些06-17

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频