adf簡介
(1) 開發環境:大部分j2ee框架都沒有與之配套的開發工具,oracle為adf提供了jdeveloper開發工具,它和adf實現了完美的結合,方便了程式的開發。
(2) 平**立:adf能夠執行在任何符合j2ee標準的應用伺服器上。
(3) 技術選擇:對於應用程式的不同層,開發人員可以使用自己擅長的技術進行開發。
(4) 端到端的解決方案:adf不只關注應用程式的某一層,而是對應用程式的每一層,都提供了完整的解決方案。
oracle adf的架構
oracle adf的架構是基於mvc設計模式的,其架構如圖1所示。從圖1我們可以看出,adf把應用程式分成了四層,下面我們分別介紹:
1)business service 層
2)model 層
該層包括兩部分(見圖1),分別是adf bindings和adf datacontrol,其中adf bindings是adf提供的一種繫結技術,adf dataconrol 是指我們已經在介面層中註冊的檢視物件(viewobject)。這一層在實際開發中基本不需要開發者做太多的工作。
3)controller 層
adf 在controller層中擴充套件了apache**會的struts框架,它為struts提供了乙個頁面流轉圖,以簡化應用程式的開發。開發者可以簡單 地拖拽struts的元件到這個圖表中,這個圖表會自動地同步更新struts-config.xml檔案,其中我們最常用的是datapage元件,該 元件的作用主要是建立乙個頁面,並且自動為其建立乙個dataforwardaction,如果我們有一些自定義的方法,也可以寫乙個action,然後 覆蓋dataforwardaction。
4)view 層
在view層可以採用oracle 的uix 技術,它裡面定義了大量功能強大的元件。oracle jdeveloper 在view 層提供了乙個視覺化的布局編輯器,開發者可以使用元件面板向應用程式新增視覺化的元件,並可以運用屬性編輯器(property inspector)來定義這些元件的屬性。視覺化的編輯器是和原始碼同步的,所以開發者可以選擇自己喜歡的開發方式。
圖1 oracle adf 架構圖
adf應用開發過程
下面給大家簡單介紹一下adf具體的實現過程,開發工具我們選擇oracle的jdeveloper10g,因為在目前的各種開發工具 中,jdeveloper是對adf這個框架支援最好的工具,它內部直接整合了adf開發時所需要的各種工具,給開發帶來很大的方便。我們以《某合同管理 系統中的裝置招投標》模組為例。
圖2 workspace testproject建立時的情況
圖3 entityobject 嚮導第一步
第二步:建完持久層的實體物件後,我們就需要建立資料訪問層的檢視物件(viewobject)。右鍵單擊model,新建選擇viewobject出 現圖4,左邊是供我們選擇已經存在的持久層的實體物件(entityobject),這裡面我們選擇剛建好的cdtequipmenteo這個實體物件。
圖4 viewobject嚮導第二步
第四步:按照adf架構,model層我們基本不需要作什麼工作,那麼我們下面開始建立controller層,首先需要建立datapage,可以是 uix格式的也可以是jsp,這裡我們用uix格式。在struts-config.xml中,從右側的component中,可以直接選擇 datapage,拖拽過來,listequipment是我們給定的名字。
圖6 struts_config.xml截面圖
第五步:建完controller層,需要建立展現層(view),在listequipment.uix頁面中設定頁面布局,可以對 datacontrol中的view進行拖拽,如圖7所示,我們選擇data control 面板中的cdtequipmentview1,這就是我們剛才建立的view,下面的拖拽型別選擇唯讀表就可以了。
圖7 listequipment.xml截面圖
第六步:我們單擊listequipment.uix這個檔案,選擇執行(圖8示),就可以直接得出所有裝置的資料了,執行的效果如圖9所示。
圖8 struts_config.xml截面圖
圖9 執行效果
結論
在jdeveloper10g中結合adf框架,使開發人員能夠從零開始構建j2ee應用程式和web服務。因為oracle adf的高度結合性,以及它裡面提供的優秀技術,使得開發應用變得十分簡單方便,從而大大提高了應用程式的開發效率,具有很高的應用價值。
基於python tkinter的點名小程式
讀取花名冊第一列資料進行隨機點名並生成點名記錄,並根據點名記錄確保點名的公平性,點名記錄每使用五天清理一次缺陷 1.依賴於花名冊,且花名冊第一列 忽略首行 必須有資料 2.依賴第三方庫openpyxl 3.檢視記錄 花名冊依賴第三方工具,如記事本 office def info t random.r...
協程函式應用
1.套模板 def init func res func args,kwargs next res return res def init func res func args,kwargs next res return res init eater init eater def eater na...
基於Cassandra搭建簡單Blog程式後台
blog程式的需求如下 針對上面的4點需求,我們可以相應地建立4個columnfamily 以後用cf簡寫 來儲存資料。authors and the other authors author 2 author cf屬於standard型別,key為使用者的id,每乙個col代表了使用者的乙個屬性。...