基于Oracle ADF的應(yīng)用程序開(kāi)發(fā) |
發(fā)布時(shí)間: 2012/7/13 15:21:44 |
ADF(Application Development Framework)是Oracle公司為簡(jiǎn)化J2EE程序開(kāi)發(fā)的復(fù)雜性專門開(kāi)發(fā)的一種解決方案,ADF通過(guò)減少實(shí)現(xiàn)設(shè)計(jì)模式和應(yīng)用程序框架的代碼量,簡(jiǎn)化了J2EE的研發(fā)難度。其優(yōu)點(diǎn)主要體現(xiàn)在以下四個(gè)方面:
(1) 開(kāi)發(fā)環(huán)境:大部分J2EE框架都沒(méi)有與之配套的開(kāi)發(fā)工具,ORACLE為ADF提供了JDEVELOPER開(kāi)發(fā)工具,它和ADF實(shí)現(xiàn)了完美的結(jié)合,方便了程序的開(kāi)發(fā)。 (2) 平臺(tái)獨(dú)立:ADF能夠運(yùn)行在任何符合J2EE標(biāo)準(zhǔn)的應(yīng)用服務(wù)器上。 (3) 技術(shù)選擇:對(duì)于應(yīng)用程序的不同層,開(kāi)發(fā)人員可以使用自己擅長(zhǎng)的技術(shù)進(jìn)行開(kāi)發(fā)。 (4) 端到端的解決方案:ADF不只關(guān)注應(yīng)用程序的某一層,而是對(duì)應(yīng)用程序的每一層,都提供了完整的解決方案。 Oracle ADF的架構(gòu) Oracle ADF的架構(gòu)是基于MVC設(shè)計(jì)模式的,其架構(gòu)如圖1所示。從圖1我們可以看出,ADF把應(yīng)用程序分成了四層,下面我們分別介紹: 1)Business Service 層 Business Service 層包括三個(gè)小層(見(jiàn)圖1),分別是持久層(Persistent Business Objects),數(shù)據(jù)訪問(wèn)層(Data Access)和接口層(ADF Application Module)。這三層建立的順序是這樣的,先建立持久層的實(shí)體對(duì)象(Entity Object),然后建立數(shù)據(jù)訪問(wèn)層的視圖對(duì)象(ViewObject),最后建立接口層。其中建立持久層的實(shí)體對(duì)象主要是和數(shù)據(jù)庫(kù)的表或者同義詞對(duì)象建立關(guān)聯(lián),數(shù)據(jù)訪問(wèn)層的視圖對(duì)象(ViewObject)是基于實(shí)體層的實(shí)體對(duì)象建立的,主要是進(jìn)行數(shù)據(jù)庫(kù)的訪問(wèn),而接口層是整個(gè)Business Service 層和Model層的接口,在數(shù)據(jù)訪問(wèn)層建立的視圖對(duì)象需要注冊(cè)到接口層中,這樣在Model層中才可以訪問(wèn)。 2)Model 層 該層包括兩部分(見(jiàn)圖1),分別是ADF Bindings和ADF DataControl,其中ADF Bindings是ADF提供的一種綁定技術(shù),ADF DataConrol 是指我們已經(jīng)在接口層中注冊(cè)的視圖對(duì)象(ViewObject)。這一層在實(shí)際開(kāi)發(fā)中基本不需要開(kāi)發(fā)者做太多的工作。 3)Controller 層 ADF 在Controller層中擴(kuò)展了APACHE基金會(huì)的STRUTS框架,它為Struts提供了一個(gè)頁(yè)面流轉(zhuǎn)圖,以簡(jiǎn)化應(yīng)用程序的開(kāi)發(fā)。開(kāi)發(fā)者可以簡(jiǎn)單地拖拽Struts的組件到這個(gè)圖表中,這個(gè)圖表會(huì)自動(dòng)地同步更新Struts-config.xml文件,其中我們最常用的是DataPage組件,該組件的作用主要是建立一個(gè)頁(yè)面,并且自動(dòng)為其建立一個(gè)DataForwardAction,如果我們有一些自定義的方法,也可以寫一個(gè)Action,然后覆蓋DataForwardAction。 4)View 層 在View層可以采用ORACLE 的UIX 技術(shù),它里面定義了大量功能強(qiáng)大的組件。Oracle Jdeveloper 在View 層提供了一個(gè)可視化的布局編輯器,開(kāi)發(fā)者可以使用組件面板向應(yīng)用程序添加可視化的組件,并可以運(yùn)用屬性編輯器(Property Inspector)來(lái)定義這些組件的屬性?梢暬木庉嬈魇呛驮创a同步的,所以開(kāi)發(fā)者可以選擇自己喜歡的開(kāi)發(fā)方式。 圖1 Oracle ADF 架構(gòu)圖 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |