2012-01-11 19 views
0

我已經創建了一個已聲明管理銷售訂單的Web服務的業務流程。這工作正常,但是我想將Web服務移出並放入其自己的編排中,並且能夠在其他編排需要時調用編排。每個Web方法都分配了一個多部分消息。如何僅爲Web服務設置單獨的編排?

期望值是我將不得不重新使用其他編排和所有未來需求中的所有Web服務方法。

  • 如何正確設置端口?
  • 爲此目的創建專門的編排或應用程序時,我應該使用什麼正確的方法和準則?
  • Orchestration的外觀如何?
  • 我設置在業務流程中的端口通過 '現在指定'

的Web方法有問題的Web服務有

  1. getCustomerItemPrice(請求/響應)
  2. getitemListPrice(請求/響應)
  3. getItemPriceAndAvalability(request/response)
  4. getSalesOrder(request/response)
  5. getSalesOrderHistory(請求/響應)
  6. processSalesOrder(請求/響應)
  7. processSalesPriceAdjustment(請求/響應)

提示「握住移鍵的同時上的超級鏈接點擊以查看當前設置我的Orchestration & Web服務。

https://skydrive.live.com/redir.aspx?cid=533fd5a521c8c878&resid=533FD5A521C8C878!1857&parid=533FD5A521C8C878!1856

回答

0

你的問題是,您的Web服務端口是緊耦合到您現有的業務流程,因爲端口上不同的操作被稱爲在業務流程執行過程中的不同步驟。因此,可能無法將整個Web服務端口從此業務流程中移出並放入其他業務流程中。

如果您真的想將此Web服務調用從此編排中抽象出來,那麼您將面臨大量的重構練習。你可能會需要進行至少以下一些步驟:

  • 斯普利特Web端口分成不同的端口爲每個要叫
  • 創建業務流程來包裝每個服務的服務操作調用。
  • 將服務操作請求和響應消息遷移到各自的業務流程
  • 定義新消息以傳遞到被調用的業務流程,從而有效地將您的調用業務流程從新業務流程中解耦。

說實話,我不確定我能看到這樣做的巨大價值,除非您期待大量重用這些組件。

相關問題