應用程式系統中的外部應用程式
更新:2007 年 11 月
在 [分散式系統設計工具] 中,您可以說明不會在方案中實作的外部應用程式,但會將之連接到方案中的應用程式。例如,您可以以視覺化方式檢視、參考,以及將外部 Web 服務連接到方案的應用程式。如需詳細資訊,請參閱在應用程式圖表上定義應用程式。
當您設計應用程式系統,且應用程式會連接到外部應用程式時,您可以在系統中包含並連接那些外部應用程式。另一方面,您可以從系統中排除外部應用程式,並針對連接至外部應用程式之系統的每個消費者端點,將 Proxy 端點加入系統。如需詳細資訊,請參閱在系統圖表上定義通訊路徑和委派與公開應用程式系統的行為。
注意事項: |
---|
雖然這個主題是著重於外部 Web 服務為範例,但您可以將相同概念套用至 BizTalk Web 服務、資料庫、泛型應用程式,以及使用系統定義模型 (SDM) 軟體開發套件 (Software Development Kit,SDK) 所建立的自訂應用程式類型。如需詳細資訊,請參閱可用來定義應用程式的應用程式類型和原型。 |
以下幾節將討論這些方法和使用它們的方針:
將外部 Web 服務併入系統中
從系統中排除外部 Web 服務
選擇正確的處理方法
將外部 Web 服務併入系統中
如果將應用程式連接至應用程式圖表上的外部 Web 服務,則您可以選擇將外部 Web 服務併入系統中。將外部 Web 服務併入系統中,並不表示 Web 服務將會與系統一起部署。但是,如果您併入外部 Web 服務,則可以完成下列項目:
以視覺化方式檢視系統圖表上的外部 Web 服務參考。
將多個應用程式連接至外部 Web 服務,指出哪些應用程式必須連接至相同的 Web 服務 URL。如需詳細資訊,請參閱應用程式系統內的通訊。
定義系統的部署時,您可以指外部 Web 服務必須部署至哪一個邏輯伺服器。您也可以驗證通訊路徑是否存在於邏輯 DataCenter 中,以支援外部 Web 服務和連接它之應用程式間的連接。如需詳細資訊,請參閱使用部署設計工具評估系統部署。
使用這個方法時,請考量下列事項:
您可以將消費者端點連接至提供者端點或 Proxy 端點,但不能同時連接至這兩者。
如果您將消費者端點連接至系統內的外部 Web 服務,將無法為系統上的該消費者端點建立 Proxy 端點。如果該消費者端點沒有 Proxy 端點,您便無法在系統外部公開該消費者端點的行為。此外,您也無法將 Proxy 端點連接到另一個系統的 Web 服務以解析 URL。
部署系統時,您必須提供外部 Web 服務提供者端點的 URL。您需要這個 URL,才能設定已連接的消費者端點。
利用外部 Web 服務表示 ASP.NET Web 應用程式
在應用程式圖表上,如果您有連接至已實作之 ASP.NET Web 應用程式 (具有 Web 提供者服務端點) 的應用程式時,且您想要設計排除該 ASP.NET Web 應用程式的系統,則可以以外部 Web 服務替換 ASP.NET Web 應用程式。若要使用這個策略,您必須從方案中移除 ASP.NET Web 應用程式,或是建立另一個沒有 ASP.NET Web 應用程式的方案,並在建立外部 Web 服務之前,先在該方案中定義系統。
注意事項: |
---|
請勿藉由從 ASP.NET Web 應用程式建立外部 Web 服務,取代應用程式圖表上的應用程式。您只能在應用程式圖表上參考一次 .NET Web 服務提供者端點的位置。如需詳細資訊,請參閱 HOW TO:找到 Web 服務的 WSDL 檔案。 |
從系統中排除外部 Web 服務
如果應用程式連接至不想併入系統的 Web 服務,則您必須為該應用程式的消費者端點建立 Proxy 端點。Proxy 端點可讓您在將該系統併入其他系統時,公開這些消費者端點,並在系統之外連接它們。如需詳細資訊,請參閱委派與公開應用程式系統的行為。
注意事項: |
---|
Web 服務可以是外部 Web 服務,或是具有 .NET Web 服務提供者端點的 ASP.NET Web 應用程式。 |
使用這個方法時,請考量下列事項:
定義系統的部署時,您無法指定參考之外部 Web 服務必須部署至哪一個邏輯伺服器。也無法驗證通訊路徑是否存在於邏輯 DataCenter 中,以支援外部 Web 服務和參考它之應用程式間的連接。
秘訣 您可以在另一個系統內併入系統和 (或) 外部 Web 服務,以解決此案例。
您無法在系統圖表上指出系統中的應用程式必須連接至相同的 Web 服務 URL。
秘訣 如果要使用這個方法,請提供 Proxy 端點必須連接至相同 Web 服務 URL 之每個案例的個別文件。例如,可以將註解加入至系統圖表。對於在另一個系統中重複使用系統的任何人而言,這項資訊很重要。如需詳細資訊,請參閱 HOW TO:將註解加入至分散式系統圖表。
如果具有 Proxy (消費者) 端點的系統部署為獨立系統 (亦即不在另一個系統的內容中),您必須提供每一個 Proxy 端點的 Web 服務 URL 做為部署程序的一部分。您需要這些 URL 才能設定 Proxy 端點所公開的消費者端點。如果將系統部署為另一個系統的一部分,則內含系統中已連接至消費者 Proxy 端點的提供者端點將會提供 URL 的來源。
選擇正確的處理方法
當您擁有獨立的 (Self-Contained) 系統且將部署為獨立系統 (不併入另一個系統) 時,您可以選擇併入外部應用程式、泛型應用程式或自訂應用程式類型,以及會在系統中予以連接的應用程式。如果您打算將系統併入其他系統,則需要系統中消費者端點的 Proxy 端點,才能公開它們的行為,並在系統外連接。
您也可以混合使用這些方法。如果想要將系統部署為獨立系統,並將它併入在其他系統中,則您可以建立兩個可彼此併入其中的系統。您可以定義一個系統,包含消費者應用程式並透過 Proxy 端點公開其行為。您還可以定義另一個系統,包含外部應用程式和具有 Proxy 端點的系統。您可以將這些外部應用程式連接至那些 Proxy 端點。如果您必須在另一個系統中包含消費者應用程式,則可以使用內部系統。如果您要單獨部署此功能,則可以使用外部系統。不過,這個方法需要維護兩個系統。如需詳細資訊,請參閱 HOW TO:在應用程式系統中結合外部應用程式和參考應用程式。