一、ADF概述
1.簡介
Oracle Application Development Framework(Oracle ADF)是一個建構在Java EE标準和開源技術上的端到端的應用程式架構。你可以通過Oracle ADF在Web、wireless,desktop或者Webservice接口實作查詢,建立,修改,驗證等企業解決方案。由于ADF是聲明式開發,是以簡化和加速了開發流程。使用者可以專注于邏輯應用的建立而不是編碼的細節。
2.Oracle ADF架構
ADF實際上也是一個MVC架構,以下是Oracle架構的模型圖
- View層是使用者能夠看到并且能與之互動的頁面
- Controller層處理使用者輸入并且決定頁面導航
- Model層将資料關聯到目前頁面
- Business Service處理資料通路和業務邏輯封裝
2.1 ADF Business Component
在建構面向服務的的Java EE應用時,你将實作一個或多個業務服務的核心業務邏輯。這些後端服務,為客戶提供一種方式來查詢,插入更新和删除業務資料。ADF業務元件是預先建立的應用對象,以加速傳遞和維護高性能,豐富的功能,以資料庫為中心的服務工作。他們為您提供了一個現成的使用實作了Java EE設計模式和最佳實踐。
Oracle ADF提供以下主要元件,來建構以資料庫為中心的業務服務:
- Entity Object(實體對象)
Entity Object 代表一個資料庫表中的行,并簡化其資料的DML操作。它可以封裝業務邏輯,以確定您的業務規則順利執行。
- View Object(視圖對象)
View Object 代表一個SQL查詢的結果集。你可以使用SQL進行關聯,過濾,聚合等操作,最終将結果展現給使用者。當最終使用者在界面修改資料時,View Object能夠關聯Entity Object始終如一的保留使用者修改狀态,并且實作驗證,最終将結果同步到資料庫。
- Application Module(應用程式子產品)
Application Module是UI用戶端與應用資料工作的事務性元件,定義了可更新的資料模型和頂層方法。
2.2 ADF Model Layer
使用中繼資料接口抽象業務服務的實作技術來描述服務的操作和資料集,在建立應用程式子產品時自動建立,包含應用程式子產品的所有功能。使用Data Control建立資料綁定的使用者界面。除了支援應用程式子產品,還支援一下技術提供服務:
- Enterprise JavaBeans(EJB)session beans和JPA entities
- JavaBeans
- Web services
- XML
- CVS files
2.3 ADF Controller
ADF控制器是處理Web應用頁面流的關鍵之處,ADF控制器在JSF控制器的基礎上增強了導航和狀态管理。Jdeveloper允許使用者使用聲明式的方式建立任務流,在這裡你可以控制頁面流之間的活動或者調用其他任務流。
這些任務流可以重複使用,可以嵌套使用。使用者可以檢視不同頁面的功能而無需跳轉到其他URL所指向的頁面(類似Ajax功能,無需編碼,隻需聲明式定義頁面流即可)。
2.4 ADF Faces Rich Client
ADF Faces rich client(ADF Faces的簡稱),一個建立在标準JSF元件上的元件集合,内置了AJax功能。結合Jdeveloper使用,可以通過拖動的方式來建構使用者界面。ADF Faces提供了超過100種元件,包括分層資料表,樹形菜單,頁面對話框,排序表。還有大量的資料可視化元件,如動态圖示,資料透視表,友善使用者定制各種報表。每個元件還支援自定義皮膚,以滿足不同使用者的需求。
ADF Faces對國際化的支援也非常容易。
同時,ADF Faces也提供了豐富的JavaScript API供使用者使用,盡管大多數情況下,我們并不需要自行編寫Javascript代碼。如果覺得元件不夠使用,我們還可以自定義元件。
原文自:http://docs.oracle.com/cd/E23943_01/web.1111/b31974/intro.htm#BABHEJGB