国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

細說Web應用開發的一致框架Tapestry

2019-11-18 12:53:01
字體:
來源:轉載
供稿:網友

  什么是Tapestry?
  Tapestry框架是一個位于java servlet容器和Tapestry應用程序之間的層。Tapestry不是一個獨立運行的服務器;它是一個servlet的擴展,它運行于servlet容器(例如Tomcat)或包含servlet容器的應用服務器中(如Jbose,Websphere,或者WebLogic). Tapestry應用其實是由一系列頁面組成,而每個頁面是由可以復用的組件構成。
  
  Tapestry在整個環境中的位置;應用程序由可復用組件構成的頁組成。應用程序運行在應用服務器中。對應用服務器而言,Tapestry應用只不過是其他類型的servlet而已。
  
  Web應用通常按照三個層面來實現,每一個層面都針對應用中不同的問題。
  
  展現層的職責是負責接受請求和產生Html的響應;
  
  應用層的職責是負責所有的業務邏輯;這一層通常用EJB來實現;
  
  數據庫層的職責是負責持久地存儲數據;
  
  Tapestry僅僅是展現層的應用,或者說Tapestry僅僅是將處理好的信息展現給終端用戶,如HTML,以及處理來自鏈接和HTML表單輸入。Tapestry不知道或者不關心應用層、域邏輯層、或者信息的來源。一個Tapagestry應用程序可以建立在平面文件數據庫、可使用JDBC存取的關系數據庫以及分布在世界上各個網絡上的EJB之上。Tapestry對你的應用沒有任何要求,它只是關注展現層是如何組織的。
  
  Tapestry框架填充了web應用開發中隱藏的縫隙:它提供了一個與開發人員相關的一致的框架。通常,每個開發人員自行治理他或者她開發的部分取忽略了其他的工程紀律從而使得項目承擔更大的風險。假如將建造一個大樓的工作分解成建造不同樓層并安排給工人們設計和建造單獨樓層,最后將它們用吊機裝配起來。每一個工人都給了一個完成后建筑的粗略的草圖并告訴他們那一層該做什么:“我們將把可以財務部門安排在這里”,或者“這兒將是公司的自助餐廳?!?。你能猜測到會出現什么樣的災難性的問題;每一個工人將使用不同的材料和不同的布局。電梯軸不能垂直,一些工人忘了給電線和管道預留空間,更有甚者,忘記了安裝窗戶??!
  
  可是,許多Web應用應用的開發仍然和上面描述的相似的混亂情況下被開發著。說明不完整;不同的開發人員以不同的方法處理類似的問題。一些開發人員不注重項目中的重要細節或者web開發中比較次要的細節。由于技術的不同,一些開發人員擅長些客戶端的javascript,其他的則擅長于后臺系統的交互開發-但是項目治理者經常認為這些人是完全可以互換的。最常見的是,項目的成功或失敗擔子在最后完全落在“全壘打團隊“的肩膀上,他們不得不在剩余的時間里將所有的代碼片斷粘在一起。
  
  繼續以前邊的比方為例。不管怎樣,工人都是從管道和布線已經完成的空樓層開始工作。所有的事情都變成安裝僅僅用于該層的固件的工作,項目的最后這些東西將會被正確的組裝起來。把樓層看作頁面,把固件看作組件,把安裝看作配置,你就能理解了Tapestry給開發人員提供的東西了。
  
  Tapestry在解決開發問題上不是一個萬能藥;然而,它提供了一個描述Web應用項目實現和由不同開發人員提供的元素之間交互的一致的方法。Web應用程序沒有電梯軸線,但它們可以有,如統一的導航條,或嵌入的查詢表格,或統一的登陸按鈕。這些元素都能實現成Tapestry組件,單獨地測試,并在每一個頁面上重用,這樣就能保證一致的外觀和一致的交互行為。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿勒泰市| 松溪县| 陆丰市| 定安县| 新平| 黎城县| 云安县| 改则县| 江口县| 曲周县| 河津市| 平舆县| 桑植县| 湾仔区| 内江市| 时尚| 普兰店市| 临湘市| 东平县| 佛山市| 晋州市| 雷州市| 鱼台县| 道真| 赞皇县| 射洪县| 兴海县| 嘉义县| 大港区| 丽江市| 连平县| 安仁县| 浮山县| 治县。| 孟连| 象州县| 宁德市| 察隅县| 寿光市| 宁陕县| 定州市|