第五章-Oracle ADF Component導覽

經過前四章的說明,相信對於 Oracle JDeveloper 有了基本的認識,在本章會先針對 Oracle 所開發的 J2EE Framework:ADF,ADF的全名為:Application Development Framework,而 ADF 本身就是一個符合 J2EE 的相關 patterm 的一個 Framework,而其中的一部份 ADF BC(ADF Business Component)本身會用於在建立 Business Services,以下圖來形容 ADF Component。

PS:本圖來自 Oracle JDeveloper 10g Hankbook。

  在上圖中,是整個 ADF 整個概觀,其中在整個 Model 部分是包括 ADF Binding和 ADF Data Control 可以去操控 Business Services,其中 Business Services 包括 EJB Session Beans、Web Services、ADF BC、Java Classes 等等,都可以透過ADF Model Layer 來存取,在 Controller 部分,如果在 View 端是 Web Client,則整個 Controller 的角色則是【Struts】來扮演,如果 View 端是 Java Client,則是和 Swing 結合 Controller,亦即 Swing 的事件註冊 Model,另外值得一提的是,在 Web Client 中,則是有 Oracle 所提供的 ADF UIX,即是 Oracle 所提供的一堆 User Interface 的 Tag Library,將都會在後面一一介紹。

  本身 ADF 就是一個符合 MVC 架構,所以當你用 Oracle ADF 開發出來的 Application,就是一個標準的 MVC Application,而其中 ADF BC 就是在建立 Business Services,而其中包括資料擷取、交易控管(Transaction handling)、基本的 Validation等等,都可以在 ADF BC裡面進行使用,可以將你的 Business Logic 加入到 ADF BC內,再將相關的架構加上 User Interface,即可已完成一個 Application。

ADF BC Component 其中包括 Entity Object、Association、View Object、View Link、Application Module 等等,以下會介紹兩種方式來建立 ADF BC:

1. 透過 Business Components from Tables 的 Wizard。

2. 利用 UML Diagram(Business Components Diagram)以及 Database Connection來建立 ADF BC 的相關 UML 圖和相關的實體 Java Class 和 XML File。

在此,我們將 ADF BC 用一個簡圖來說明,把上述的相關說明,整理成下面的相關簡圖,Entity Object可以代表一個實體的 Table、View等等,而其中當兩個Entity Object(也就是兩個 Table有相關的 Relationship)有相關時,也就是我們所說的 Association,代表兩個 Entity Object 的關係,ADF BC 會產生相關的View Object,而每一個 View Object 則是代表一段 SQL,則是下一段SQL去查詢相關 Entity Object 的資料,繼而 Association 則會變成 View Link,代表兩個View Object 的關係,通常代表是一個 Master_Detail 的關係,最後利用我們利用 Application Module來將整個 View object 包起來,可以提供前端的程式一些不同的 View,可以看到不同範圍的資料,將會在後面一一說明。


以下將為大家示範一下,並會一一先行解釋相關的 Components。

先行 New 一個新的 Application Workspace。


輸入相關欄位。

將已經產生的 Workspace 先行存檔,按下存檔。


可以在 Model 的 Project 下,按下右鍵,選擇 New 一個新的 Component 。


我們先從 Business Components from Tables 這個方式來建立,選擇 Business Components 下的 Business Components from Tables 的這個 Wizard。


會先需要先行建立 Connection,請參閱 CH3,在此選 HR_HOME,按下確定。


輸入 HR 的密碼,並按下確定。

以下會出現 Create Business Components From Tables 的 Wizard 的歡迎畫面。


首先會需要建立 ADF BC 的 Entity Object 的相關設定,首先你可以針對 Package部分進行修改,我改成 aow.model.businessdomain,選擇我需要使用的Table,我選擇了 Departments 和 Employees 這兩個 Table 並移至到另一邊。


如下圖的使用,你所選的 Table 將會被建立成 Entity Object,所以你可以動態的決定你未來的 Entity Object 的名稱為何,可以輸入在 Entity Name。


在此,則是建立 View Object 的設定,可以將其中的 Package分開,我目前是設定 aow.model.datamodel,那可以和 Entity Object 部分分開。


將兩個 Entity Object 部分選至右邊,則是建立兩個 View Object。


緊接著,必須來建立 Application Module,來將相關的 ADF BC 包成一包K,在此使用 Default 的名稱。


此時,會將 Wizard 所會 Create 的 Business Component List 如下:


當你已經開始在建立ADF BC時,會開始建立會產生的Java Class和XML File。


經過 Create Business Component Wizard 的建立,你會看到以下這些的相關的 Component 建立,將會在本章最後面一一來解釋。


因為我們已經 Create 好一個兩個 Table 的 ADF BC的 Project,為了使更加的完整,我們可以加入一個 UML Diagram,以下將是如何操作的步驟。

你可以在 Entity Object 中的 Package 處,按下右鍵,並選擇 New。


選擇 Business Component Diagram 的選項。


在 Create Diagram 中輸入 Business Domain Diagram,並按下確定。


如下圖,你可以看到 Business Domain Diagram 的建立。


將 Entity Package中的 Entity Object 和 Association等等都經過全選,並且拉取到右邊的 UML Diagram 的編輯區。


如下圖的顯示,你可以看到兩個 Table 的 Relationship,可以幫助你瞭解 Table 之間的關係,並且有 UML 圖。


如上述方式,對於View Object的部分,建立一個 Business Component Diagram。


依 Wizard 步驟繼續做。


輸入 Data Model Diagram。


一樣將View Object相關部分拉到剛剛Create好的Business Component Diagram。


其中你可以使用縮小或放大鈕將 Diagram 放大到最適當。


如下圖,經過縮小。


如上面所做,我們建立一個 ADF BC,裡面包括兩個 Table,和相關的關連性,我們建立了 Entity Object、Association、View Object、View Link和Application Module,還有兩個 Business Component Diagram,包括 Business Domain Diagram和 Data Model Diagram,藉由此我們將可以建立有關 ADF BC 的 UML Diagram,我們將會在後面一一使用這兩個 Diagram。

以下我將示範另一種建立 ADF BC 的作法,從 Business Component Diagram來建立 ADF BC 的相關 Component。

我們在重新建立一個 Workspace,請按下右鍵建立。


輸入 Application Name和Application Package Prefix。


以下可以看到已經建立一個 Workspace,請先按下存檔。


緊接者,我們可以針對 Model 來 New 一個新的 Component。


我們直接先行 New 一個新的 Business Component Diagram,可已從 Diagram 的分類中挑到 Business Components Diagram。


出現 Business Component Diagram 的設定表格,名稱:Business Domain Diagram,Package:aow1.model.businessdomain,按下 OK。


可以看到下圖中,已經建立好一個 business Domain Diagram 的 UML 圖。


緊接者,我們切換到 Connection,並展開 HR 的相關 Table。


將你所需要的 Table,選取好後,並且拖曳到 Business Domain Diagram。


當已經拖曳時,會出現 Create From Table 的確認方塊,在此你可已按下確定。


你可已看到剛剛的兩個 Table,已經 Create 一個 UML 圖,和建立 Entity Object,以及 Association。


如上圖,已經成功建立 Business Domain Compoment,接下來,我們要來建立 Business Data Model,裡面包括 View Object、View Link和Application Module。

如下圖,針對 Model Project New 一個新的 Project。


再建立一個 UML Diagram。


在 UML Diagram 的對話方塊中,輸入名子為 Data Model Diagram,而 Package名子則取為 aow1,model.datamodel。


如下圖,已經 Create 好一個新的 UML Diagram。


在上一個 UML Diagram 圖:Business Domain Diagram 中的空白處,按下右鍵,並選擇 Default Data Model Component for Diagram中的 Generate。


出現 Wizard 的 Default 畫面,在此可以按下一步。


將 Package Name改成 aow1.model.datamodel,確定buainessdomain的都有選到右邊,應該 Default 會全選,在此可已按下下一步。


此部分會進行 Application Module 的設定,在此我們可以 Default,請繼續按下一步。


會將前面所選取的,進行 Create 前的 Summary,無誤後,請按完成。


如下圖,Oracle JDeveloper 已經 Create 好 View Object、View Link和 Application Module,你可已開始準備拖曳相關 Component 到 Data Model Diagram 的圖中。


將剛剛所建立的全選後,拖曳到 Data Model Diagram 中。


如下圖,以經成功建立 Data Model Diagram 了。


以下是此範例所建立的。


緊接著,我們可以將剛剛所產生的 ADF BC,利用 Business Component Browser來觀看我們剛剛所建的 Component,看看會不會是正確的。

可以選擇在 AppModule 按下右鍵,並選擇 Test。


可以直接選擇 Connect,來 Connect DB的 Connection。


可以看到 Oracle Business Component Browser 開啟,緊接著,可以來確定我們剛剛所建立的 ADF BC 對不對。


你可以點選 DepartmentView1,這是代表 Department 這個 Table的一個 View,所以你可以點選下一步的圖示,來瀏覽每一筆 Department Table。


如下圖所示,可以點選瀏覽列,來瀏覽前後資料。


可以點選 EmpDeptFkLink,這是一個 View Link,代表是一個 Master-Detail的關係,所以你可以看到以下的關係。


以下是單獨的 EmployeeView1,也就是一個 Employee 的 Table,所以你可以針對你的需求,提供不同的 View,給予你前端的 Application。


本章是探討ADF BC的整個架構,有助於了解整個概觀的ADF BC,所以會於下一章開始,來介紹Entity Object,請期待吧。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值