利用元數(shù)據(jù)和RIA簡化企業(yè)應(yīng)用程序的開發(fā).ppt_第1頁
利用元數(shù)據(jù)和RIA簡化企業(yè)應(yīng)用程序的開發(fā).ppt_第2頁
利用元數(shù)據(jù)和RIA簡化企業(yè)應(yīng)用程序的開發(fā).ppt_第3頁
利用元數(shù)據(jù)和RIA簡化企業(yè)應(yīng)用程序的開發(fā).ppt_第4頁
利用元數(shù)據(jù)和RIA簡化企業(yè)應(yīng)用程序的開發(fā).ppt_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

利用元數(shù)據(jù)和RIA簡化企業(yè)應(yīng)用程序的開發(fā) 曹曉鋼BEAUGGuangzhou 2006 3 12 Agenda MVC面臨的用戶體驗(yàn)困境構(gòu)件化界面組織 QooxdooRichBrowser Server所需的DataTransportDataBinding與metadata的關(guān)系Demo Requirment Hibernate基礎(chǔ)知識(shí)MVC基礎(chǔ)知識(shí)Spring基礎(chǔ)知識(shí) JavaWeb編程模型 Servlet規(guī)范RequestResponseSessionJSP本質(zhì)上是servlet編譯生成器 MVC Model對應(yīng)域模型View觀察域模型的不同視角Controller真正進(jìn)行對象操作 MVC出現(xiàn)的背景 在JSP中混雜進(jìn)行數(shù)據(jù)庫編程將數(shù)據(jù)準(zhǔn)備與數(shù)據(jù)展現(xiàn)混雜在一起將數(shù)據(jù)處理與結(jié)果展現(xiàn)混雜在一起因?yàn)橐陨系幕祀s 無法有效的利用OO進(jìn)行對象建模Struts和WebWork解決了這兩個(gè)主要的混雜問題 MVC沒有解決的問題 MVC模型仍然基于request response 因此需要用多次交互才能完成一次 用戶操作 保存現(xiàn)場于session反例 將Hibernatesession綁定到httpsession使用continuation仍然是低層協(xié)議 界面建構(gòu)仍然留給程序員完成界面建構(gòu)時(shí) 客戶端界面代碼同時(shí)出現(xiàn)在客戶端和服務(wù)器端 新的web框架方向 Continuation解決交互不連貫問題構(gòu)件化界面開發(fā)TapestryJSF以上二者都仍然在服務(wù)器端進(jìn)行界面建構(gòu)使用純粹客戶端控件進(jìn)行界面建構(gòu) JavaScriptRIA JavaScriptRIA 基于IEbehaviour的控件封裝基于XAML XUL的控件封裝zk純粹javascriptDHTML的控件封裝Bindows 付費(fèi)授權(quán) Qooxdoo 開放源代碼 注意 JavascriptRIA在激烈演進(jìn)中 仍然需要更多的時(shí)間等待其穩(wěn)定 Qooxdoo http qooxdoo oss schlund de OpenSource跨瀏覽器平臺(tái)InternetExplorer 5 5Mozilla 1 3Firefox 1 0Opera 8 0有對應(yīng)的實(shí)際公司 德國 在實(shí)際工程中使用仔細(xì)的進(jìn)行過內(nèi)存泄露測試 沒有已知的泄露開發(fā)活躍 基礎(chǔ)設(shè)施較完善 Qooxdoo 對象繼承基礎(chǔ)設(shè)施QxNativeQxExtend事件基礎(chǔ)設(shè)施QxEventButton addEventListener click function xxx Propertyevent QooxdooLayout CanvasLayout使用橫縱座標(biāo)對控件絕對定位BoxLayout單方向堆疊式自動(dòng)對齊控件FlowLayout對控件進(jìn)行自動(dòng)換行DockLayout在行列兩個(gè)方向均可以自動(dòng)堆疊GridLayout提供類似于HTMLTable的定位方式 QooxdooAppearence 對CSS和Border的封裝引入State 分離用于表達(dá)控件狀態(tài)的代碼引入Theme 用于切換外觀主題對字體的統(tǒng)一控制尚欠缺 QooxdooWidget Qooxdoo提供 AtomButtonMenuToolbarSpincomboboxListviewTreeviewTabcontrolWindow Qooxdoo控件擴(kuò)展 實(shí)例 擴(kuò)展listview的例子 Qooxdootransport AJAXenabledTransports IFramexmlhttpget RIA編程 MVC轉(zhuǎn)移到客戶端通過AJAX與服務(wù)器端的MVC基礎(chǔ)設(shè)施聯(lián)系用戶在客戶端使用javascript表達(dá)一個(gè)連貫的操作 邏輯前移Onepage oneoperation客戶端邏輯取代在服務(wù)器端的session continuation更好的分離界面邏輯與業(yè)務(wù)邏輯 BrowserasaMACHINE Browser作為javascript語言運(yùn)行的內(nèi)存HTTP作為數(shù)據(jù)訪問協(xié)議客戶端Object與服務(wù)器端Object的映射 需要考慮的問題 界面元素的展現(xiàn)形式每個(gè)界面元素對應(yīng)于域模型的一個(gè)POJO界面元素中的property和POJOproperty對應(yīng)是否需要在客戶端了解property的屬性 Validation的需要Format的需要Query的需要是否需要在客戶端了解POJO之間的關(guān)聯(lián)關(guān)系 在多個(gè)界面中維護(hù)同一對象同一屬性一致的外觀和操作在對象關(guān)聯(lián)的時(shí)候 在界面中直接進(jìn)行對象選擇操作 ClientSideMVC Model層的Cache Model之間的referenceView的表述方式XUL XAMLDHTMLWidget 在B S之間傳遞數(shù)據(jù) QxTransportBuffalo burlap協(xié)議 JSON 自定協(xié)議json rpc Buffalo和JSON使用的協(xié)議較詳盡 適合作為B Sremotecall使用 http michael nona name archives 85 MichaelChen的blog中有較完整說明傳輸流程圖 Buffalo DataBind 如何把數(shù)據(jù)綁定到客戶端控件XMLDataIsland無法跨越瀏覽器此領(lǐng)域尚未有標(biāo)準(zhǔn)方法Bind后客戶端控件重新渲染時(shí) 利用元數(shù)據(jù)進(jìn)行格式化對關(guān)聯(lián)類型的綁定Metadata是DataBind的最重要來源 metadata Entity所需的metadataProperty屬性NullableIdentityLengthScaleTypeEntity之間的關(guān)聯(lián)JDBCResultSetmetadata中內(nèi)容有限Hibernatemetadata和Mappingconfiguration可以提供model層的metadata在view層的表現(xiàn)形式可能被overrideSDO4JS JavascriptRIAPros Cons Pros可以直接調(diào)用springbean 邏輯前移 客戶端的MVC模型對應(yīng)Cons框架在激烈的演進(jìn)中 尚未穩(wěn)定DataBind需要特別關(guān)注同步AJAXRPC與異步AJAXRPC的使用場景Buffalo這點(diǎn)上尚需改進(jìn)異步AJAXRPC拓?fù)鋱D異步競態(tài)問題 Pros Cons2 N 1問題 AJAXobjectlazyloading注意 客戶端無法使用CacheAJAXQueryinterface注意到服務(wù)器端可能不是數(shù)據(jù)庫QueryFetchPath強(qiáng)制指定Javascript本身帶來的問題速度內(nèi)存泄露 That sAll ThankYou Aboutus 滿江紅開放技術(shù)研究組織OpenDocHibernate開發(fā)指南Spring開發(fā)指南iBatis開發(fā)指南WebWork開發(fā)指南CruiseControl使用指南ShifttoDynamic Smalltal

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論