WebSphere adapters 7.0 讓您更靈活的開發後設資料

CloudSpace發表於2010-06-26

轉自http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1006_chenggq_adapteremd/1006_chenggq_adapteremd.html

EMD(Enterprise MetaData Discovery) 企業後設資料發現簡介

Enterprise Metadata Discovery (EMD) 是定義後設資料發現和擴充套件 JCA(Java Connector Architecture) 資源介面卡功能的匯入模型的規範。這個模型為工具和執行時提供了 Enterprise Application Integration (EAI) 框架: 開發人員可以使用 EMD 工具來生成 EIS(Enterprise Information System)中定義的各類後設資料或函式,同時生成相應的介面檔案。利用 EMD,開發人員可以忽略 EIS 端的介面實現,利用友好的視覺化介面進行操作,極大提高了開發效率。
圖 1. EMD 體系結構
圖 1. EMD 體系結構


WebSphere Adapters 7.0 中 EMD 的新功能—迭代開發

簡介

迭代開發,從軟體開發角度來定義,就是增量式開發,我們可以理解為它是通過對核心開發活動的重複應用,包括了對問題,解決方案定義以及解決方案實現的連續的細化,因此,它是一個迭代的過程。 我們在 WebSphere Adapters 7.0 中將這種思想應用到了企業後設資料發現工具,即在後設資料發生更新的情況下,開發人員無需重現構建新模組來進行重複開發,只需在原有開發模組的基礎上通過迭代開發新功能即可實現已有模組的重用。 傳統的企業後設資料發現工具的使用流程如下所示:

  1. 新建開發模組,作為後設資料及介面檔案的載體;
  2. 利用企業後設資料開發工具進行開發;
  3. 企業資訊系統需要更改後設資料定義;
  4. 刪除原有開發模組
  5. 重複步驟 1 和 2 進行再次開發。

利用迭代開發新功能後,現在的使用流程如下所示:

  1. 新建開發模組,作為後設資料及介面檔案的載體;
  2. 利用企業後設資料開發工具進行開發;
  3. 企業資訊系統需要更改後設資料定義;
  4. 直接在原有開發模組上進行迭代開發;

設計概述

為了能夠在第一次開發模組的基礎上進行迭代開發,我們就必須儲存第一次開發階段的有效資訊,這些有效資訊即為企業後設資料開發工具的圖形化介面上各種不同型別的屬性,例如:簡單型別輸入框,樹結構型別,包裝屬性組等等。為了能夠結構化儲存這些不同型別屬性,迭代開發利用 XML 來儲存資訊,不同型別屬性定義各自的 XML 資料結構。以下分別是各種屬性的 XML 結構示意圖。
清單 1. 簡單屬性

				 
 
  
  SAMPLE 
  
           


清單 2. 多值屬性
				 
 
  
  Create 
  Update 
  Delete 
  Retrieve 
  RetrieveAll 
  ApplyChanges 
  Exists 
 


清單 3. 封裝組合屬性
				 
 
  
  
  
 ADDRESS 
 CUSTOMER 
     
  
 Create 
 Delete 
   
  
 


清單 4. 樹形屬性
				 
 
  
 -  
 -  
   false 
   true 
	。。。
 -  
	 false 
	 false 
 -  
 -  
	 pubs 
		  
 -  
		 localhost 
	  
 -  
	 1526 
	  
 -  
	 server 
	  
 -  
	 com.informix.jdbc.IfxDriver 
	  
 -  
    jdbc:informix-sqli://localhost:1526/pubs:INFORMIXSERVER=server 
     
     
     
 -  
   false 
   false 
 -  
 -  
	 pubs 
	  
 -  
	 localhost 
	  
 -  
	 1526 
	  
 -  
	 server 
	  
 -  
	 com.informix.jdbc.IfxDriver 
	  
 -  
	 jdbc:informix-sqli://localhost:1526/pubs:INFORMIXSERVER=server 
	  
	  
     
	  
 +  
	 false 
	 false 
 -  
 -  
	 jdbc: 
	  
	  
 -  
	 false 
    false 
 -  
 -  
	 jdbc: 
	  
     
     
     
     
	 


執行例項

在此我們給出一個模擬場景,客戶需要利用 WebSphere JDBC Adapter7.0 進行後設資料開發。開發人員 A 和 B 在兩地共同進行專案開發工作,A 首先完成 WebSphere Adapters 的開發工作,通過 EMD 開發工具完成後設資料的開發(其中包括後設資料 CUSTOMER)。此時 B 發現專案中需要在 CUSTOMER 新增一些新的欄位,同時新增一個新的後設資料 ADDRESS。以下分別詳述 A 和 B 的具體操作步驟。 開發人員 A 按照以下步驟進行開發:

  1. 進入 WebSphere Integration Develop 7.0,新建開發模組“IterativeEMDTesting”;
  2. 選擇“外部服務”External Service 開始後設資料開發。


圖 2. 外部服務選擇頁面
圖 2. 外部服務選擇頁面
進入 Adapter 選擇頁面,選擇 IBM WebSphere Adapter for JDBC 7.0。
圖 3.WebSphere JDBC Adapter 7.0 選擇頁面
圖 3.WebSphere JDBC Adapter 7.0 選擇頁面
進入連線資訊指定頁面,選擇相應資料庫並填入相關連線資訊 ( 系統號,主機名,埠號,使用者名稱,密碼等 )。
圖 4. 連線資訊頁面
圖 4. 連線資訊頁面
進入後設資料選擇頁面,選擇後設資料“Customer”和後續操作,完成第一次後設資料開發工作。
圖 5. 後設資料選擇頁面
圖 5. 後設資料選擇頁面
用開發檢視開啟當前工作空間,可以看到此時在開發模組下所有的檔案列表如下圖所示,其中的 *.importex 檔案即為迭代過程的資料資訊。
圖 6. 開發檢視檔案列表
圖 6. 開發檢視檔案列表
雙擊選擇後設資料檔案 SystemCustomer.xsd,此時的資料定義如下圖所示:
圖 7. 後設資料 Customer 定義一
圖 7. 後設資料 Customer 定義一
開發人員 A 開發完畢後,開發人員 B 發現原有資料庫中缺少一些後設資料的定義,需要給後設資料 Customer 新加一個欄位 NewField 以及新增一個新的後設資料 Address。開發人員 A 隨機將現有開發模組打包為專案交換檔案傳送給 B,開發人員 B 按照以下步驟在原有基礎上進行二次開發。

  1. 更新資料庫資訊,為表 Customer 新增新欄位;

    圖 8. 後設資料 Customer 資料表定義
    圖 8. 後設資料 Customer 資料表定義

  2. 建立後設資料表 Address;
  3. 將專案交換檔案匯入工作空間;
  4. 開啟業務整合檢視,右鍵開啟介面檔案,選擇“編輯繫結 -Edit Binding …”,開始二次迭代開發;

    圖 9. 編輯繫結選擇選單
    圖 9. 編輯繫結選擇選單

  5. 此時嚮導頁面自動讀取資料資訊檔案 *.importex 然後填充相應欄位,無需再次手工輸入連線資訊 ( 使用者名稱,密碼等 ),自動轉入下一頁面;

    圖 10. 迭代開發連線資訊頁面
    圖 10. 迭代開發連線資訊頁面

  6. 在後設資料選擇頁面,對 Customer 保持不變,選擇 Address,如下圖所示

    圖 11. 迭代開發後設資料選擇頁面
    圖 11. 迭代開發後設資料選擇頁面

  7. 後續頁面保持資訊不變,完成二次迭代開發,此時開啟開發檢視,我們可以發現原有開發模組中檔案列表中已經包括後設資料 Address;

    圖 12. 迭代開發檢視檔案列表
    圖 12. 迭代開發檢視檔案列表

  8. 雙擊開啟後設資料檔案 SystemCustomer.xsd,可以發現新欄位 NewField 已經正確加入。

    圖 13. 後設資料 Customer 定義二
    圖 13. 後設資料 Customer 定義二

至此,開發人員 B 完成二次迭代開發過程。


總結

本文通過一個模擬業務開發例項,詳細介紹瞭如何利用 WebSphere Adapters 7.0 中的迭代開發功能實現已有開發模組的二次開發。文中著重介紹了迭代開發功能的實現方式以及開發人員之間如何協同工作,提高業務開發效率。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-666344/,如需轉載,請註明出處,否則將追究法律責任。

相關文章