JBoss Seam Web應(yīng)用開發(fā)入門篇
JBoss Seam Web入門
根據(jù)JBoss的官方網(wǎng)站的介紹,JBoss Seam 是一個(gè)“為java ee 5.0量身定制的輕量級(jí)的框架”。這是什么意思呢?難道java ee(企業(yè)版)5.0本身不是一套“框架”嗎?為什么在官方規(guī)范之外還需要另外一個(gè)框架呢?簡單地說,我們把seam看成本應(yīng)該包括在java ee 5.0中的一個(gè)“遺漏的框架”。它位于java ee 5.0框架的上層,為所有在企業(yè)web應(yīng)用中的組件提供一個(gè)一致的、易于理解的編程模型。它同樣使得基于狀態(tài)的應(yīng)用程序和業(yè)務(wù)流程驅(qū)動(dòng)的應(yīng)用程序的開發(fā)易如反掌。換句話說,seam的一切都是圍繞開發(fā)者的開發(fā)效率和應(yīng)用擴(kuò)展性而存在的。
JBoss Seam Web應(yīng)用開發(fā)還將介紹seam如何使開發(fā)變得容易,并通過幾個(gè)web應(yīng)用程序的例子進(jìn)行闡明。但是在接觸具體的代碼例子之前,首先解釋seam到底是做什么的,其關(guān)鍵的設(shè)計(jì)原則有哪些。這樣可有助于更好地通過貫穿JBoss Seam Web應(yīng)用開發(fā)的應(yīng)用程序?qū)嵗斫鈙eam是如何工作的。
整合和強(qiáng)化java ee框架
java ee 5.0的核心框架是ejb(enterprise javabeans)3.0和jsf(javaserver faces)1.2。ejb 3.0是在plain old java objects(pojo)的基礎(chǔ)上為業(yè)務(wù)服務(wù)和數(shù)據(jù)庫的持久化而開發(fā)的輕量級(jí)框架;jsf則是為web應(yīng)用而開發(fā)的基于model.view.controller(mvc)組件的框架。大多數(shù)java ee 5.0 web應(yīng)用都包含業(yè)務(wù)邏輯的ejb 3.0模塊和web應(yīng)用前端顯示的jsf模塊。不過,盡管ejb 3.0和jsf互為補(bǔ)充,但它們還是根據(jù)各自的理念設(shè)計(jì)或獨(dú)立的框架。例如,ejb 3.0使用注解配置服務(wù),而jsf則用xml文件進(jìn)行配置,并且ejb 3.0和jsf組件在框架層面是互不敏感的,要想使ejb 3.0和jsf一起工作,就需要開發(fā)者手動(dòng)構(gòu)造facade對(duì)象(如:jsf支持bean),將業(yè)務(wù)組件與web頁面和樣板代碼(又名管道代碼,plumbing code)進(jìn)行綁定,以便實(shí)現(xiàn)跨框架調(diào)用方法,有效地把這些技術(shù)集成在一起是seam的職責(zé)之一。
seam打破了ejb 3.0和jsf間的人為屏障,為整合ejb 3.0和jsf提供了一個(gè)統(tǒng)一的、基于注解的解決方法。通過幾個(gè)簡單的注解,seam中的ejb 3.0業(yè)務(wù)組件能夠直接用來支持jsf web表單或直接處理web ul事件。有了seam,開發(fā)者就可以為所有的應(yīng)用組件使用帶有注解的poj0。
【編輯推薦】