利用ODI實現SOA中業務流和資料流的松耦合
企業在實施SOA的過程中,不可避免的會遇到商務程序層面的整合和資料的整合,很多時候大家都以為企業服務匯流排(ESB)可以勝任所有的工作,既可以支援商務程序的編排,也可以拿來實現異構系統的資料交換,從理論上講,這是沒有錯誤的,但不是特別適合中國的國情,因為一旦系統間互動的資料量比較大,用ESB的效率會比較低,這是SOA協議所沒有辦法避免的問題。前一段時間大家都在講雙匯流排架構,既在SOA的實施過程中,將服務匯流排和資料匯流排分開,服務匯流排只負責服務的編排,資料匯流排負責資料層的資料整合。從具體技術實現上講,服務匯流排利用SOA中的ESB即可,資料匯流排一般採用傳統的ETL工具、資料聯邦工具等。Oracle ODI可以和oracle ESB配合,組成一個完美的資料交換平台。其具體的實現原理為:
1. 在ODI的設計器中將相關資料整合設計成package或者interface,待調試沒有錯誤後,直接編譯成scenario。
2. 將ODI的odiinvoke webservice部署到一個應用伺服器的web service容器中。
3. 服務使用者直接調用應用伺服器上的odiinvoke webservice,傳入相關的參數即可實現調用。
4. 在設計開發時,我麼可以將odiinvoke註冊到ESB上,這樣通過企業服務匯流排也可以實現資料服務的調用。
具體的安裝步驟為:
1. 在Apache官方網站上下載Apache Tomcat 5.5軟體(http://tomcat.apache.org) apache-tomcat-5.5.26.zip
2. 解壓apache-tomcat-5.5.26.zip到您要安裝的目錄,如:d:/tomcat5.5
3. 在Apache官方網站上下載Axis2 (axis2-1.4-war.zip)
4. 把axis2-1.4-war.zip中的axis2.war解壓到Apache Tomcat5.5的webapps目錄下
5. 啟動Apache Tomcat 5.5,進入Axis2管理頁面,http://localhost:8888/axis2/axis2-admin/,使用者名稱:admin,密碼:axis2
6. 選擇左邊的Tools下的Upload Service連結,進入上傳Axis Service Archive File頁面,點擊瀏覽,如
7. 彈出選擇上傳檔案對話方塊,選擇<ODI_HOME>/oracledi/tools/web_services/odi-public-ws.aar,點擊Upload按鈕,部署ODI Web Service Invoke完畢。
8. 開啟網頁:http://ip:port/axis2/services/listServices,可以看到我們部署好的OdiInvoke web服務。
9. 查看OdiInvoke的wsdl檔案:http://ip:port/axis2/services/OdiInvoke?wsdl
本文轉自:http://space.itpub.net/16312004/viewspace-604125