摘要:介紹了ADF的特點和結構
描述了使用ADF開發J
EE應用程序的過程
關鍵詞:ADF ORACLE JEE MVC
ADF簡介
ADF(Application Development Framework)是Oracle公司為簡化JEE程序開發的復雜性專門開發的一種解決方案ADF通過減少實現設計模式和應用程序框架的代碼量簡化了JEE的研發難度其優點主要體現在以下四個方面:
() 開發環境:大部分JEE框架都沒有與之配套的開發工具ORACLE為ADF提供了JDEVELOPER開發工具它和ADF實現了完美的結合方便了程序的開發
() 平台獨立:ADF能夠運行在任何符合JEE標准的應用服務器上
() 技術選擇:對於應用程序的不同層開發人員可以使用自己擅長的技術進行開發
() 端到端的解決方案:ADF不只關注應用程序的某一層而是對應用程序的每一層都提供了完整的解決方案
Oracle ADF的架構
Oracle ADF的架構是基於MVC設計模式的其架構如圖所示從圖我們可以看出ADF把應用程序分成了四層下面我們分別介紹:
)Business Service 層
Business Service 層包括三個小層(見圖)分別是持久層(Persistent Business Objects)數據訪問層(Data Access)和接口層(ADF Application Module)這三層建立的順序是這樣的先建立持久層的實體對象(Entity Object)然後建立數據訪問層的視圖對象(ViewObject)最後建立接口層其中建立持久層的實體對象主要是和數據庫的表或者同義詞對象建立關聯數據訪問層的視圖對象(ViewObject)是基於實體層的實體對象建立的主要是進行數據庫的訪問而接口層是整個Business Service 層和Model層的接口在數據訪問層建立的視圖對象需要注冊到接口層中這樣在Model層中才可以訪問
)Model 層
該層包括兩部分(見圖)分別是ADF Bindings和ADF DataControl其中ADF Bindings是ADF提供的一種綁定技術ADF DataConrol 是指我們已經在接口層中注冊的視圖對象(ViewObject)這一層在實際開發中基本不需要開發者做太多的工作
)Controller 層
ADF 在Controller層中擴展了APACHE基金會的STRUTS框架它為Struts提供了一個頁面流轉圖以簡化應用程序的開發開發者可以簡單地拖拽Struts的組件到這個圖表中這個圖表會自動地同步更新Strutsconfigxml文件其中我們最常用的是DataPage組件該組件的作用主要是建立一個頁面並且自動為其建立一個DataForwardAction如果我們有一些自定義的方法也可以寫一個Action然後覆蓋DataForwardAction
)View 層
在View層可以采用ORACLE 的UIX 技術它裡面定義了大量功能強大的組件Oracle Jdeveloper 在View 層提供了一個可視化的布局編輯器開發者可以使用組件面板向應用程序添加可視化的組件並可以運用屬性編輯器(Property Inspector)來定義這些組件的屬性可視化的編輯器是和源碼同步的所以開發者可以選擇自己喜歡的開發方式
圖 Oracle ADF 架構圖
ADF應用開發過程
下面給大家簡單介紹一下ADF具體的實現過程開發工具我們選擇Oracle的Jdeveloperg因為在目前的各種開發工具中Jdeveloper是對ADF這個框架支持最好的工具它內部直接集成了ADF開發時所需要的各種工具給開發帶來很大的方便我們以《某合同管理系統中的設備招投標》模塊為例
第一步:在Jdeveloper中創建一個工作區工作區的名字取為TestProject在應用程序模板一項中選擇WEB APPLICATION(DEFAULT)確認後的工作區如圖所示按照我們上面講述的ADF的架構我們先建立Business Service層的持久層對象在Model這個工程上邊右鍵單擊新建然後選擇Business Tier 下的Business Component 選擇EntityObject然後出現圖;schema Object是讓我們選擇數據庫中的表或者同義詞等對象name 是我們建立的持久層對象的名字這裡我們把name命名為CdtEquipmentEOpackage指定這個對象放在什麼包下面
圖 workspace TestProject建立時的情況
圖 EntityObject 向導第一步
第二步:建完持久層的實體對象後我們就需要建立數據訪問層的視圖對象(ViewObject)右鍵單擊Model新建選擇ViewObject出現圖左邊是供我們選擇已經存在的持久層的實體對象(EntityObject)這裡面我們選擇剛建好的CdtEquipmentEO這個實體對象
圖 ViewObject向導第二步
第三步:需要建立接口層(ApplicationModule)將數據訪問層的視圖對象(ViewObject)注冊到ApplicationModule中如圖所示我們選擇CdtEquipmentView這個視圖對象並把它添加到AppModul中
圖 ApplicationModule 建立向導
第四步:按照ADF架構Model層我們基本不需要作什麼工作那麼我們下面開始建立Controller層首先需要建立DataPage可以是UIX格式的也可以是JSP這裡我們用UIX格式在Strutsconfigxml中從右側的component中可以直接選擇DataPage拖拽過來listEquipment是我們給定的名字
圖 Struts_configxml截面圖
第五步:建完Controller層需要建立展現層(View)在listEquipmentuix頁面中設置頁面布局可以對DataControl中的View進行拖拽如圖所示我們選擇Data Control 面板中的CdtEquipmentView這就是我們剛才建立的View下面的拖拽類型選擇只讀表就可以了
圖 listEquipmentxml截面圖
第六步:我們單擊listEquipmentuix這個文件選擇運行(圖示)就可以直接得出所有設備的數據了運行的效果如圖所示
圖 struts_configxml截面圖
圖 運行效果圖
結論
在Jdeveloperg中結合ADF框架使開發人員能夠從零開始構建JEE應用程序和WEB服務因為Oracle ADF的高度結合性以及它裡面提供的優秀技術使得開發應用變得十分簡單方便從而大大提高了應用程序的開發效率具有很高的應用價值
From:http://tw.wingwit.com/Article/program/Oracle/201311/17936.html