WBM 和 WID 6.1.2 之間的模型同步
轉自 http://www.ibm.com/developerworks/cn/webservices/ws-wbmtowid/index.html
WBM 提供將業務模型轉換為業務流程的功能。業務分析師可以匯出將要匯入 WID 中的業務流程,以便整合開發人員能夠處理業務流程。在以前的版本中,如果業務分析師在 WBM 中持續開發業務模型並決定匯出一個新版本,那麼整合開發人員無法方便地將新工件與以前的工件關聯在一起,或者將更改合併到應用程式中。
從 6.1 版開始,可以在 WBM 中進行持續更改並匯出模型的新版本,新版本然後可以與 WID 中的現有業務流程專案合併。另外,整合開發人員可以將 WID 中的更改報告給業務分析師。反過來,業務分析師可以分析更改並手動選擇更新業務模型,使其與業務流程同步。
在本文中,我們將通過示例向您展示如何進行這種閉合迴圈開發(如圖 1 所示)。
圖 1 展示本文使用的場景的步驟,這些步驟總結如下:
- 建立 WBM 模型:在這個步驟中,業務分析師根據需求在 WBM 中為流程建模。
- 匯出 WID 模型:業務分析師將模型匯出到 WID 專案交換檔案中。
- 將 PI 匯入 WID:整合開發人員將專案交換檔案匯入 WID。
- 匯出更改報告:在 WID 模組中進行修改後,整合開發人員匯出更改報告。
- 在 WBM 中分析更改:業務分析師分析更改並手動更新業務流程模型。
- 在更改 WBM 後匯出 WID 模組:如果業務分析師想對模型進行其他修改,那麼他可以匯出 WID 模組並將其交給整合開發人員。
- 同步更改:整合開發人員在當前 WID 模組和從 WBM 匯入的 PI 之間同步更改。這個過程是自動完成的。這種能力允許整合開發人員修改從模型匯出的流程,而不會在匯出一個新流程時丟失那些更改。
建立 WebSphere Business Modeler 模型
這個小節將在 WBM 中建立一個簡單的模型,這個模型包含一個簡單的任務。然後,這個模型將作為一個專案交換檔案匯出,以便匯入 WID。
- 建立一個模型(如圖 2 所示),該模型只包含一個任務,該任務擁有一個業務物件 BO1 作為輸入和輸出。
圖 2. WBM 模型
- 業務物件 BO1 只有一個屬性 Name,其型別為 Text,如圖 3 所示。
圖 3. 業務物件
- 右鍵單擊建立的模型並選擇 Export...。
圖 4. 匯出選項
- 將模型作為 WebSphere Integration Developer 匯出到 WID。
圖 5. WebSphere Integration Developer 匯出嚮導
- 選擇 Module + Library 選項並單擊 Finish。
圖 6. WebSphere Integration Developer 匯出嚮導細節
- 一個專案交換檔案(zip 檔案)將被建立,並準備被匯入到 WID。
將 PI 匯入 WebSphere Integration Developer
在這個小節中,從 WBM 匯出的專案交換檔案將被匯入 WID。
- 將專案交換檔案匯入 WID。生成的裝配圖如圖 7 所示。業務流程 Process1 有一個對 Task(一個沒有實現的 SCA 元件)的引用,它還連結到 Process1(一個沒有繫結的匯出)。
圖 7. 裝配圖
- 生成的業務流程 Process1 如圖 8 所示。
圖 8. 業務流程
本小節將對 WID 模組進行一些簡單的修改,這些修改將發生在業務物件 BO1、SCA 元件 Task 的介面和業務流程 Process1 中。
- 業務物件 BO1 擁有 Name 屬性。
圖 9. 業務物件 BO1
- 向業務物件 BO1 新增型別為 string 的屬性 Address。
圖 10. 修改後的業務物件
- 修改 SCA 元件 Task 的 WSDL,圖 11 顯示由 WBM 建立的 WSDL。
圖 11. 任務介面
- 新增一個新方法 operation1,該方法擁有型別均為字串的輸入 input1 和輸出 output1。
圖 12. 修改後的任務介面
- 將一個新的人工任務 Process1Task1 —— 在 Task 呼叫之後 —— 插入業務流程 Process1 中,如圖 13 所示。
圖 13. 修改後的業務流程
本小節通過匯出更改報告展示同步 WID 模組和 WBM 模型所需的步驟。
- 完成上述更改後,通過在專案級別上選擇 Synchronize with Modeler Export 與 WBM 模型同步,如圖 14 所示。
圖 14. 與建模器同步
- 瀏覽到從 WBM 匯出的專案交換檔案,與當前版本的 WID 模組相比較。
- 單擊 Synchronize。
圖 15. 更改前和更改後
- 同步視窗顯示在 WID 模組中進行的更改。單擊 Commit。
圖 16. 更改細節
- 一個更改報告被匯出為 zip 檔案。
圖 17. 更改報告
在 WebSphere Business Modeler 中分析更改
本小節通過分析更改報告介紹執行 WBM 模型上需要的更改的步驟。
- 確保您處於 WebSphere Process server 模式。
- 在 Project Tree 檢視中,右鍵單擊專案並選擇 Analyze Model Implementation Changes...。
圖 18. 分析更改
- 選擇要分析的更改報告的路徑。
圖 19. 更改報告 Zip 檔案
- 更改分析檢視選項卡開啟,並且報告以下更改,其中包括在 BO1 中增加新屬性 Address。
圖 20. 報告更改(BO)
- WSDL 中的更改已被跟蹤,但沒有報告更改細節。
圖 21. 報告更改細節(Task)
- 這裡我們可以從包含 XSD 和 WSDL 的任意資料夾單獨匯入 WSDL 和業務物件。右鍵單擊專案,選擇 Business services and service objects (.wsdl,.xsd),瀏覽到資料夾。
圖 22. 匯入 XSD 和 WSDL
在 WebSphere Business Modeler 中應用新更改
本小節將展示這樣一個場景:業務分析師想要在 WBM 模型中進行一些新的修改,然後將這些更新合併到現有 WID 模組中。
- 業務分析師根據新的客戶需求對 WBM 模型進行更新。
- 修改完成後,他從 WBM 匯出 WID 專案交換檔案,如圖 5、圖 6 所示。
- 整合開發人員同步 WBM 模型中的更新和現有的 WID 模組實現,這需要重複 匯出更改報告 中的步驟 1、2、3。
- 下面,選擇左上角的 Accept All Non-Conflicting Changes 按鈕更新 WID 模組實現,然後單擊 Commit.
圖 23. 更新 WID 模組
本文詳細介紹瞭如何使用 WebSphere Business Modeler 和 WebSphere Integration Developer V6.1.2 進行迭代開發。它通過一個分步示例展示了閉合迴圈開發。這個開發模型通過消除 WebSphere Business Modeler 中的業務分析師建模和 WebSphere Integration Developer 中的整合開發人員實現之間的差異極大地便利了軟體開發。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-663082/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- puppet之crontab時間同步
- git專案之間的commit同步GitMIT
- JVM上的併發和Java記憶體模型之同步塊筆記JVMJava記憶體模型筆記
- 同步和Java記憶體模型Java記憶體模型
- EntityFramework 6.1.2-beta2Framework
- java的nio之:java的bio流下實現的socket伺服器同步阻塞模型和socket的偽非同步的socket伺服器的通訊模型Java伺服器模型非同步
- 系統時間和硬體時間同步
- Java併發程式設計,互斥同步和執行緒之間的協作Java程式設計執行緒
- 不同Oracle資料庫之間的資料同步Oracle資料庫
- linux程式和執行緒之間通訊方法和同步方法總結Linux執行緒
- Elasticsearch6.1.2原始碼下載和編譯構建Elasticsearch原始碼編譯
- 非同步IO模型和Overlapped結構非同步模型APP
- 如何管理資料模型與業務模型之間對映?模型
- 關於應用整合:同步與非同步通訊模式之間的比較非同步模式
- SSL證書的簽發時間和訂單時間同步嗎
- 時間同步的修改
- Windows Linux 之間rsync同步CODE檔案WindowsLinux
- 如何在 SSAS伺服器之間做同步伺服器
- Oracle 10g RAC之配置時間同步Oracle 10g
- COM套間和執行緒模型.執行緒模型
- Java物件之間的比較之equals和==Java物件
- SQL Server和Oracle間的資料同步解決方案SQLServerOracle
- 角度和弧度之間的轉換
- 敏捷和 Scrum 之間的區別敏捷Scrum
- Flutter和原生之間的祕密Flutter
- clob和字串之間的轉換字串
- Statement和PreparedStatement之間的區別
- tablespace和datafile之間的關係
- goroutine間的同步&協作Go
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- UE 客戶端和伺服器上的時間同步客戶端伺服器
- Android 時間戳和日期之間的轉化Android時間戳
- Android非同步訊息機制-深入理解Handler、Looper和MessageQueue之間的關係Android非同步OOP
- 非同步程式設計模型的思考非同步程式設計模型
- 基於 swoole 的連線池模型和非同步任務小框架模型非同步框架
- Window, WindowManager和WindowManagerService之間的關係
- Tcp, WebSocket 和 http 之間的通訊TCPWebHTTP
- @Bean和@Component之間的區別?Bean