成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

基于Oracle ADF的應(yīng)用程序開發(fā)過程

2010-08-28 10:50:01來源:西部e網(wǎng)作者:

ADF簡(jiǎn)介

ADF(Application Development Framework)是Oracle公司為簡(jiǎn)化J2EE程序開發(fā)的復(fù)雜性專門開發(fā)的一種解決方案,ADF通過減少實(shí)現(xiàn)設(shè)計(jì)模式和應(yīng)用程序框架的代碼量,簡(jiǎn)化了J2EE的研發(fā)難度。其優(yōu)點(diǎn)主要體現(xiàn)在以下四個(gè)方面:

(1) 開發(fā)環(huán)境:大部分J2EE框架都沒有與之配套的開發(fā)工具,ORACLE為ADF提供了JDEVELOPER開發(fā)工具,它和ADF實(shí)現(xiàn)了完美的結(jié)合,方便了程序的開發(fā)。

(2) 平臺(tái)獨(dú)立:ADF能夠運(yùn)行在任何符合J2EE標(biāo)準(zhǔn)的應(yīng)用服務(wù)器上。

(3) 技術(shù)選擇:對(duì)于應(yīng)用程序的不同層,開發(fā)人員可以使用自己擅長(zhǎng)的技術(shù)進(jìn)行開發(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è)小層(見圖1),分別是持久層(Persistent Business Objects),數(shù)據(jù)訪問層(Data Access)和接口層(ADF Application Module)。這三層建立的順序是這樣的,先建立持久層的實(shí)體對(duì)象(Entity Object),然后建立數(shù)據(jù)訪問層的視圖對(duì)象(ViewObject),最后建立接口層。其中建立持久層的實(shí)體對(duì)象主要是和數(shù)據(jù)庫(kù)的表或者同義詞對(duì)象建立關(guān)聯(lián),數(shù)據(jù)訪問層的視圖對(duì)象(ViewObject)是基于實(shí)體層的實(shí)體對(duì)象建立的,主要是進(jìn)行數(shù)據(jù)庫(kù)的訪問,而接口層是整個(gè)Business Service 層和Model層的接口,在數(shù)據(jù)訪問層建立的視圖對(duì)象需要注冊(cè)到接口層中,這樣在Model層中才可以訪問。

2)Model 層

該層包括兩部分(見圖1),分別是ADF Bindings和ADF DataControl,其中ADF Bindings是ADF提供的一種綁定技術(shù),ADF DataConrol 是指我們已經(jīng)在接口層中注冊(cè)的視圖對(duì)象(ViewObject)。這一層在實(shí)際開發(fā)中基本不需要開發(fā)者做太多的工作。

3)Controller 層

ADF 在Controller層中擴(kuò)展了APACHE基金會(huì)的STRUTS框架,它為Struts提供了一個(gè)頁(yè)面流轉(zhuǎn)圖,以簡(jiǎn)化應(yīng)用程序的開發(fā)。開發(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è)可視化的布局編輯器,開發(fā)者可以使用組件面板向應(yīng)用程序添加可視化的組件,并可以運(yùn)用屬性編輯器(Property Inspector)來定義這些組件的屬性。可視化的編輯器是和源碼同步的,所以開發(fā)者可以選擇自己喜歡的開發(fā)方式。

圖1 Oracle ADF 架構(gòu)圖

ADF應(yīng)用開發(fā)過程

下面給大家簡(jiǎn)單介紹一下ADF具體的實(shí)現(xiàn)過程,開發(fā)工具我們選擇Oracle的Jdeveloper10g,因?yàn)樵谀壳暗母鞣N開發(fā)工具中,Jdeveloper是對(duì)ADF這個(gè)框架支持最好的工具,它內(nèi)部直接集成了ADF開發(fā)時(shí)所需要的各種工具,給開發(fā)帶來很大的方便。我們以《某合同管理系統(tǒng)中的設(shè)備招投標(biāo)》模塊為例。

第一步:在Jdeveloper中,創(chuàng)建一個(gè)工作區(qū),工作區(qū)的名字取為TestProject,在應(yīng)用程序模板一項(xiàng)中,選擇WEB APPLICATION(DEFAULT),確認(rèn)后的工作區(qū)如圖2所示,按照我們上面講述的ADF的架構(gòu),我們先建立Business Service層的持久層對(duì)象,在Model這個(gè)工程上邊,右鍵單擊新建,然后選擇Business Tier 下的Business Component ,選擇EntityObject,然后出現(xiàn)圖3;schema Object是讓我們選擇數(shù)據(jù)庫(kù)中的表或者同義詞等對(duì)象,name 是我們建立的持久層對(duì)象的名字,這里我們把name命名為CdtEquipmentEO,package指定這個(gè)對(duì)象放在什么包下面。

圖2 workspace TestProject建立時(shí)的情況

圖3 EntityObject 向?qū)У谝徊?/CENTER>
 

第二步:建完持久層的實(shí)體對(duì)象后,我們就需要建立數(shù)據(jù)訪問層的視圖對(duì)象(ViewObject)。右鍵單擊Model,新建選擇ViewObject出現(xiàn)圖4,左邊是供我們選擇已經(jīng)存在的持久層的實(shí)體對(duì)象(EntityObject),這里面我們選擇剛建好的CdtEquipmentEO這個(gè)實(shí)體對(duì)象。

圖4 ViewObject向?qū)У诙?/CENTER>

第三步:需要建立接口層(ApplicationModule),將數(shù)據(jù)訪問層的視圖對(duì)象(ViewObject)注冊(cè)到ApplicationModule中,如圖5所示,我們選擇CdtEquipmentView1這個(gè)視圖對(duì)象,并把它添加到AppModul1中。

圖5 ApplicationModule 建立向?qū)?/CENTER>

第四步:按照ADF架構(gòu),Model層我們基本不需要作什么工作,那么我們下面開始建立Controller層,首先需要建立DataPage,可以是UIX格式的也可以是JSP,這里我們用UIX格式。在Struts-config.xml中,從右側(cè)的component中,可以直接選擇DataPage,拖拽過來,listEquipment是我們給定的名字。

圖6 Struts_config.xml截面圖

第五步:建完Controller層,需要建立展現(xiàn)層(View),在listEquipment.uix頁(yè)面中設(shè)置頁(yè)面布局,可以對(duì)DataControl中的View進(jìn)行拖拽,如圖7所示,我們選擇Data Control 面板中的CdtEquipmentView1,這就是我們剛才建立的View,下面的拖拽類型選擇只讀表就可以了。



圖7 listEquipment.xml截面圖

第六步:我們單擊listEquipment.uix這個(gè)文件,選擇運(yùn)行(圖8示),就可以直接得出所有設(shè)備的數(shù)據(jù)了,運(yùn)行的效果如圖9所示。

圖8 struts_config.xml截面圖

圖9 運(yùn)行效果圖

結(jié)論

在Jdeveloper10g中結(jié)合ADF框架,使開發(fā)人員能夠從零開始構(gòu)建J2EE應(yīng)用程序和WEB服務(wù)。因?yàn)镺racle ADF的高度結(jié)合性,以及它里面提供的優(yōu)秀技術(shù),使得開發(fā)應(yīng)用變得十分簡(jiǎn)單方便,從而大大提高了應(yīng)用程序的開發(fā)效率,具有很高的應(yīng)用價(jià)值。

關(guān)鍵詞:OracleADF
主站蜘蛛池模板: 营口市| 禹城市| 横峰县| 富川| 林西县| 龙陵县| 璧山县| 钦州市| 长泰县| 明星| 宣威市| 双鸭山市| 嘉祥县| 巢湖市| 兴山县| 汕头市| 教育| 扎兰屯市| 霍邱县| 北票市| 洛宁县| 云龙县| 达尔| 米泉市| 新昌县| 沈丘县| 定陶县| 中宁县| 三明市| 四川省| 体育| 茂名市| 东至县| 永昌县| 金溪县| 东至县| 鄂温| 玉屏| 深圳市| 酉阳| 新乐市|