開發(fā)指南第一章概述_第1頁
開發(fā)指南第一章概述_第2頁
開發(fā)指南第一章概述_第3頁
開發(fā)指南第一章概述_第4頁
開發(fā)指南第一章概述_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

Oracle?ApplicationDevelopmentDeveloper’sGuideForForms/4GLDevelopers10gRelease3()B25947-Oracle針對Forms/4GL開發(fā)人員的OracleADF第一部分包含以下第一章:OracleADF第二章:OracleADF與JSF開發(fā)過程概述OracleADF本章將描述OracleADF應(yīng)用開發(fā)框架的架構(gòu)及功能ADFOracleADFOracle應(yīng)用開發(fā)框架(OracleADF)是一個端到端的桌面或者WEB服務(wù)的形式來表現(xiàn)的話,OracleADF可以簡化你的工作。先后使用OracleJDeveloper10g及ADF,你將得航及用戶界面并遵循模型、視圖及控制的三層架構(gòu)設(shè)計模式。如圖1-1所示MVC架構(gòu)模型層代表與當前頁面相關(guān)的數(shù)據(jù)值JSR-227的便于式進行數(shù)據(jù)綁定的模塊。OracleADF模型層使任何用戶界面都可以以無代碼方式與任何業(yè)務(wù)服務(wù)層進行數(shù)據(jù)綁定。OracleADF的其它模塊包括OracleADF業(yè)務(wù)組件,它為那些熟悉4GL開發(fā)工具比如OracleForms,PeopleTools,OracleADFFaces提供了用JavaServerFaces(JSF)WEB應(yīng)用的豐富的UIOracleADFSwing將OracleADFSwingOracleADFController將StrutsJSF集成到了OracleADF模型圖1-2ADF簡化架構(gòu)JavaServerPages(JSP),也可以使用的JavaServerFaces(JSF)標準ADFFaces組件包含豐富的特性,比如外觀特性“皮膚”,AJAX編程技術(shù)所支持的些組件極大地簡化了構(gòu)建有的功能強大的WEB及無線應(yīng)用的過程而不用你動手與HTML在控制層,在什么地方處理WEB應(yīng)用的頁面導航是一個最受關(guān)注的問題,OracleADF將在ADF在模型層,OracleADFJSR-227控制及提供的最常用業(yè)務(wù)服務(wù)的技術(shù)的實現(xiàn)。無論你使用哪一個,JDeveloperOracleWebJavaBeans及企業(yè)級EJBOracle及其它人將他們的業(yè)務(wù)的賭注壓到了基于ADF業(yè)務(wù)組件的OracleADF上。采用OracleADF及JavaServerFaces進行式的開即使是一個成快速應(yīng)用開發(fā)工具的用戶,無論是使用OracleForms,采用基于標準的架構(gòu)WEB方式實現(xiàn)傳統(tǒng)的專業(yè)的桌面型的電子商務(wù)套件感,助于ADF和JDeveloper10g,你將會高興地學到你所熟悉的所有4GL特性:當在Oracle的JDeveloper10中使用OracleADF的XML和基于Java的式開發(fā)時,你將獲得設(shè)計時錯誤提示,上下文敏感的編輯助手和編譯時錯誤檢查。使用ADF業(yè)務(wù)組件進行式的數(shù)據(jù)及檢在創(chuàng)建面向服務(wù)的J2EE應(yīng)用時,業(yè)務(wù)邏輯一般用一個或多個業(yè)務(wù)服務(wù)“”。如圖1-3所示,oracleADF為簡化以數(shù)據(jù)庫為中心的業(yè)務(wù)服務(wù)提供的熟悉的功能強大的SQL語言按最終用戶的要求對數(shù)據(jù)進行聯(lián)接,過濾,排序,提示OracleForms開發(fā)人員立即會想到這種組合功能與Form的form,塊,記錄管理器,form級過圖1- ADF業(yè)務(wù)組件簡化了數(shù)據(jù)及校JavaServerFaces引入了WEB用戶界面組件,這些組件有屬性,,運行時API,從而簡化了使用JSF進行式的用戶界面設(shè)}#{}表示特定用戶的名字,或者#{user.role=='manager'}來判斷用戶是不是一個運行時刻,JSFUI組件的值是由它的“value”屬性決定的。一個組件可能是一范并且JSF在任何EL表達式中首次需要時自動實例化他們。JSF也提供了宣據(jù)的階段器。用JSF進行式頁面導JSF不僅提供了式UI設(shè)計方法,還提供了式的定義頁面導航。開發(fā)的“輸出”。比如,當在頁面UserDetails.jspx修改用戶帳號詳細內(nèi)容時點擊了“保存”按鈕,這次交互的邏輯輸出可能使頁面進入MoreDetails.jspx來查看更詳細內(nèi)容,或者返回BrowseUsers.jspx使用OracleADF模型層進行式數(shù)據(jù)綁OracleADF用XML配置文件來實現(xiàn)通用數(shù)據(jù)綁定。它實現(xiàn)了JSR-227的兩個概念來使用戶界面與業(yè)務(wù)邏輯分離:數(shù)據(jù)及式綁定。 用都需要的式數(shù)據(jù)綁定對象:ADF模型層:式數(shù)據(jù)綁ADF業(yè)務(wù)組件:實現(xiàn)數(shù)據(jù)及校件。這些處理代碼看起來如下所示:eventcodehere...if(userRequiresMoreDetailsPage()){;else{returnpublicvoidevent){//Addeventcodehere...}1–3publicvoidmgmtChainTree_onExpandCollapse(DisclosureEventevent){//Addeventcodehere...}注意:這些JSF處理方法都分別類似于在OracleForms命名的當用戶與UI組件交互時JSF自動觸發(fā)與相應(yīng)組件對應(yīng)的并調(diào)用你所編寫的代你想完整地處理瀏覽器客戶的某些邏輯及服務(wù)端的,你可以將客戶端的JavaScript與不考慮最終用戶影響的是哪個視圖對象,如果數(shù)據(jù)與SERVICE_REQUESTS1–4protectedvoidcreate(Attribuistattrs){//Firstperformthedefault"built-in"functionalitysuper.create(attrs);//Addcustomcreation-timedefaultinglogichere...//Defaulttherequestdatetothecurrent}protectedvoidprepareForDML(intoperation,TransactionEventevent){//Firstperformthedefault"built-in"functionalitysuper.prepareForDML(operation,event);//Ifwe'renganINSERT,thendefaultthetechnicanidif(operation==DML_INSERT)//Auto-assignthenewservice1–6處理AssignedTo屬性校驗publicbooleanvalidateAssignedTo(NumbernewTechnicianId){//Addcustomifnot.returndoesTechnicianHaveAppropriateExpertise(newTechnicianId);}publicvoidremove()//Addcustomremove-timelogicif(isUserAllowedToDeleteRequest()==false)}}提示:這四個的處理方法分別類似于OracleForms命名的WHEN-CREATE-,,currentTimeRoundedToNearestTenMinutes(),determineDefaultTechnicianId(),由于所有OracleADF本身都是用java實現(xiàn)的,按照你所在組織的要求全局性的擴展框架的在調(diào)用了super.create()方法以后執(zhí)行默認的操作,代碼分以下幾步執(zhí)行:Loopoverallattributedefinitionsforthisentityrow.1–8繼承OracleADF pany.fwkext;publicclasspanyEntityImplextendsEntityImpl{protectedvoidcreate(Attribuistattrs){super.create(attrs);//Firstperformthedefault"built-in"functionality//1.Thenloopoverallattributedefinitionsforthisentityrowfor(AttributeDefattr:getEntityDef().getAttributeDefs()){//2.IfattrisaDateand"TenMinuteDate"custompropertyissetif&&attr.getProperty("TenMinuteDate")!=null){//3.Defaultattrvaluetocurrenttimeroundedtonearest10}}}}JDeveloper使用他們自己的基類代替ADF默認的類。這樣處理的話,它就變?yōu)椤霸O(shè)置它忘記僅設(shè)置一個繼承框架基類的類就可以使你在任何需要的時候向這些類中增加代碼――來處理你,全面理解Jdeveloper 集中的元數(shù)據(jù)驅(qū)動的功能使用OracleJheadstart在JDeveloper的Studio版本中使用OracleADFJavaServerFaces將具有簡化企業(yè)級開發(fā)便于業(yè)務(wù)服務(wù)的開發(fā)FacilitiesforBusinessServices業(yè)務(wù)組件向?qū)Ъ熬庉嬈鰾usinessComponentswizardsand業(yè)務(wù)組件圖BusinessComponents綁定屬性拖到現(xiàn)存頁面的組件上來完成.而且在UI組件創(chuàng)建時,恰當?shù)氖降慕壎▽傩砸呀?jīng)頁支持JavaServerFaces也支持傳統(tǒng)的JSP開發(fā)。.:本的骨架,但在真實的應(yīng)用程序開發(fā)中并沒有多大的實際意義。ADF模型層在ADFFaces■式的可交互的部分頁面刷新的動作,這種類型的頁面交互性被稱作“web2.0”或“AJAX”風格的頁面.的表格及ADF現(xiàn)用戶最的交互方式展現(xiàn)數(shù)據(jù)的功能。來導航。ADF模型通過選擇性地對列表增加一個可翻譯的“NoSelect>選項來輕松操作JSF提供了一種在資源簇中可翻譯性字串的機制,但它不知道字串用來干什么也沒辦法將特定的商務(wù)領(lǐng)域?qū)ο笈c字串關(guān)聯(lián)。ADF商務(wù)組件通過改進,允許你在JSF頁面中可翻譯的標使用OracleJheadstart生成完整的Web正如你將在本指南余下的部分學習到的,OracleJdeveloper10g和OracleADF將給據(jù)庫為中心的J2EE應(yīng)用程序.然而如果你習慣使用工具如OracleDesigner來基于應(yīng)這樣,那么你可能會對OracleJHeadstart10g感 .它是一個針對Jdeveloper的基于OracleADF內(nèi)置特性用來提供生成完整應(yīng)用程序的web層的擴展.從已經(jīng)設(shè)計好的ADF代式的細化的應(yīng)用程序結(jié)構(gòu)定義。這可以控制你生成的web層的用戶界面的視圖對象的功能及組織結(jié)構(gòu)。通過選擇檢查框及下拉值列表中的各種選項,你就描述了頁面踐的完整web應(yīng)用程序,輕松地將的o

溫馨提示

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

評論

0/150

提交評論