本主題列出部署 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+ 元件的預設交易逾時
如果您嘗試部署一個超過 100 MB 的非常大的 .msi 檔案,則應用程式可能無法在 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 應用程式。