部署應用程式的最佳做法
本主題列出部署 BizTalk 應用程式時應遵循的最佳做法。
部署 BizTalk 應用程式
記載應用程式部署程式
請確定應用程式部署中使用的所有程式都會深入記錄,因此您有如何執行部署的記錄,並知道如何進一步部署或取消部署。 未編寫腳本的任何專案都應該記載詳細步驟。 這應該包括記錄外部系統的任何變更,以及協力廠商元件的部署。
編寫應用程式部署腳本
盡可能編寫多個應用程式部署步驟的腳本。 腳本可降低部署程式期間人為錯誤的風險。
建立 BizTalk 應用程式
編寫 BizTalk 應用程式和 .msi 檔案建立腳本
- BtsTask.exe 可用來編寫 BizTalk 應用程式的建立腳本。 如果建立應用程式時會編寫腳本,則可以使用建置伺服器上的自動化程式自動建置封裝。 如需編寫應用程式建立腳本的詳細資訊,請參閱 部署和管理 BizTalk 應用程式。
部署 BizTalk 元件
絕對不要在實際執行電腦上從 Visual Studio 部署組件
在開發過程中,開發人員通常必須從 Visual Studio 重新部署元件。 為了重新部署,Visual Studio 可能解除部署、解除繫結、停止及取消登錄組件中包含的成品。 雖然這在開發環境中是必要且適當的動作,但卻可能在實際執行環境中造成無法預期的嚴重後果。 基於這個理由,以及防止任何人在生產電腦上從 Visual Studio 部署元件,我們建議您永遠不會在生產電腦上安裝 Visual Studio。
此外,也絕對不要從執行 Visual Studio 的電腦參考實際執行資料庫。
將成品新增至 BizTalk 應用程式
將相關的成品分組到單一應用程式
盡可能將相關的成品放置在相同的 BizTalk 應用程式中。 這可讓您將成品做為單一實體管理和部署,讓管理變的更容易。 您可將支援相同商務程序或執行類似功能的成品分組到單一應用程式。
將共用的成品部署到個別的應用程式
如果成品將由兩個以上的應用程式共用,請將共用的成品部署到個別的應用程式。 例如,如果兩個應用程式共用某結構描述,請將該結構描述放置到個別的應用程式中。 建議您這樣做,因為 BizTalk 群組中只有一個成品可以有單一本機唯一識別碼 (LUID) 。 LUID 是由成品名稱和選擇性的其他屬性所組成。 如果您在一個應用程式中包含成品,然後從另一個應用程式建立其參考,當您停止包含成品的應用程式時,參考應用程式可能無法正常運作。
這個最佳方法適用於所有成品類型,除了檔案之外,例如讀我檔案和指令碼,它們會做為成品的檔案類型新增至應用程式。 這是因為多個具有相同名稱的檔案成品可以部署在 BizTalk 群組中。 因此,您可使用在兩個以上的應用程式中具有相同名稱的檔案。 在此情況下,停止一個應用程式不會影響另一個應用程式。 如需新增檔案成品的詳細資訊,請參閱 如何將檔案新增至應用程式。
將共用的網站部署到個別的應用程式
如果網站將由一個以上的商務方案共用,請將網站部署到個別的應用程式。 這是因為當您解除安裝 BizTalk 應用程式時,任何屬於該應用程式的網站虛擬目錄都會被移除,即使該網站正在執行中也一樣。 如果另一個商務方案共用該網站,則其他商務方案將無法再正常運作。
將共用的原則部署到個別的應用程式
如果兩個以上的應用程式使用一個原則,您應該將其部署到個別的應用程式,而不要從一個應用程式建立對另一個應用程式的參考。 這是因為當您停止應用程式時,其原則也會被解除部署。 如果您停止的應用程式中包含另一個應用程式使用的原則,該原則在兩個應用程式都將無法再運作。
將共用的憑證部署到個別的應用程式
如果憑證由兩個以上之應用程式中的傳送埠或接收位置使用,您應該將該憑證部署到個別的應用程式中,然後從需要使用該憑證的應用程式參考此應用程式。 這是因為 BizTalk 群組中只有一個成品可以有單一 LUID,因此您無法在兩個不同的應用程式中匯入相同的憑證。 如果您嘗試匯入使用相同憑證的兩個應用程式,第一個匯入會成功,第二個匯入則會失敗。 在此情況下,使用覆寫匯入選項無法修正此問題,因為您想要覆寫的現有憑證包含在另一個應用程式中。
匯出和匯入 BizTalk 應用程式
部署大型 .msi 檔案時,您可能需要增加部署應用程式時,BizTalk Server所使用的 COM+ 元件的預設交易逾時
如果您嘗試部署 .msi 檔案 (超過 100 MB) ,則應用程式可能不會在應用程式部署期間BizTalk Server所使用的 COM+ 元件的預設交易逾時內部署。 如果與這些 COM+ 元件相關聯的交易在部署完成之前逾時,則部署將會失敗。 如果您要部署非常大的 .msi 檔案,請考慮採取下列其中一種方法來減輕此問題:
部署數個較小的 .msi 檔案,而不是一個大型 .msi 檔案。
- 在元件服務管理介面中,增加與 Microsoft.BizTalk.ApplicationDeployment.Group 和 Microsoft.BizTalk.Deployment.DeployerComponent 元件相關聯的預設交易逾時 3,000 秒。 這些元件分別屬於 Microsoft.BizTalk.ApplicationDeployment.Engine 和 Microsoft.Biztalk.Deployment COM+ 應用程式。 如需詳細資訊,請移至 設定交易逾時。
防止覆寫系結
如果不想用匯入的應用程式繫結來覆寫要匯入 .msi 檔案的應用程式的現有繫結,則應該在匯出作業期間選擇不要將繫結檔案做為匯出資源。
確定 .msi 檔案安全
.msi 檔案可能包含敏感性資料。 請務必採取步驟,協助確保檔案安全無虞。 如需 .msi 檔案安全性的詳細資訊,請參閱 安全性和 Windows Installer。
確定系結檔案安全
系結檔案可能包含敏感性資料。 請務必採取步驟,協助確保檔案安全無虞。
當沒有任何人對成品進行變更時排程匯出
當使用者不太可能對成品進行變更時,排程匯出作業。 這很重要,因為如果使用者在匯出作業進行時修改資料庫型成品、虛擬目錄、憑證或原則,則變更不會反映在匯出的 .msi 檔案中。
匯入 BizTalk 應用程式
編寫匯入 .msi 檔案的腳本
BtsTask.exe 可用來編寫匯入現有 BizTalk .msi 檔案的腳本。 如需腳本處理 .msi 檔案匯入的詳細資訊,請參閱 部署和管理 BizTalk 應用程式。
注意
白皮書也適用于BizTalk Server。
您可以新增腳本,以作為前置處理或後置處理腳本來執行。 不過,您必須在腳本中包含邏輯,以檢查環境變數,以判斷腳本在 (匯入、安裝或卸載) 和據以處理的內容。 如需使用前置和後置處理腳本的詳細資訊,請參閱 使用前置和後置處理腳本來自訂應用程式部署。
確認參考成品是否存在
當您匯入的應用程式有另一個應用程式的參考時,BizTalk Server會驗證參考的應用程式是否存在。 不過,它不會驗證應用程式具有相依性的成品是否包含在參考的應用程式中。 當您將相依性相依于另一個應用程式中的應用程式匯入時,建議您確認參考的應用程式包含必要的成品或成品。
從 .msi 檔案匯入,可防止將已變更的元件儲存在全域組件快取中
若要更新應用程式中的成品,請將已變更或更新的成品從 .msi 檔案匯入應用程式。 如果您未使用 .msi 檔案匯入成品,則必須將變更的元件儲存在全域組件快取中,以更新群組中的所有伺服器。
主機處理群組以補救伺服器總數的子集
更新應用程式中的成品時,您通常必須更新 BizTalk 群組中的所有伺服器。 不過,如果您使用主機處理群組,則只需要更新群組中伺服器總數的子集。
如果匯入作業逾時,請將應用程式分割成其他 .msi 檔案
如果匯入作業的持續時間超過 3,600 秒,則匯入作業將會逾時。 如果您嘗試匯入 .msi 檔案和作業逾時,您應該將應用程式的內容分割成多個 .msi 檔案,方法是重新匯出應用程式,然後選取要匯出的成品子集。 如需將應用程式匯出至 .msi 檔案的詳細資訊,請參閱 匯出 BizTalk 應用程式。