天天看點

滿江紅開放技術研究組織釋出Seam 2.0中文文檔RC版

"你得知道,我想的比做的更多。如果你要做一個開源項目,必須設想好它的道路,它才會成功。"gavin king這麼說過。那時候他已經在新天地luna酒吧灌下大杯的法國葡萄酒,還要裝作若無其事。不得不承認這個家夥相當聰明且自負。他做出的決定是深思熟慮的。

  b/s程式和c/s不同,request/response模型讓程式冗長的像裹腳布。你同時要處理多種資料失配:伺服器端的rdbms和浏覽 器展示出來的html之間,需要servlet的渲染,資料經曆了rdbms row ,resultset, 若有若無的dto和浏覽器form資料這幾個步驟,讓資料變得支離破碎。實際上所有的java架構的核心都是解決不同層面的這些破碎。hibernate 解決的是dto和resultset之間的破碎。和大多數初學者認為的hibernate是一種面向對象的resultset包裝器的字面了解不同, hibernate的目的是對rdbms資料的便于進行緩存的細粒度切割,"面向對象"隻是工具而非目的,緩存才是一切的本質,它讓hibernate真 正成為了具有強大戰鬥力的武器而非可笑的對象封裝器。

  解決了這一失配後,gavin king把目光放到了html form和伺服器對象之間的失配上。這一次的目的是簡化,盡可能的簡化,因為對web程式設計而言,最大的瓶頸是開發效率,是以seam的目的就是最大限度的 簡化複雜性。這一次的戰線要比hibernate寬廣的多,seam的好處因而也更加讓人看得明白:它提升jsf的實力,讓快速開發效果豐富的web應用 程式成為可能。從雙向注入到annotation,目的都是為了盡量減少伺服器端的代碼量,而richfaces和jsf編輯器,則是為了讓seam的産 出變得效果豐富。

  但顯然,html form的表現力和可能的複雜性遠遠超過orm中對象的關系的種類,是以,任何針對html的元件封裝都必須以其高品質才能讓使用者感到信服。作為整合開發 工具seam的道路還很長,對grid等複雜元件的支援尚不夠,讓2.0仍然無法達到delphi在windows開發界的廣大影響力。換句話說,jsf 的未來,在于其是否能成功的制造出元件産業鍊,一方面真正簡化開發者的勞動,提高效率,另一方面讓元件開發者能把經精力集中在開發高品質的元件上。在制造 産業鍊這一目标上,jsf是領跑的,而jsf架構中,seam是領跑的。

  是以,你應該花些時間來看看seam。