自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Tapestry和JSF對比

開發(fā) 后端
本文介紹JSF和Tapestry性能方面,開發(fā)方面,集群支持方面的對比。

1.JSF和Tapestry性能方面

JSF

從測試數(shù)據(jù)可以看出在只使用JSF及JSF自定義組件的情況下,webmail demo應用速度最快,200用戶并發(fā)訪問的響應時間為1.8秒,基本上可以達到servlet + jsp的性能。

使用JSF + 5個Facelet composition組件的情況下,webmail demo應用仍可達到200用戶并發(fā)訪問的響應時間為2.6秒的性能。

使用JSF + 20個Facelet composition組件的情況下,webmail demo應用可達到200用戶并發(fā)訪問的響應時間為3.1秒的性能。

如果在業(yè)務層方法沒有大的效率問題、并在壓力較大的頁面適當使用緩存的情況下,JSF應用程序可以達到在dell 2850機器上100-200并發(fā)5秒內(nèi)響應的性能

Tapestry

從測試數(shù)據(jù)可以看到tapestry在使用相同數(shù)量框架自身提供組件的情況下,運行效率比JSF明顯要低一些,但也算是在可以接受的范圍內(nèi)。

2.JSF和Tapestry開發(fā)方面

JSF

JSF對servlet API進行了封裝,程序員在使用組件做JSF應用程序的開發(fā)時基本上不需要直接操作HttpRequest和HttpResponse,并且對用戶輸入驗證,手機等其它設備(通過rendererKit),多語言(通過資源文件方式)和換膚(通過rendererKit)的支持都有相應的封裝,可以方便的實現(xiàn)。目前開源的組件庫有MyFaces,ADF等可以使用,其中有些組件內(nèi)置AJAX支持。

開發(fā)工具中IBM WebSphere Studio,Oracle JDeveloper 10g和FaceIDE等IDE對JSF應用開發(fā)提供可視化編輯支持。下面是對JSF自定義組件和JSF+facelet composition組件開發(fā)進行比較

JSF自定義組件開發(fā):

JSF自定義組件由java代碼和tag庫文件組成,開發(fā)難度應該與現(xiàn)有I2SS組件開發(fā)的難度基本一致,JSF自定義組件通過自定義標記構造頁面,在頁面上增加組件的數(shù)量對性能有較大的影響。

JSF + facelet composition組件開發(fā):

facelet composition組件在個性化、重用方面對JSF提供了很好的補充。通過編寫tag庫文件,使用facelet可以把多個JSF自定義組件組合成facelet composition組件,或者把幾個facelet composition組件組合成新的facelet composition組件,這個過程不需要開發(fā)或設計人員編寫Java代碼。facelet composition組件是live模式運行時生成,從測試結果上看組件數(shù)量對性能的影響不大

學習曲線上,開發(fā)難度與組件基本一致,只要寫過組件或寫過servlet+jsp的人,加上適當培訓,一周內(nèi)都可掌握JSF或Tapestry開發(fā)

Tapestry

組件和頁面的開發(fā)過程完全一致,都是由模板、page/component class和specification文件組成。IDE方面目前有開源社區(qū)開發(fā)的eclipse插件Spindle和Tapestry Palette可用,對開發(fā)效率有一定的提升。

3.JSF和Tapestry集群支持方面

JSF

目前在I2SS上做的集群實驗是使用apache+jboss來實現(xiàn),結構是apache做集群前端實現(xiàn)stick session,jboss做應用服務器。

I2SS架構應用程序Session中放入的對象并不能全部串行化,所以在做集群時只能使用粘貼會話方式(stick session)實現(xiàn),這樣容易出現(xiàn)的情況是如果一臺機器down掉,這臺機器上的所有在線用戶都會無法繼續(xù)當前的會話。如果用戶重新發(fā)起登錄請求,任務會轉移到其它正常工作的機器上。如果down掉的機器重新恢復,轉移到其它機器上的用戶不能重新使用這臺新啟動的機器,只有新發(fā)起的用戶請求和在線用戶調(diào)用session.invalidate()顯式退出后,工作才會轉移到新啟動的機器上,這樣負載的均衡時間會比較長。I2SS架構應用程序可以通過更改框架層,將現(xiàn)有放入session中的對象實現(xiàn)串行化,并且將不能串行化的對象放到session以外的地方來實現(xiàn)使用session replication的集群模式。

在JSF上做的集群實驗是使用apache+jboss來實現(xiàn),支持stick session和session replication兩種模式。stick session模式的結構和討論如上述,session replication的結構是apache做集群前端,通過jboss的TreeCache實現(xiàn)session replication。在編寫JSF程序時要把放入會話中的backing-beans實現(xiàn)串行化,如果一臺機器down掉,在線用戶的會話會轉移到其它正常工作的機器上,對于用戶的感受來說可能是速度變慢,但是不會出現(xiàn)會話斷掉的情況。如果down掉的機器重新恢復,TreeCache通過網(wǎng)卡或文件系統(tǒng)完成session replication的過程后,在線用戶的任務就可以實現(xiàn)與機器未down時相同的負載均衡狀態(tài)。如果想減少網(wǎng)卡或文件系統(tǒng)的I/O操作,可以通過集群分區(qū)來實現(xiàn)。
 
Tapestry

Tapestry本身提供兩種state持久方式:傳統(tǒng)的session方式和client-side方式。狀態(tài)保存在session中的情況下,實現(xiàn)集群和JSF方式一樣,需要session replication。保存在client-side的情況下,有一些局限性,但是可以實現(xiàn)無狀態(tài)的應用,自動支持集群。

4.對于I2SS組件與JSF組件混合使用的說明

JSF組件應用程序是標準J2EE應用程序,JSF組件對servlet API提供了封裝,同時也提供了直接得到servlet上下文的方法,所以I2SS組件與JSF組件的混合使用與現(xiàn)在已經(jīng)實現(xiàn)的郵件系統(tǒng)中servlet+JSP與I2SS組件的混合使用方法是一樣的,都可以用手動創(chuàng)建EbiContext實例的方法來實現(xiàn)。


5.目前JSF標準的進展情況,以及行業(yè)的支持情況

JSF 體系結構
JavaServer Faces 的 MVC 實現(xiàn)
JSF 的主要優(yōu)勢之一就是它既是 Java Web 用戶界面標準又是嚴格遵循模型-視圖-控制器 (MVC) 設計模式的框架。用戶界面代碼(視圖)與應用程序數(shù)據(jù)和邏輯(模型)的清晰分離使 JSF 應用程序更易于管理。為了準備提供頁面對應用程序數(shù)據(jù)訪問的 JSF 上下文和防止對頁面未授權或不正確的訪問,所有與應用程序的用戶交互均由一個前端“Faces”servlet(控制器)來處理。

【編輯推薦】

  1. 簡述JSF是什么
  2. Facelets非常適合JSF組件
  3. JSF的八大優(yōu)勢
  4. JavaServer Faces(JSF)簡介
  5. 簡述JSF組件模型
責任編輯:佚名 來源: CSDN
相關推薦

2009-06-24 16:16:30

JSF和Tapestr

2009-07-03 14:46:42

JSP開發(fā)框架JSFTapestry

2009-06-23 14:01:27

StrutsTapestryJSF

2009-06-23 16:29:51

JSFSpring MVCStruts 2

2009-07-14 14:16:03

Tapestry 5.Tapestry教程Tapestry頁面

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-24 13:50:29

JSF和MVC

2009-06-24 16:42:17

JSF和Facelet

2011-06-30 10:20:38

JSFMVC

2009-06-24 17:43:24

Struts和JSF

2009-06-23 13:21:26

JSF和Spring

2009-06-24 14:17:00

BackingBeanJSF配置文件

2009-06-25 14:26:33

JSFDojo小部件

2009-06-22 15:35:31

JSF和Struts

2009-09-23 17:56:45

JSF入門

2009-06-23 16:52:16

JSFHibernateWeb應用

2009-07-03 10:48:12

JSP和JSF

2009-07-03 16:33:13

Tapestry函數(shù)執(zhí)

2009-06-25 11:11:25

控制JSF切入點

2009-06-23 10:17:09

Ajax事件和錯誤JSF2
點贊
收藏

51CTO技術棧公眾號