逐步解說:建立可替換的 Web 服務

更新:2007 年 11 月

這個逐步解說將說明如何複製您之前所定義且要做為替代品的 Web 服務。這個應用程式是在逐步解說:設計 Web 服務中所實作的。

必要條件

請完成逐步解說:設計 Web 服務

若要建立現有 Web 服務的複本

  1. 開啟 Catalog.sln。

  2. 檢視應用程式圖表。

  3. 以滑鼠右鍵按一下 [Catalog] 應用程式,然後按一下 [複製]。

  4. 將所複製的應用程式貼上應用程式圖表。

  5. 將貼上的版本命名為 CatalogFacade。

    [CatalogFacade] 包含出現在 [Catalog] 上相同的 [CatalogWebService] 和 [GetLegacyInfo] 端點。因此,[CatalogFacade] 會與和 [Catalog] 相容的所有相同應用程式相容。所有從 [Catalog] 至其他應用程式的連接 (如 [CatalogDB]) 都會予以保留。但是,與 [Catalog] 不同的是,[CatalogFacade] 不會顯示為已實作的狀態。

    注意事項:

    Visual Studio 不會複製應用程式之間的某些特定設定。因此,以視覺化方式維護資料庫連接時,因為 Visual Studio 不會複製某些項目 (例如密碼),所以這個連接在執行階段無法運作。若要啟用這個連接,必須輸入 [CatalogFacade] 與 [CatalogFacade] 間的連接資訊。

因此,您可以將 [CatalogFacade] 應用程式做為舊版應用程式中實作之舊版 Catalog 的包裝函式 Web 服務,而舊版應用程式並非透過 [分散式系統設計工具] 進行模型化。您也可以使用泛型應用程式類型,在應用程式圖表中,以呈現這個項目的方式表示舊版應用程式。例如,這類應用程式可能是在 AS/400 機器上執行的 Ledger 系統。

您現在可以使用 [泛型] 應用程式類型模型化舊版應用程式。

若要將舊版應用程式模型化

  1. 將 [GenericApplication] 應用程式從 [工具箱] 拖曳到圖表,並將其命名為 LegacyCatalog。

  2. 將 [.NETWebServiceEndpoint] 端點從 [工具箱] 拖曳至 [CatalogFacade],並將命名為 [LegacyInterface]。

  3. 按住 ALT 鍵時,將 [LegacyInterface] 端點拖曳到 [LegacyCatalog] 予以連接。

    新的消費者端點便會出現在 [LegacyCatalog] 上。[LegacyCatalog] 是舊 Catalog 的應用程式預留位置。Visual Studio 不會爲 [LegacyCatalog] 產生程式碼。不過,它會存在於圖表上,記錄舊版應用程式的存在,以及到 [CatalogFacade] Web 服務 (用以包裝其功能) 的連接。下個程序會示範 [CatalogFacade] 和 [Catalog] 如何提供相同的合約。

若要設計 Catalog 系統

  1. 按下 SHIFT 鍵時,按一下 [Catalog] 和 [CatalogDB]。

  2. 從 [圖表] 功能表中,選擇 [設計應用程式系統]。

  3. [設計應用程式系統] 對話方塊隨即出現。

  4. 在 [系統名稱] 輸入 [NewCatalogSystem]。

    系統設計工具會與新系統內含之所選取的應用程式一起開啟。請依需要調整應用程式的位置。

  5. 以滑鼠右鍵按一下 [CatalogWebService] 端點,然後選擇 [加入 Proxy 端點]。

    這個動作會建立這個系統的通訊路徑。

  6. 檢視應用程式圖表。

  7. 以滑鼠右鍵按一下 [SalesWebClient],然後再按一下 [設計應用程式系統]。

  8. 將系統命名為 [CatalogSystem]。

  9. 將 [NewCatalogSystem] 從 [系統檢視] 視窗拖曳到 [CatalogSystem]。

    請注意,[NewCatalogSystem] 會公開端點,讓您能夠連接系統。這個端點是您先前所建立的 Proxy 端點。它提供了 [Catalog] 上 [CatalogWebService] 的連接。

  10. 將 [NewCatalogSystem] 上的 [CatalogWebService] Proxy 端點連接至 [SalesWebClient] 上的消費者端點。

  11. 檢視應用程式圖表。

  12. 建立包含 [CatalogFacade] 和 [LegacyCatalog] 的新系統,並將其命名為 [LegacyCatalogSystem]。

  13. 在 [LegacyCatalogSystem] 中建立 [CatalogWebService] 的 Proxy 端點。

  14. 檢視 [CatalogSystem] 系統。

  15. 從 [CatalogSystem] 刪除 [NewCatalogSystem] 系統。

  16. 將 [LegacyCatalogSystem] 系統從 [系統檢視] 視窗拖曳到 [CatalogSystem] 系統。

  17. 將 [LegacyCatalogSystem] 系統上的 [CatalogWebService] 端點連接至 [SalesWebClient] 上的消費者端點。

    [NewCatalogSystem] 和 [LegacyCatalogSystem] 系統都包含了 [CatalogWebService] 端點,您可將其公開為 Proxy 端點。因此,您可以在 [CatalogSystem] 互為取代。

您現在可以建立應用程式之可重複使用的原型,其中包含 [CatalogWebService] 且會將 Visual C# 做為預設語言。您可以將這個原型加入至 [工具箱] 中。

若要建立可重複使用的原型

  1. 檢視應用程式圖表。

  2. 將 [ ASP.NETWebService] 從 [工具箱] 拖曳至圖表。

  3. 複製 [Catalog] 上的 [CatalogWebService] 端點,並貼到新的 ASP.NET Web 服務應用程式。

  4. 將新應用程式的 [語言] 屬性變更為 [Visual C#]。

  5. 從 [圖表] 功能表中,選擇 [加入至工具箱]。

    [加入至工具箱] 對話方塊便會出現。

  6. 在 [名稱] 方塊中輸入 [CatalogWebServiceApp],然後按一下 [確定]。

    [儲存檔案] 對話方塊隨即出現。Visual Studio 會將檔案儲存為 .adprototype 檔案,表示它是可在 [應用程式設計工具] 中使用的應用程式原型。

  7. 按一下 [儲存]。

  8. 開啟 [工具箱],並將 [CatalogWebServiceApp] 拖曳至圖表中。

您已經建立了可重複使用且可自訂的 ASP.NET Web 服務應用程式版本,該版本也包含 [CatalogWebService] 端點。當您建立新的分散式系統方案時,這個原型也會出現在 [工具箱] 中。

您可以將這個原型公開到共用位置,即可與其他 [分散式系統設計工具] 使用者共用原型。如需詳細資訊,請參閱下列主題:

後續步驟

逐步解說:表示間接的 Web 服務連接

請參閱

其他資源

設計 Web 服務逐步解說