共用方式為


為什麼要從 BizTalk Server 遷移至 Azure Logic Apps?

本指南概述原因和優點、產品比較、功能和其他資訊,以協助您開始從內部部署 BizTalk Server 移轉至 Azure Logic Apps。 遵循本指南,您將找到更多指南,說明如何選擇最適合您案例的服務,以及移轉策略、規劃考量和最佳做法,以協助您交付成功的結果。

原因和優點

藉由將整合工作負載移轉至 Azure Logic Apps,您可以收穫下列主要優點:

優點 描述
現代化整合平台即服務 (iPaaS) Azure Logic Apps 是 Azure Integration Services 的一部分,其提供最初建置 BizTalk Server 時不存在的功能,例如:

- 建立和管理 REST API 的功能
- 可調整的雲端基礎結構
- 新式、更安全且更容易實作的驗證配置
- 簡化的開發工具,包括許多以網頁瀏覽器為基礎的體驗
- 自動平臺更新與其他雲端原生服務整合
- 能夠在內部部署執行 (Azure Logic Apps 混合式部署模型)
BizTalk 功能投資 Azure Logic Apps 是 BizTalk Server 的後續任務,包含一些核心 BizTalk Server 功能。 例如,Azure Logic Apps 規則引擎會使用與 BizTalk 商務規則引擎 (BRE) 相同的運行時間。 為了協助您在 BizTalk Server 中保留客戶投資,Azure Logic Apps 中的工作流程設計工具包含其他功能,例如使用 Visual Studio Code 時的數據對應程式工具、執行自定義程式代碼的支援,以及原生 XML 支援。
以耗用量為基礎的定價 使用傳統中介軟體平台,您通常必須在購買授權和基礎結構方面進行大量資本投資,迫使您「為了尖峰而建置」而造成效率不佳。 Azure 整合服務提供多個定價模型,通常可讓您用多少就付多少。 雖然有些定價模式可啟用並提供更進階功能的存取權,但您可以彈性地支付所取用項目的費用。
較低的進入門檻 BizTalk Server 是非常有能力的中介軟體訊息代理程式,但需要大量時間來學習才能熟練。 Azure Logic Apps 可減少啟動、學習、建置及提供解決方案所需的時間。 例如, Azure Logic Apps 包含可視化設計工具,可提供您無程式代碼或低程式碼體驗,以建置您想要取代 BizTalk 協調流程的宣告式工作流程。
SaaS 連線能力 隨著 REST API 成為應用程式整合的標準,更多 SaaS 公司已採用這種方法來交換資料。 Microsoft 已使用數百個 API 來建置廣泛且持續成長的連接器生態系統,以便與 Microsoft 和非 Microsoft 服務、系統和通訊協定搭配運作。 在 Azure Logic Apps 中,您可使用工作流程設計工具從這些連接器選取作業、輕鬆建立和驗證連線,以及設定他們要使用的作業。 這項功能可加速開發,並在使用 OAuth2 驗證對這些服務的存取權時提供更一致性。
多個地理部署 Azure 目前提供 60 個以上的已宣佈區域,比其他任何雲端提供者還要多,讓您可以輕鬆地選擇適合您和客戶的資料中心和區域。 此觸達可讓您在許多地理位置以一致的方式部署解決方案,並從可擴縮性和備援觀點提供機會。

什麼是 Azure Logic Apps?

Azure Logic Apps 是雲端式和混合式服務,可使用可視化設計工具,將工作流程自動化,並協調混合式環境中的商務程式、應用程式和數據。 此服務是 Azure Integration Services 的一部分,這是一組雲端式、無伺服器、可調整且Microsoft管理的建置組塊,可讓您建立完整的整合解決方案,並移轉現有的 BizTalk Server 解決方案:

Service 描述
Azure Logic 應用程式 建立並執行自動化邏輯應用程式工作流程,以協調您的應用程式、數據、服務和系統。 您可以為企業情節及企業對企業 (B2B) 情節,快速開發可靈活調整的整合解決方案。 使用可視化工作流程設計工具來協調微服務、API 和企業營運整合。 若要在自動化業務關鍵工作流程的同時增加規模和可攜性,請在 Kubernetes 可執行的任何位置部署和執行。

您可以建立取用或標準邏輯應用程式資源。 使用量邏輯應用程式只包含一個在多租用戶 Azure Logic Apps 中執行的具狀態工作流程。 標準邏輯應用程式可以包含在單一租使用者 Azure Logic Apps、App Service 環境 v3 或已啟用 Azure Arc 的 Kubernetes 叢集上執行的多個具狀態或無狀態工作流程(混合式部署模型)。

為了在 Azure 整合服務中定位 Azure Logic Apps,本指南著重於標準邏輯應用程式,其可在企業功能、成本和靈活度之間提供最佳平衡。 如需詳細資訊,請參閱Apps](logic-apps-overview.md)。
Azure Functions 撰寫較少的程式碼、維護較少的基礎結構,以及節省執行應用程式的成本。 雲端基礎結構會提供讓應用程式保持執行所需的所有最新資源,您不需部署和維護伺服器。 如需詳細資訊,請參閱 Azure Functions
Azure Data Factory 使用 90 個以上的內建免維護連接器,以視覺化方式整合所有資料來源,沒有任何附加成本。 在直覺式環境中,無需編寫程式碼即可建構擷取、轉換和載入 (ETL) 及擷取、載入和轉換 (ELT) 程序,或者您可撰寫自己的程式碼。 若要皆所商業深入解析,請將整合式資料傳遞給 Azure Synapse Analytics。 如需詳細資訊,請參閱 Azure Data Factory
Azure 服務匯流排 在應用程式與服務之間傳輸資料,即使離線時,也會使用這個高度可靠的企業訊息代理程式來傳送訊息。 使用結構化先進先出 (FIFO) 傳訊、發佈-訂閱功能和非同步作業,在用戶端與伺服器之間代理訊息時,取得更大的彈性。 如需詳細資訊,請參閱 Azure 服務匯流排
事件格線 使用事件訊息代理程式傳遞至訂閱者目的地的事件來整合應用程式,例如 Azure 服務、其他應用程式,或事件格線具有網路存取權的任何端點。 事件來源可以包含其他應用程式、SaaS 服務和 Azure 服務。 如需詳細資訊,請參閱 Azure 事件格線
Azure API 管理 使用裝載於 Azure、其他雲端和內部部署環境的 API,並排部署 API 閘道並將流量流程最佳化。 符合安全性與合規性需求,同時享有所有內部和外部 API 的統一管理體驗和完整的可檢視性。 如需詳細資訊,請參閱 Azure API 管理

圖表顯示 Azure Integration Services 成員服務。

互補的 Azure 服務

除了先前所述的服務,Microsoft 也提供下列補充服務,這些服務提供 Azure 整合服務的基礎功能,而且您可能在移轉專案中使用:

Service 描述
Azure 儲存體 針對雲端的各種資料物件,提供高度可用、可大幅調整、持久、安全且現代化的儲存體。 您可以使用 REST API,從世界各地透過 HTTP 或 HTTPS 存取這些資料物件。

Azure 整合服務會使用這些功能,在交易流經平台時安全地為您儲存組態和遙測資料。 如需詳細資訊,請參閱 Azure 儲存體
Azure 角色型存取控制 (Azure RBAC) 管理雲端資源的存取權,這是任何使用雲端的組織的重要功能。 Azure RBAC 是建置於 Azure Resource Manager 上的授權系統,可提供更細緻的 Azure 資源存取管理。 您可以管理誰可以存取 Azure 資源、他們可使用這些資源做什麼,以及他們可以存取哪些區域。 如需詳細資訊,請參閱 Azure RBAC
Azure Key Vault 提供一些功能,協助您解決與秘密管理、金鑰管理和憑證管理相關的問題。

Azure 整合服務透過應用程式組態設定和連接器來與 Azure Key Vault 整合。 這項功能可讓您以安全但方便的方式儲存秘密、認證、金鑰和憑證。 如需詳細資訊,請參閱 Azure Key Vault
Azure 原則 提供一些功能,協助您強制執行組織標準,並以可調整的方式評估合規性。 透過合規性儀表板,您可取得彙總檢視,以評估環境的整體狀態,並能夠向下切入至每項資源和每個原則的細微性。

Azure 整合服務與 Azure 原則整合,因此您可以有效率地實作廣泛的治理。 如需詳細資訊,請參閱 Azure 原則
Azure 網路 提供各種不同的網路功能,包括連線能力、應用程式保護服務、應用程式交付服務,以及網路監視。

Azure 整合服務會使用這些功能,透過虛擬網路和私人端點提供跨服務的連線能力。 如需詳細資訊,請參閱 Azure 網路
Azure 事件中樞 建置動態資料管線並立即回應業務挑戰,其做法是使用這項簡單、受信任且可調整的完全受控、即時資料擷取服務,從任何來源每秒串流數百萬個事件。

API 管理會使用事件中樞執行自訂記錄,這是在 Azure 中實作分離追蹤解決方案時的最佳解決方案之一。 如需詳細資訊,請參閱 Azure 事件中樞
Azure SQL Database 在某些時候,您可能需要建立自訂記錄策略或自訂組態,以支援您的整合解決方案。 雖然 SQL Server 通常在內部部署環境用於此目的,但 Azure SQL Database 在將內部部署 SQL Server 資料庫移轉至雲端時,可能會提供可行的解決方案。 如需詳細資訊,請參閱 Azure SQL Database
Azure 應用程式組態 集中管理應用程式設定和功能旗標。 最新的程式 (特別是在雲端中執行的程式) 通常有許多分散性質的元件。 在應用程式部署期間,將組態設定分散到這些元件可能導致難以進行疑難排解的錯誤。 使用應用程式組態,您可儲存應用程式的所有設定,並在同一個地方保護其存取權。 如需詳細資訊,請參閱 Azure 應用程式組態
Azure 監視器 Application Insights 是 Azure 監視器的一部分,可為即時應用程式提供應用程式效能管理和監視。 儲存應用程式遙測,並監視整合平台的整體健康情況。 您也能夠設定閾值,並在效能超出設定的閾值時取得警示。 如需詳細資訊,請參閱 Application Insights
Azure Automation 將 Azure 管理工作自動化,並在 Azure 內跨外部系統協調動作。 建置於 PowerShell 工作流程,因此您可使用此語言的許多功能。 如需詳細資訊,請參閱 Azure 自動化

支援的開發人員體驗

本節說明 BizTalk 伺服器和 Azure 整合服務支援的開發人員工具:

供應項目 具有支援工具的產品或服務
BizTalk Server 每個 BizTalk Server 版本都支援特定版本的 Visual Studio。

例如,BizTalk Server 2020 支援 Visual Studio 2019 Enterprise 或 Professional。 不過,不支援 Visual Studio Community Edition。
Azure 整合服務 - Azure Logic Apps (標準):Azure 入口網站和 Visual Studio Code

- Azure Logic Apps(取用):Azure 入口網站 和 Visual Studio Code

- Azure Functions:Azure 入口網站、Visual Studio Code 和 Visual Studio 2022

- Azure API 管理:Azure 入口網站和 Visual Studio Code

- Azure 服務匯流排:Azure 入口網站和服務匯流排總管

- Azure Data Factory:Azure 入口網站 和 Visual Studio 2015

BizTalk Server 與 Azure Logic Apps

若要比較 BizTalk Server 與 Azure Logic Apps,並討論如何移轉,讓我們先簡要摘要說明 BizTalk Server 的功能。 BizTalk Server 最初於 2000 年提供,是內部部署的穩定中介軟體平台,可使用配接器連接各種系統。 此平台可作為企業、系統或應用程式之間的訊息代理程式,現在是一個完善的整合平台。 對於以不同語言開發且可使用不同通訊協定和格式進行連線的不同系統,為了簡化其結合挑戰,BizTalk Server 提供下列主要功能:

  • 協調流程 (商務流程)

    提供可建立和執行協調流程或圖形化定義商務流程的功能。

  • 傳訊

    提供可與各種軟體應用程式通訊的功能。 配接器可讓 BizTalk Server 的傳訊元件與各種通訊協定和資料格式互動。

BizTalk Server 引擎包含下列元件:

元件 描述
商務規則引擎 (BRE) 評估複雜的規則集。
企業單一登入 (SSO) 提供在 Windows 和非 Windows 系統之間對應驗證資訊的功能。
商務活動監控 (BAM) 可讓資訊工作者監視執行中的商務流程。
群組中樞 可讓支援人員管理引擎和執行的協調流程。

BizTalk Server 的運作方式

BizTalk Server 會使用發佈-訂閱傳訊引擎架構搭配核心 MessageBox 資料庫。 MessageBox 負責儲存訊息、訊息屬性、訂用帳戶、協調流程狀態、追蹤資料和其他資訊。

當 BizTalk Server 收到訊息時,伺服器會透過管線傳遞及處理訊息。 此步驟會將訊息正規化並發佈至 MessageBox。 BizTalk Server 接著會評估任何現有的訂用帳戶,並根據訊息內容屬性來判斷訊息的預定收件者。 最後,BizTalk Server 會根據訂用帳戶或篩選條件,將訊息路由傳送至預定收件者。 此收件者是協調流程或傳送埠,這是 BizTalk Server 傳送訊息的目的地或 BizTalk Server 可接收訊息的來源。 BizTalk Server 透過傳送管線傳遞訊息,進而透過傳送埠傳輸訊息。 傳送管線會先將訊息序列化為接收者預期的原生格式,再透過配接器傳送訊息。

MessageBox 資料庫具有下列元件:

  • 傳訊代理程式

    BizTalk Server 會使用此代理程式與 MessageBox 互動,其提供發佈訊息、訂閱訊息、擷取訊息等的介面。

  • 一或多個 SQL Server 資料庫

    這些資料庫可提供訊息、訊息組件、訊息屬性、訂用帳戶、協調流程狀態、追蹤資料、路由的主機佇列等的持續性存放區。

下圖顯示 BizTalk Server 傳訊引擎的運作方式:

圖表顯示 BizTalk Server 傳訊引擎。

在接收埠收到訊息之後,MessageBox 會儲存該訊息,以供商務流程處理,或路由傳送至具有特定訊息訂閱的任何傳送埠。

圖表顯示在 BizTalk Server 的 MessageBox 資料庫中接收和儲存訊息的程式。

如需詳細資訊,請參閱本指南後面的發佈-訂閱架構

商務程序

本節說明的選項用於設計及建置可在 BizTalk Server 和 Azure 整合服務中執行的商務流程。

BizTalk Server

在 BizTalk Server 中,協調流程是可執行的商務程序,可以透過 MessageBox 資料庫來訂閱 (接收) 訊息和發佈 (傳送) 訊息。 協調流程可以建構新的訊息,而且可使用訂用帳戶和路由基礎結構接收訊息。 當 MessageBox 填入協調流程的訂用帳戶時,新的「執行個體」 (協調流程執行) 會啟動,而 MessageBox 會傳遞訊息。 如有必要,執行個體會解除凍結,然後會傳遞訊息。 當訊息從協調流程傳送時,其會以送達接收位置的相同方式發佈到 MessageBox,且適當的屬性會新增至資料庫以供路由傳送使用。

若要啟用發佈-訂閱傳訊,協調流程會使用有助於建立訂用帳戶的繫結。 協調流程連接埠是描述互動的邏輯連接埠。 若要傳遞訊息,您必須將這些邏輯連接埠繫結至實體連接埠,但這個繫結程序只不過是設定訊息路由傳送的訂閱。

BizTalk Server 提供下列範例優點:

  • Designer First (宣告式)

    使用容易理解的設計工具來設計複雜的流程,以實作在程式碼中可能難以實作的模式和工作流程。

  • 終端系統的抽象概念

    設計著重於訊息的流程,而不是終端系統。 例如,開發解決方案時,您不必擔心將要使用 FILE 配接器還是 FTP 配接器。 反而,您會專注於通訊類型、單向或要求-回應,以及您想要處理的訊息類型。 稍後,當您部署解決方案時,您可以接著指定配接器和終端系統。

Azure Logic 應用程式

在 Apps](logic-apps-overview.md),您可以使用具有可視化設計工具的「建置組塊」方式,以邏輯應用程式工作流程的形式建立可執行的商務程式和應用程式,並從數百個連接器預先建置的作業,而需要最少的程式代碼。 邏輯應用程式工作流程從觸發程序作業開始,後面接著一或多個動作作業,而每個作業在工作流程實作程序中都當作邏輯步驟運作。 您的工作流程可以使用動作來呼叫外部軟體、服務和系統。 有些動作會執行程序設計工作,例如條件式 (if 陳述式)、迴圈、資料作業、變數管理等等。

Azure Logic Apps 提供下列範例優點:

  • Designer First (宣告式)

    使用容易理解的設計工具來設計複雜的流程,以實作在程式碼中可能難以實作的模式和工作流程。

  • 富有彈性且可調整

    Azure Logic Apps 是雲端式、無伺服器、可高度調整的計算服務,該服務會自動調整並適應不斷演進的業務需求。

  • 連線到任何項目

    從不斷擴充的資源庫 (其中包含數百個預先建置的連接器) 選取,以建置您的工作流程。 連接器提供的作業可讓您用作工作流程中的步驟。 您可以從Microsoft和合作夥伴,為大部分服務和系統建置整合解決方案,包括 BizTalk Server、Salesforce、Office 365、SQL 資料庫、大部分的 Azure 服務,例如 Azure Functions、Azure 儲存體、Azure 服務匯流排,以及許多其他服務,以及內部部署應用程式或系統、大型主機、midranges、SaaS 和 API。 如果您想要存取的資源沒有預先建置的連接器,則可使用一般 HTTP 作業來與服務通訊,或者您也可以建立自訂連接器。

可重複使用的元件

整合平台提供以一致且統一的方式解決問題的方法,您通常可透過可重複使用的元件來達成。 本節說明如何在 BizTalk Server 和 Azure 整合服務中重複使用元件。

BizTalk Server

  • 協調流程

    您可以建立常見的商業規則並在相同的應用程式內部或與多個應用程式共用,作為跨不同工作流程的協調流程。 您可以在 BizTalk Server 中使用原生發佈 - 訂閱機制 (以分離方式) 來觸發協調流程,或使用名為呼叫協調流程的協調流程圖形進行同步呼叫,或使用名為啟動協調流程進行非同步呼叫。

  • 配接器

    配接器是軟體元件,其使用普遍認可的資料通訊協定和文件格式來提供 BizTalk Server 與交易夥伴之間的連線能力。 這些元件使用符合普遍認可標準的傳遞機制,例如 SMTP、FTP、HTTP 等等,讓傳送和接收訊息變得更容易。 配接器是核心平台的一部分,因此所有現有的應用程式都會加以共用。 您也可使用 BizTalk Adapter Framework 建立自訂配接器 (原生或以 Windows Communication Foundation (WCF) 為基礎),藉此擴充這個階層。

  • 結構描述

    XML 結構描述定義 (XSD) 結構描述可在 BizTalk Server 中啟用合約型傳訊。 若要避免建立多餘的結構描述,您可以從編譯的組件參考結構描述。 若要使用共用結構描述,您必須從 BizTalk 專案新增共用元件的參考。

    雖然這個步驟聽起來很簡單,但管理共用元件的變更可能會因為相依性鏈結而變得困難。 如果共用組件需要更新,您必須從 BizTalk Server 移除所有參考共用組件的專案,才能安裝更新。 不過,若要避免這些條件約束,您可以實作組件版本設定,以便在其中為結構描述或共用結構描述部署新版本,而不會中斷現有的解決方案。

  • 對應和自訂運算質

    對應可在 BizTalk Server 中啟用 XML 訊息轉譯或轉換。 您可以共用對應,但就像共用結構描述一樣,類似的注意事項也適用於共用對應。 由於相依性鏈結,請仔細操作並確定您有成熟的軟體開發生命週期可管理變更。

    在對應中,運算質透過使用預先定義的公式和特定值來執行計算,稱為引數。 BizTalk Server 提供許多運算質來支援各種作業。 自訂運算質提供一種方式,讓您擴充 BizTalk Server 對應環境中的可用作業範圍。

    如果您開始建立許多對應,您會發現您重複實作類似的邏輯。 因此,您會發現自己花時間維護多個對等程式碼片段,您通常會將其複製並貼到對應內或跨對應的數個位置。 請考慮將這類程式碼片段轉換為自訂運算質。 如此一來,您只會建立運算質一次,但您可以視需要在多個對應中重複使用該運算質,而且僅在一處更新運算質。 每個自訂運算質都會使用從 Microsoft.BizTalk.BaseFunctoids 命名空間衍生的類別來部署為 .NET 組件。 單一組件可包含一個以上的自訂運算質。

  • .NET Framework 元件

    您可以跨 BizTalk Server 專案共用這些組件。 從相依性的觀點來看,這些組件更加容易管理。 如果沒有任何重大變更,.NET Fx 組件的更新會要求更新全域組件快取 (GAC) 中的 DLL,這樣會自動讓其他組件可以使用變更。 如果中斷性變更存在,您也必須更新相依專案,以配合 .NET Framework 元件中的變更。

  • 自訂管線和管線元件

    基於某些商務原因,當 BizTalk Server 接收和傳送訊息時,伺服器可能需要準備和轉換訊息以供進入和結束。 在 BizTalk Server 中,管線提供管道和篩選條件整合模式的實作,並包含許多功能,例如 JSON 編碼器和解碼器、MIME 或 SMIME 解碼器等等。

    當您需要將資訊新增至需要自訂管線的訊息內容時,BizTalk Server 會藉由建立自訂管線元件來提供自訂這些管線的功能。 自訂管線元件是 .NET 類別,可用來實作多個 BizTalk 介面,然後在任何自訂管線的不同階段內使用。 若要撰寫這類元件的程式碼,您可使用 C# 或 Visual Basic for .NET。

  • 規則引擎原則

    商務規則引擎原則是另一種成品,您可在相同 BizTalk 群組內部署的 BizTalk Server 應用程式之間共用。 如果您有共通商務規則引擎規則 (例如,與訊息路由相關),您可在一個位置管理這些規則,並在已安裝的 BizTalk 應用程式之間廣泛共用這些規則。 商務規則引擎會快取這些規則,所以如果對這些規則進行任何更新,則必須重新啟動商務規則引擎更新服務。 否則,此變更會在下一次快取逾時生效。

Azure Logic 應用程式

  • 整合帳戶

    在 Azure Logic Apps 中,整合帳戶是雲端式容器和 Azure 資源,可提供可重複使用成品的集中式存取權。 對於取用邏輯應用程式工作流程,這些成品包括合作對象、合約、XSD 結構描述、XSLT 對應、Liquid 範本型對應、憑證、批次組態和 .NET Fx 組件。

    對於標準邏輯應用程式工作流程,Azure Logic Apps 最近 引進了從 XSLT 轉換呼叫 .NET Fx 組件的支援,而不需要整合帳戶。 或者,您可以將結構描述、對應和組件新增至 Visual Studio Code 中的標準邏輯應用程式專案,接個部署至 Azure。

  • API

    API 可啟用數位體驗、讓資料和服務可重複使用並可通用存取、簡化應用程式整合,以及支援新的數位產品。 ​隨著 API 的激增和增加相依性,組織必須在整個生命週期中將其作為第一級資產加以管理。

    您可以在 Azure Logic Apps 內重複使用 API,特別是使用 Azure API 管理 管理的 API。 將 API 新增至 Azure API 管理 之後,您可以使用 API 管理 連接器搭配邏輯應用程式工作流程,以受控和管理的方式輕鬆存取 API。 Azure Logic Apps 也支援建立和使用自訂 API,讓您的組織可以在整個企業中推廣重複使用,且避免開發人員可能建立不必要的備援連接器。 自訂 API 對於誰可使用這些 API 很民主,而不是讓開發人員找出使用特定 API 的機制。

  • 自訂連接器

    如果您想要使用的 API 沒有預先建置的連接器,您可使用 OpenAPI 結構描述來包裝外部 API 以建立自訂連接器,並使用適當的權限從取用邏輯應用程式工作流程存取該連接器。 自訂連接器會在 Azure Logic Apps 與 API 之間建立合約,允許輕鬆組裝要求訊息,以及讓 Azure Logic Apps 接收可在下游動作中使用的具型別回應。 支援 REST API 和 SOAP API,且兩者皆可參考區域網路上存在的公用 API 或私人 API。

    針對標準邏輯應用程式工作流程,您建立以服務提供者為基礎的內建自訂連接器。

    藉由實作自訂連接器,您可建立用於傳送要求訊息和接收具型別回應的通用介面來簡化開發體驗。 如需詳細資訊,請參閱自訂連接器和 API

配接器和連接器

下一節分別說明 BizTalk Server 和 Azure 整合服務中的配接器和連接器概念。

BizTalk Server

為了與外部系統、應用程式和實體交換訊息,BizTalk Server 提供配接器,這些配接器是 COM 或 .NET Fx 元件,可使用各種通訊協定對商務端點進行雙向訊息傳輸,例如檔案系統、資料庫和自訂商務應用程式。 BizTalk Server 提供可支援各種通訊協定的原生配接器,例如:

  • 支援從檔案位置傳送和接收訊息的 FILE 配接器
  • 適用於 EDI、FTP、HTTP、MSMQ、SMTP、POP3 及 SOAP 通訊協定的配接器
  • 適用於 Windows SharePoint Services 的配接器

BizTalk Adapter Framework 提供穩定、開放的機制,讓所有配接器都能從 BizTalk Server 傳訊引擎實作或存取工作。 Microsoft.BizTalk.Adapter.Framework 命名空間中的介面讓配接器能夠修改組態屬性頁面。 BizTalk Adapter Framework 也提供將服務和結構描述匯入 BizTalk 專案的功能。 合作夥伴配接器也可向各種廠商和社群成員取得。 如需已知配接器的清單,請參閱 BizTalk Server:第三方配接器清單

Azure Logic 應用程式

當您使用 Azure Logic Apps 建置工作流程時,您可使用預先建置的連接器,協助您輕鬆快速地處理其他應用程式、服務、系統、通訊協定和平台中的資料、事件和資源,通常不需要撰寫任何程式碼。 Azure Logic Apps 提供不斷擴充的資源庫,其中包含數百個您可使用的連接器。 您可以為來自 Microsoft 和合作夥伴的許多雲端式或內部部署服務和系統 (例如 BizTalk Server、Salesforce、Office 365、SQL 資料庫、大多數 Azure 服務、大型主機、API 等等),建置整合解決方案。 有些連接器提供可執行程式設計作業的作業,例如條件式 (if) 陳述式、迴圈、資料作業、變數管理等等。 如果沒有連接器可用於您要的資源,則可使用一般 HTTP 作業來與服務通訊,或者也可建立自訂連接器。

在技術上,連接器是一種 Proxy,或基礎服務或系統用來與 Azure Logic Apps 通訊的 API 包裝函式。 此連接器提供您在工作流程中用來執行工作的作業。 作業可作為觸發程序或動作,其中包含您可設定的屬性。 某些觸發程序和動作也需要您先建立和設定基礎服務或系統的連線。 如有必要,您也會驗證使用者帳戶的存取權。

Azure Logic Apps 中的大多數連接器都是內建連接器或受控連接器。 有些連接器會以這兩種版本提供。 可用的版本取決於您建立取用邏輯應用程式工作流程或標準邏輯應用程式工作流程。

  • 內建連接器的設計訴求是要在 Azure Logic Apps 執行階段以原生方式執行,相較於任何受控連接器對應項目,通常會有較佳的效能、輸送量、容量或其他優點。

  • 受控連接器由 Microsoft 在 Azure 中部署、裝載和管理。 這些連接器可為雲端服務和/或內部部署系統提供觸發程序和動作。 在標準邏輯應用程式工作流程中,所有受控連接器都會分組為 Azure 連接器 。 不過,在取用邏輯應用程式工作流程中,受控連接器會根據其定價層級分組為「標準」或「企業」。

如需詳細資訊,請參閱下列文件:

應用程式連線能力

下一節說明從 BizTalk Server 和 Azure 整合服務與其他應用程式連線的選項。

BizTalk Server

配接器提供 BizTalk Server 中的連線功能,並在執行傳送或接收作業的 BizTalk 伺服器上本機執行。 大約有 30 個現成配接器可供使用,而 ISV 配接器的小型生態系統則提供額外的功能。 這些配接器在本機執行時,Windows 驗證是熱門的驗證方法。 常用的配接器包括 FILE、SFTP、SQL、WCF (Basic-HTTP)、HTTP 和 SMTP。 從這份清單,您可以判斷 BizTalk Server 中的配接器大多是通訊協定配接器。 因此,配接器通常會使用訊息導向傳訊模式,其中完整訊息會與其他系統交換,而在將資料載入最終資料存放區之前,這些系統負責剖析資料。

Azure Logic 應用程式

連接器提供 Azure Logic Apps 中的連線功能,並在通常由基礎 SaaS 系統擁有的 API 之上提供抽象概念。 例如,SharePoint 之類的服務是使用 API 優先方法來建置,其中 API 會為使用者提供服務功能,但相同的功能會公開,讓其他系統透過 API 呼叫。 為了簡化這些 API 的呼叫,連接器會使用中繼資料來描述傳訊合約,讓開發人員得知要求和回應中預期的資料。

下列螢幕快照顯示單一租使用者 Azure Logic Apps 中標準邏輯應用程式工作流程設計工具中的連接器作業搜尋體驗。 當您從 [運行時間] 列表中選取應用程式內時,可以找到內建連接器,例如 Azure Functions、Azure 服務匯流排、IBM DB2、SQL Server、Azure 儲存體、檔案系統、HTTP 等等。 如果您選取 [共享],則可以找到超過 1,000 個連接器,包括其他Microsoft SaaS 連接器、合作夥伴 SaaS 連接器等等。

螢幕快照顯示 Azure 入口網站、標準工作流程設計工具,以及根據是否已選取應用程式內或共用連接器。

Web 服務和 API 連線能力

下列各節說明 BizTalk Server 和 Azure Logic Apps 中 Web 服務和 API 連線的支援。

BizTalk Server

Web 服務支援是 BizTalk Server 中的熱門功能,可藉由與 Windows Communication Foundation (WCF) 整合來取得。 BizTalk 中的這項支援分為兩個類別:發佈和取用 WCF 服務。

WCF 配接器提供諸如 WS-Addressing、WS-Security 和 WS-AtomicTransaction 等 WS-* 標準的支援。 不過,此版本的 WCF 配接器不支援 WS-ReliableMessaging。

WCF 配接器支援透過模擬單一登入 (SSO),並取得搭配 WCF 配接器使用 SSO 的企業 SSO 票證。 此功能可讓使用者內容跨系統流動。 從驗證的觀點來看,服務驗證支援下列類型:None、Windows 和 Certificate。 用戶端驗證支援下列類型:Anonymous、UserName、Windows 和 Certificate。 支援的安全性模式包括下列類型:Transport、Message 和 Mixed。

WCF 支援使用 WS-AtomicTransaction 通訊協定的交易,您可以在 WCF 配接器中找到,例如 WCF-WsHttp、WCF-NetTcp 和 WCF-NetMsmq。 下列案例支援這項功能:

  • 交易式提交訊息至 MessageBox 資料庫
  • 從 MessageBox 至交易式目的地的交易式訊息傳輸

交易式範圍受限於 MessageBox 元件。 例如,BizTalk 協調流程不能參與用戶端的交易。 同樣地,目的端點也不能參與 BizTalk 協調流程起始的交易。

WCF 擴充性可透過 WCF 自訂繫結取得。 您必須編譯自訂程式碼,並將其新增至全域組件快取 (GAC)。 您也需要更新 machine.config 檔案,以包含新的延伸模組。 在安裝繫結之後,WCF-Custom 和 WCF-CustomIsolated 配接器即可看見延伸模組。

當您使用 BizTalk 管理主控台時,BizTalk Server 可將 WCF-BasicHTTP 接收位置公開為 Azure API 管理內的端點。 您也可以在 Azure 入口網站中使用 API 管理,透過 BizTalk Server 的 API 管理公開 SOAP 端點。 如需詳細資訊,請參閱在 API 管理中發佈 BizTalk WCF-BasicHTTP 端點

Azure Logic 應用程式

Azure Logic Apps 中的連線模型與 BizTalk Server 不同,部分原因是 API 經濟的演進。 當更多組織公開基礎系統和資料的存取權時,需要與平台無關的方法。 REST 現在是設計新式 Web 服務的主要架構方法。

在 Azure Logic Apps 中, REST 是連線系統的預設方法。 當 Microsoft 和其他軟體廠商在其系統和資料之上公開 RESTful 服務時,Azure Logic Apps 可以公開及取用這種類型的資訊。 OpenAPI 規格可讓人類和電腦透過中繼資料理解用戶端與伺服器之間的互動。 在此理解當中,要求和回應承載都是衍生的,這表示您可使用動態內容來填入工作流程動作的輸入,並在下游動作中使用來自回應的輸出。

根據實作連接器所呼叫基礎服務的軟體廠商,驗證配置會因連接器而有所不同。 一般而言,這些配置包括下列類型:

Microsoft 會加密傳輸中資料和待用資料,藉此提供強大的保護層。 當 Azure 客戶流量在資料中心之間移動時 (不受 Microsoft 或代表 Microsoft 控制的實體界限外),即使用 IEEE 802.1AE MAC 安全性標準 (MACsec) 的資料連結層加密方法,會從基礎網路硬體的點對點套用。

Microsoft 可讓您選擇使用傳輸層安全性 (TLS) 通訊協定來保護在雲端服務與客戶之間傳輸的資料。 Microsoft 資料中心與連線至 Azure 服務的用戶端系統交涉 TLS 連線。 TLS 提供增強式驗證、訊息隱私權、完整性 (能夠偵測訊息竄改、攔截和偽造),以及互通性、演算法彈性,以及方便部署和使用。

雖然本節著重於透過連接器的 RESTful 連線,但您可以透過自定義連接器體驗或使用可提供絕佳 SOAP 功能的 API 管理 體驗來實作 SOAP Web 服務連線。 如需詳細資訊,請參閱 藉由整合SOAP舊版資產與 Azure Logic Apps 和 Azure APIM 來增加商業價值。

封鎖配接器或連接器使用方式

下列各節說明在 BizTalk Server 和 Azure Logic Apps 中分別防止適配卡或連接器使用的選項。

BizTalk Server

BizTalk Server 不包含封鎖不同應用程式之特定配接器的概念,但您可從環境中移除這些配接器,以「阻止」在應用程式中使用。 BizTalk Server 中的配接器是平台設定的一部分,因此已安裝的配接器可供任何人使用。 您也可以為每個配接器定義特定的接收和傳送處理常式,這會定義屬於 BizTalk 群組的電腦,以執行或處理這些處理常式。

Azure Logic 應用程式

如果您的組織不允許在 Azure Logic Apps 中使用受控連接器來連線到受限制或未核准的資源,您可以禁止在邏輯應用程式工作流程中建立和使用這些連線。 您可以透過 Azure 原則來定義並強制執行原則,以針對您要封鎖的連接器,防止建立或使用連線。 例如,基於安全性考量,您可以封鎖對特定社交媒體平台或其他服務和系統的連線。

訊息持久性

下一節說明 BizTalk Server 和 Azure 整合服務中的訊息持續性。

BizTalk Server

MessageBox 資料庫藉由作為持續點來提供另一個優點,以確保訊息會先保存在儲存體中,再嘗試傳送至端點。 如果在耗盡任何已設定的重試嘗試之後無法傳送訊息,訊息會暫止並存放在 MessageBox 中。

圖表顯示 BizTalk MessageBox 資料庫作為持續性點。

身為系統管理員,您可以從 BizTalk 管理主控台繼續處理暫止的訊息。 當您使用協調流程時會發生相同的行為。 協調流程執行階段會保存商業邏輯,如果發生問題,您可以繼續該邏輯。 例如,您可以在下列案例中繼續處理協調流程中的訊息:

  • 在非不可部分完成範圍內傳送的訊息
  • 交易式範圍的結尾
  • 在啟動新的協調流程執行個體時 (啟動協調流程圖形)
  • 在偵錯中斷點
  • 當引擎決定凍結時
  • 當協調流程完成時
  • 當系統關閉時

BizTalk Server 提供所有這些現成功能。 您不需要擔心實作持續性,因為 BizTalk Server 會為您處理。

Azure Logic 應用程式

Azure Logic Apps 提供訊息持久性的方式如下:

  • 具狀態工作流程是取用邏輯應用程式中的預設值並適用於標準邏輯應用程式,具有檢查點可在訊息通過工作流程動作時追蹤工作流程狀態並儲存訊息。 這項功能可讓您存取存放在觸發程序和工作流程執行個體執行歷程記錄中的豐富資料,您可在其中檢閱詳細的輸入和輸出值。

    您可以透過 Azure 入口網站 或 API 重新執行工作流程實例。 此時,整個工作流程實例都會執行,不論先前執行中發生任何失敗的位置。 此行為意味著訊息至少會傳遞一次,而且會在取用者上發生等冪處理。 您也可以從目前處於預覽狀態的特定動作重新執行工作流程實例。 這項功能適用於所有動作,但非循序和複雜的並行案例除外。

  • 透過 Azure 服務匯流排中可用的瞄核鎖定傳訊,您可以在成功執行訊息後認可訊息,或在發生失敗時放棄訊息。 若要在 Azure Logic Apps 中使用這項功能,請選取 Azure 服務匯流排連接器。 認可的訊息會從訊息佇列中移除,而放棄的訊息則會解除鎖定並可供用戶端處理。 瞄核鎖定是達成「恰好一次」傳訊的絕佳方式。

發佈-訂閱架構

下列各節說明在 BizTalk Server 和 Azure Logic Apps 中實作發行-訂閱模式的選項。

BizTalk Server

發佈-訂閱 (pub-sub) 功能可透過 MessageBox 資料庫存在,就如先前一節 BizTalk Server 的運作方式所述。 建立訂用帳戶的常見方式是使用升級屬性,這可讓您將已定義的訊息結構描述中的特定元素或屬性識別為升級屬性。 然後,您可以建立訂用帳戶,以根據升級屬性的特定準則來篩選訊息。 例如,如果您升級了名為 City 的結構描述元素,您可以接著建立訂用帳戶,以篩選特定城市的 City 元素。 如果符合您的準則,您的訂用帳戶、傳送埠或協調流程都會收到訊息的複本。

Azure Logic 應用程式

由於架構與 BizTalk Server 完全不同,Azure 整合服務中的大部分服務都是以事件為基礎。 透過 Azure 服務匯流排,Azure Logic Apps 支援建置發行-訂閱解決方案。 Azure 服務匯流排 是完全受控的企業訊息代理程式,其中包含命名空間中的消息佇列和發佈-訂閱主題。 您可以使用 Azure 服務匯流排 來相互分離應用程式和服務,以提供下列優點:

  • 在競爭的背景工作之間進行工作的負載平衡。
  • 透過跨服務和應用程式界限的控制安全地路由和傳輸資料。
  • 協調需要高度可靠性的交易式工作。

Azure Logic Apps 包含 Azure 服務匯流排 連接器,可用來發佈和訂閱訊息。 優點是您可以獨立於工作流程使用傳訊。 不同於 BizTalk Server,您的傳訊會與工作流程平台分離。 雖然 Azure Logic Apps 中的傳訊和工作流程功能已分離,但您可以在支援訊息屬性(使用者屬性)的 Azure 服務匯流排 中建立訊息訂閱。 您可以使用這些屬性來提供主題訂用帳戶上建立的篩選所評估的索引鍵/值組。 當您藉由新增一或多個索引鍵/值組來設定 Azure 服務匯流排作業時,您可定義這些使用者屬性。 如需示範,請參閱以下影片:使用 Azure 整合服務的發佈-訂閱傳訊 - 第 2 部分內容型路由

在 Azure 整合服務外部,也可使用 Azure Cache for Redis 來實作發佈-訂閱案例。

商務規則引擎

下一節說明在 BizTalk Server 和 Azure 整合服務中設定商務規則的選項。

BizTalk Server

BizTalk Server 包含正向鏈結規則引擎,可讓您使用視覺化編輯器來建構 "if-then-else" 規則。 您可以將這些規則組合在可傳輸至 IT 環境中其他環境的原則內。 這些原則也可以存取 XSD 結構描述、.NET Fx 程式碼和 SQL Server 資料庫資料表,以查閱資料及擴充輸出。

Azure Logic 應用程式

Azure Logic Apps 包含目前處於公開預覽狀態的 Azure Logic Apps 規則引擎。 此規則引擎包含 BizTalk 商務規則引擎 (BRE) 執行時間,因此您可以使用重複使用現有的 BizTalk BRE 原則。 目前,只有 XML 和 .NET Framework 事實才支援。

資料轉換

下列各節說明 BizTalk Server 和 Azure Logic Apps 中的數據轉換功能。

BizTalk Server

提供豐富的工具,讓您將 XML 訊息從某種格式轉換成另一種格式。 資料轉換會使用 XSLT 對應,其支援允許將自訂 .NET Fx 程式碼插入這些對應中間的延伸物件。 您也可以使用現成的運算質,提供可重複使用的功能,以協助您建置豐富的對應。

除了核心 XML 轉換之外,BizTalk Server 也提供 CSV 和 JSON 格式的編碼和解碼,以便在這些格式與 XML 之間轉換,讓您可支援不同的格式。

Azure Logic 應用程式

  • 企業整合套件

    此元件遵循 BizTalk Server 中的類似概念,而讓 B2B 功能可在 Azure Logic Apps 中輕鬆使用。 但其中一個主要差異是,企業整合套件在架構方面以整合帳戶為基礎。 這些帳戶可簡化您在 B2B 案例中儲存、管理及使用成品 (例如合作對象、合約、對應 (XSLT 或 Liquid 範本)、結構描述和憑證) 的方式。

  • Liquid 範本

    對於邏輯應用程式工作流程中的基本 JSON 轉換,您可使用內建資料作業,例如撰寫動作或剖析 JSON 動作。 不過,某些案例可能需要執行進階且複雜的轉換,其中包含反覆運算、控制流程和變數等元素。 針對 JSON 到 JSON、JSON 到文字、XML 到 JSON 或 XML 到文字之間的轉換,您可以使用 Liquid 開放原始碼範本語言來建立 Liquid 範本,其中描述必要對應或轉換。

  • XML 作業

    針對邏輯應用程式工作流程中的 XML 轉換,您可以使用內建的 XML 作業,例如 使用架構 動作撰寫 XML,以及 使用架構 動作剖析 XML。

  • EDI 結構描述

    EDI 文件結構描述定義了 EDI 交易文件類型的內文。 對於邏輯應用程式工作流程,Microsoft 整合 GitHub 存放庫中的所有 BizTalk EDI 結構描述都可公開給您使用。

  • 標準邏輯應用程式

    在 Azure 入口網站中,您可以將對應和結構描述直接上傳至標準邏輯應用程式資源。 如果您在 Visual Studio Code 中使用標準邏輯應用程式專案,則可將這些成品上傳至 Artifacts 資料夾中的個別資料夾,而不需使用整合帳戶。 您也可以從 XSLT 對應呼叫自訂編譯的組件。

  • Azure Functions

    您可以使用 C# 或任何其他程式設計語言來執行 XSLT 或 Liquid 範本轉換,以建立您可以使用 Azure API 管理 或 Azure Logic Apps 呼叫的 Azure 函式。

網路連線

下一節說明 BizTalk Server 和 Azure 整合服務中的網路連線功能和能力。

BizTalk Server

一律在伺服器環境中安裝 BizTalk Server 時,網路連線能力取決於基礎伺服器的網路組態。 當您設定 BizTalk Server 的網路連線能力時,通常必須設定下列區域:

  • 相依性
  • 對終端系統的輸入和輸出連線能力
相依性設定

若要在多伺服器環境中完整設定 BizTalk Server,您必須特別注意所有網路連線相依性,這通常涉及防火牆組態,以啟用已知服務或通訊協定的 TCP 和 UDP 連接埠。 例如,這類服務和通訊協定包括存取 SQL Server 引擎、Microsoft 分散式交易協調器 (MSDTC)、叢集式網路磁碟機、安裝在不同伺服器上的 SSO 服務和 SharePoint,這些是您藉由建立輸入和輸出規則來實作連線能力而必須設定的所有服務。

輸入和輸出連線設定

在您完全設定 BizTalk Server 並準備好部署應用程式之後,務必實作防火牆規則,以允許主機執行個體連線和存取不同的服務,不論這些服務屬於內部還是外部網路。 當您考慮連線到組織網路外部的終端系統時,您也必須納入安全性考量。 各種系統都依賴定義允許的 IP 位址清單作為其第一道防線,所以在理想情況下,BizTalk Server 會透過妥善定義的公用 IP 位址清單,路由傳送其所有輸出通訊。

當合作夥伴服務嘗試連絡 BizTalk Server 時,請確定其無法觸達位於組織的網路或核心組織服務可能可用的內部層內的執行個體。 相反地,為合作夥伴服務提供端點的存取權,而該端點位於周邊網路 (也稱為非軍事區域 (DMZ)) 內,這是組織網路的最大界限。 不過,BizTalk Server 必須將訊息路由傳送至的服務通常存在於您組織的網路中,因此它們應該可以存取該內部層。

為了達成這些案例,有多個方法存在,例如:

  • 在周邊網路中實作 BizTalk Server,只允許自己的服務或主機執行個體存取貴組織的網路
  • 設定兩部 BizTalk Server,其中一部位於周邊網路,另一部則位於貴組織的網路中。 周邊網路中的伺服器接著會發佈組織網路中的伺服器所取用的訊息。
  • 開發自訂應用程式或設備軟體,例如 NetScaler 和 F5,其可作為反向 Proxy、代表周邊網路內的 BizTalk 接收訊息,以及將這些呼叫重新導向至 BizTalk Server。

Azure Logic 應用程式

  • 輸入和輸出連線

    Azure 提供多種方式來隔離其在網路界限內的服務,並連線內部部署和雲端工作負載。 下列清單說明可將 Azure 資源與網路周邊內的資源整合的不同方式:

    • 內部部署的資料閘道

      此閘道可作為 Azure 與網路周邊內資源之間的橋樑,在內部部署資料與各種 Microsoft 雲端服務之間提供快速且安全的資料傳輸。 這些服務包括 Azure Logic Apps、Microsoft Power BI、Microsoft Power Apps、Microsoft Power Automate 和 Azure Analysis Services。 透過此閘道,您可以將資料庫和其他資料來源保留在其內部部署網路中,並在雲端服務中安全地使用該內部部署資料。

    • 混合式連線

      對於 Azure 服務和 Azure App Service 中的功能,混合式連線都有支援案例並提供超出 Azure App Service 中使用的功能。 如需 Azure App Service 外部使用方式的詳細資訊,請參閱 Azure 轉送混合式連線。 在 Azure App Service 內,對於可透過連接埠 443 對 Azure 進行輸出呼叫的任何網路,您可使用混合式連線來存取其中的應用程式資源。 混合式連線可讓應用程式存取 TCP 端點,並不提供什麼新方法來存取應用程式。 在 App Service 中,每個混合式連線都會與單一 TCP 主機和連接埠的組合相互關聯。 這項功能可讓您的應用程式存取任何作業系統上的資源,前提是 TCP 端點存在。 混合式連線不知道或關心應用程式通訊協定或您想要存取的項目。 這項功能只是提供網路存取。

    • 虛擬網路整合

      透過 Azure 虛擬網路整合,您可以將 Azure 資源連線到 Azure 中設定的虛擬網路,讓您的應用程式能夠存取該虛擬網路中的資源。 Azure Logic Apps 中的虛擬網路整合只能用於從 Azure 資源對虛擬網路進行輸出呼叫。

      透過虛擬網路對等互連,您可以將內部部署網路連線至 Azure,以提供內部部署資源和 Azure 服務之間的雙向連線。 Azure 整合服務提供虛擬網路連線能力,允許進行混合式整合。 下圖顯示開啟 [網络] 頁面並啟用虛擬網路整合的標準邏輯應用程式資源 (如 [輸出流量] 方塊中所醒目提示)。 此組態可確保所有輸出流量都會離開此虛擬網路。

      顯示已啟用虛擬網路整合 Azure 入口網站、標準邏輯應用程式資源和網路功能頁面的螢幕快照。

    • 私人端點

      私人端點是使用虛擬網路之私人 IP 位址的網路介面。 此網路介面會私下且安全地連線到由 Azure Private Link 支援的 Azure 資源。 您可啟用私人端點,將該 Azure 資源帶入您的虛擬網路,並允許網路中的資源對您的 Azure 資源進行輸入呼叫。

下表顯示每個 Azure 整合服務資源可以使用的網路連線方法:

資源 內部部署的資料閘道 混合式連線 虛擬網路整合 私人端點
Azure API 管理
Azure Logic Apps (取用)
Azure Logic Apps (標準)
(使用 Azure 連接器)

(使用內建連接器)

(使用內建連接器)
Azure 服務匯流排
事件格線

自訂程式碼

下列各節說明在 BizTalk Server 和 Azure Logic Apps 撰寫和執行您自己的程式代碼的選項。

BizTalk Server

您可使用自訂 .NET Fx 程式碼,以多種方式擴充 BizTalk,例如:

功能 描述
內嵌程式碼 您可以在協調流程圖形內撰寫內嵌 C# 程式碼。 您也可以在 BizTalk 對應內撰寫內嵌程式碼。 在這兩種案例中,程式碼片段在本質上通常很簡單,而且無法進行偵錯。
編譯的組件 您可以從下列位置呼叫這些組件:

- 協調流程中的運算式圖形
- 使用指令碼處理運算質的 BizTalk 對應
- 商務規則引擎原則
- 作為自訂管線元件的管線

您可將 Visual Studio 偵錯工具連結至適當的主機執行個體 Windows 程序,以偵錯已編譯的組件。
自訂配接器 BizTalk Server 包含許多現成的配接器,但您始終可以視需要建立自己的配接器。
自訂 WCF 行為 BizTalk Server 包含許多現成的配接器,大部分都是以 Windows Communication Foundation (WCF) 為基礎的。 在某些情況下,您可能需要開發自訂行為來擴充其功能,例如將 OAuth 標頭套用至您的系統通訊。
BizTalk Server 對應中的擴充性 - 您可以使用 C#、JScript、Visual Basic、XSLT 或 XSLT 呼叫範本來建立內嵌程式碼,以抑制使用現成運算質的一些限制或困難。

- 您可以使用指令碼處理運算質來呼叫外部組件。

- 您可以建立自訂運算質,以在所有對應中使用。

Azure Logic 應用程式

Azure Logic Apps 可讓您從標準邏輯應用程式工作流程撰寫和執行 .NET 程式代碼。 為此,您必須搭配 Azure Logic Apps (Standard) 擴充功能使用 Visual Studio Code。

此外,內嵌程式代碼作業連接器也會提供名為 Execute JavaScript Code、Execute CSharp Script Code (預覽) 和 Execute PowerShell Code (預覽) 的動作。 您可以使用這些動作來撰寫支援動態內容輸入和輸出的小型代碼段。 Azure Logic Apps 引擎預期這些代碼段的運行時間很短。 代碼段完成執行之後,輸出就可供工作流程中的下游動作使用。 雖然此動作目前沒有任何直接偵錯支援,但您可以在工作流程執行個體的執行歷程記錄中檢視輸入和輸出。

可重複使用的元件一節所述,當您將這些組件上傳至整合帳戶時,呼叫 XSLT 對應中的 .NET Fx 組件的支援目前適用於取用邏輯應用程式工作流程。 這項功能可協助支援自訂資料轉換規則。 對於標準邏輯應用程式工作流程,Azure Logic Apps 小組最近發行了用於呼叫 XSLT 對應中 .NET Fx 程式碼的支援,而不需要整合帳戶。 您也可以在 Visual Studio Code 中新增組件並對應至標準邏輯應用程式專案,接著部署至 Azure。 如需詳細資訊,請參閱新增至 Azure Logic Apps (標準) XSLT 轉換的 .NET Framework 組件支援和「藍圖」一節。

您也可包含使用 Azure App Service 建立的 Azure API 應用程式或 Web 應用程式,以擴充工作流程。 當您需要裝載 Web 應用程式、REST API 和行動後端時,Azure App 服務 是「移至」HTTP 型解決方案。 您可以將裝載在 Azure App Service 中的應用程式與內部部署或雲端服務整合。 此平臺同時支援以 Windows 和 Linux 為基礎的環境,以執行和調整應用程式以及各種語言和架構,例如 ASP.NET Core、Java、Ruby、Node.js、PHP 和 Python。

應用程式群組

下列各節說明在 BizTalk Server 和 Azure Logic Apps 中組織工作負載的選項。

BizTalk Server

軟體開發生命週期的一部分包括建置和管理邏輯套件中的程式碼和成品。 BizTalk Server 支援應用程式的概念,讓您可以將 Visual Studio 解決方案部署到 BizTalk 應用程式。 因此,如果您有需要共用資源的情節,則可參考其他應用程式。

BizTalk Server 使用明確的共用模型,您可在其中新增已編譯組件的參考。 如果這些組件位於全域組件快取 (GAC),BizTalk 執行階段會視需要尋找和載入組件。 其中一個缺點是,當您需要更新共用組件時,除非您實作版本設定配置,否則您必須將所有參考您組件的 BizTalk 專案解除安裝,才能進行更新。 此限制可能會導致長時間的部署時程表,以及管理多個安裝和解除安裝的複雜度。

Azure Logic 應用程式

在 Azure Logic Apps 中,取用邏輯應用程式資源只包含單一具狀態工作流程,這表示您的工作流程和邏輯應用程式資源 (也就是您的應用程式) 一律具有一對一關聯性。 隨著標準邏輯應用資源的出現,應用程式概念不斷發展。 雖然您的標準邏輯應用程式資源仍然是您的應用程式,但您可以使用此資源來包含並執行多個工作流程,因而產生一對多關聯性。 如果您在 Visual Studio Code 中的標準邏輯應用程式專案本機工作,邏輯應用程式資源會對應至此單一專案。 使用這種方法,您可以輕鬆地且有邏輯地將相同專案中的相關工作負載、程式碼和成品分組,並將該專案部署為單一單元。

雲端架構的運作方式與以伺服器為基礎的架構不同,例如 BizTalk。 Azure Logic Apps (標準) 會使用提取模型來引進程式碼和成品。 因此,您會將任何其他必要的成品複製到您的專案中,接著使用您的程式碼和其他成品加以部署。 在某些情況下,您可能想要避免複製所有必要的程式碼和成品。 若是如此,您可以考慮將這項功能轉換成您可個別管理的服務,但可以從工作流程呼叫。

例如,假設您有組織廣泛使用的資料轉換。 您可以實作提供轉換即服務的介面,而不是包含跨多個邏輯應用程式專案的轉換對應。 然後,您可以將該服務的生命週期與邏輯應用程式專案分開管理,並從工作流程呼叫該服務。

利用在標準邏輯應用程式專案中包含多個工作流程的能力,您可能會詢問如何在專案內或跨多個專案組織這些工作流程? 答案通常取決於您的需求,例如:

  • 商務流程親和性
  • 端對端監視和支援
  • 安全性、角色型存取控制和網路隔離
  • 效能和業務關鍵性
  • 地理位置和異地備援

如需詳細資訊,請參閱在 Azure Logic Apps (標準) 中組織邏輯應用程式工作流程

安全性和控管

建置整合式解決方案時,安全性和治理自然很重要。 依照定義,中介軟體位於兩個或多個系統之間。 若要在建立連線時連線並存取這些系統,您通常需要傳遞認證或秘密,因此管理此敏感性資訊需要考量。

BizTalk Server

BizTalk 包含企業單一登入 (SSO),可讓您儲存、對應和傳輸配接器所使用的加密認證。 此加密資訊儲存在 SSO 資料庫中。 您也可以設定 SSO 分支機構應用程式,這是代表您要連線之系統或企業營運系統的邏輯實體。

Azure Logic 應用程式

Azure Logic Apps 支援下列安全性功能:

  • Azure Key Vault

    您可以使用 Azure Key Vault 來儲存認證、秘密、API 金鑰和憑證。 在 Azure Logic Apps 中,您可以使用 Azure Key Vault 連接器來存取這項資訊,然後使用安全輸入和輸出功能,從平台的記錄和執行歷程記錄中排除這項資訊。

    稍後在追蹤一節中,本指南說明執行歷程記錄功能,其提供工作流程執行的逐步重新執行。 雖然 Azure Logic Apps 提供擷取工作流程執行中每個輸入和輸出的價值主張,但有時候您需要更細微地管理敏感性資料的存取權。 您可使用觸發程序和動作的安全輸入和輸出功能來設定此資料的混淆處理,以在執行歷程記錄中隱藏這類內容,並防止將此資料傳送至 Azure 監視器,尤其是 Log Analytics 和 Application Insights。 下圖顯示執行歷程記錄中啟用安全輸入和安全輸出的範例結果。

    顯示啟用安全輸入和輸出之後,工作流程執行歷程記錄中隱藏輸入和輸出的螢幕擷取畫面。

  • OAuth 型整合

    大部分連接器都會在建立連線時使用此驗證類型。 這種方法讓與許多 SaaS 服務整合就像提供電子郵件地址和密碼一樣簡單。 Azure API 管理也支援 OAuth,因此您可藉由提供統一驗證配置來同時使用這兩項服務。

    BizTalk Server 中無法原生提供這項功能。

  • 受控識別

    Azure Logic Apps (Standard) 可以使用受控識別來驗證記憶體帳戶 存取權。 此外,某些連接器支援使用受控識別來驗證Microsoft Entra標識符所保護資源的存取權。 當您使用受控身分識別驗證連線時,不需要提供認證、祕密或 Microsoft Entra 權杖。

應用程式管理和存取管理

下一節說明在 BizTalk Server 和 Azure 整合服務中管理應用程式和存取權的選項。

BizTalk Server

系統管理員會使用 BizTalk Server 系統管理員主控台來管理 BizTalk Server 應用程式。 此工具是 Microsoft 管理主控台 (MMC) 豐厚用戶端應用程式,系統管理員可用於部署應用程式、檢閱先前、作用中和已排入佇列的交易,以及執行深入的疑難排解活動,例如檢閱追蹤和重新提交交易。

Azure Logic 應用程式

Azure 入口網站是系統管理員和支持人員用來檢視及監視介面健康情況的常見工具。 針對 Azure Logic Apps,此體驗包含透過執行歷程記錄取得的豐富交易追蹤。

您也可使用細微的角色型存取控制 (RBAC),以便管理及限制對不同層級 Azure 資源的存取。

儲存體

下一節說明在 BizTalk Server 和 Azure 整合服務中儲存資料的選項。

BizTalk Server

BizTalk Server 高度依賴 SQL Server 資料存放區和資料持續性。 BizTalk Server 中所有其他元件和主機在整合不同商務應用程式中都有特定角色,例如接收、處理或路由傳送訊息。 不過,資料庫電腦會擷取此工作並將其保存到磁碟。 例如,當 BizTalk Server 接收內送訊息時,在其他主機擷取訊息以供協調流程處理和傳送之前,接收主機會將該訊息保存到 MessageBox 資料庫。

當您負責佈建和管理 SQL 資料庫時,高可用性是確保運作時間的重要架構元件。 為了提供 BizTalk Server 資料庫的高可用性,客戶通常會使用 Windows 叢集來建立伺服器叢集,其中包含執行 SQL Server 的兩部或多部電腦。 此伺服器叢集可為 BizTalk Server 資料庫提供備援和容錯功能。 不像載入平衡叢集是以一個電腦群組一起運作以增加可用性和可擴縮性,伺服器叢集通常包含兩個一組的主動/被動組態的資料庫電腦,如此,其中一部電腦即可為另一部電腦提供備份資源。

Azure Logic 應用程式

Azure Logic Apps 依靠 Azure 儲存體來儲存和自動加密待用資料。 這道加密可保護您的資料安全,並協助您符合組織安全性和合規性承諾。 根據預設,Azure 儲存體會使用 Microsoft 管理的金鑰來加密您的資料。 如需詳細資訊,請參閱待用資料的 Azure 儲存體加密

當您透過 Azure 入口網站使用 Azure 儲存體時,所有交易都會透過 HTTPS 進行。 您也可以透過 HTTPS 使用記憶體 REST API 來使用 Azure 記憶體。 若要在呼叫 REST API 來存取儲存體帳戶中的物件時強制使用 HTTPS,請啟用儲存體帳戶所需的安全傳輸。

資料組態

當您想要在環境之間移動整合解決方案,而不需重新編譯或重新組合程式碼時,組態與程式碼之間的分隔變得很重要。 組態資訊通常為環境特有,因此您可以定義在整個環境中部署解決方案時需要變更的端點和其他詳細資料。

BizTalk Server

  • BizTalk NT 服務可執行檔

    這個可執行檔會呼叫名為 BTSNTSvc.exe.config 的 app.config 檔案。此檔案提供索引鍵/值組,以便儲存明文組態資訊。 不過,請根據下列考量處理此檔案:

    • 務必仔細複寫 BizTalk 組態內所有電腦的組態。

    • 組態變更會要求您重新啟動主機執行個體,才能取得此組態檔中的最新值。

    • 此組態檔引入的任何語法錯誤,都會防止主機執行個體啟動並導致停機。

  • 企業 SSO 工具

    您也可以使用此工具作為組態存放區。 社群工具 也可使用企業 SSO 用於啟用資料管理。 您接著可透過 SDK 工具來存取此資料,以在執行階段擷取此資料。

  • 自訂快取元件

    通常會引進這些元件,因此您可解決索引鍵/值組以外的使用案例。 例如,假設您想要將表格式資料儲存在 SQL Server 資料庫中,並在主機執行個體啟動時將該資料載入記憶體中。 此實作可讓 BizTalk Server 藉由執行自訂 .NET Fx 程式碼,在執行階段取得此資訊。 然後,您可以從協調流程、BizTalk 對應和自訂管線元件存取此資料。

  • 自訂資料庫

    資料庫是開發人員和系統管理員的已知技術和語言,所以自訂資料庫是儲存應用程式組態資料的另一個常見選項。

  • 商務規則引擎 (BRE)

    雖然不是主要使用案例,但 BRE 也可作為組態存放區。 無論您是從協調流程或管線元件呼叫引擎,都可以在 BRE 原則中定義環境特定資訊,然後將對應的原則部署至相關環境。 在執行階段,協調流程或管線元件都可以在下游函式中存取和使用這項資訊,例如對應或路由狀況。

  • 自訂組態檔

    您可以使用自訂組態 (.config) 檔案來儲存應用程式組態資料,但這種方法並不常見,因為您可能必須為所有環境維護這些檔案的靜態和固定位置。

  • Windows 登錄

    您可以使用 Windows 登錄作為儲存應用程式組態值的有效選項。 此登錄是一個中央階層式資料庫,Microsoft Windows 作業系統用於儲存為一或多個使用者、應用程式和硬體裝置設定系統所需的資訊。 登錄包含下列基本元素:Hive、機碼和值。 不過,在具有多個登錄的大型環境中維護登錄中儲存的值可能很困難,而且難以備份個別的應用程式設定。

Azure Logic 應用程式

  • Azure Key Vault

    此服務會儲存及保護應用程式和雲端服務所使用的密碼編譯金鑰和其他秘密。 由於安全金鑰管理對於保護雲端資料至關重要,請使用 Azure Key Vault 來加密及儲存金鑰和密碼,例如密碼。

  • Azure 應用程式組態

    此服務會集中管理應用程式設定和功能旗標。 您可以將所有 Azure 應用程式的組態儲存在通用託管位置。 藉由避免耗時的重新部署,即時且可靠地管理組態,而不會影響客戶。 Azure 應用程式組態專為速度、可擴縮性和安全性所建置。

  • Azure Cosmos DB

    這項服務是完全受控的 NoSQL 資料庫,適用於新式應用程式開發,其中有個位數毫秒的回應時間,以及自動和即時可擴縮性,可保證在任何規模的速度。 您可以將組態資料載入 Azure Cosmos DB,然後使用 Azure Logic Apps 中的 Azure Cosmos DB 連接器存取該資料。

  • Azure 資料表儲存體

    此服務提供另一個儲存體設備,以低成本保留組態資料。 您可使用 Azure Logic Apps 中的 Azure 表格儲存體連接器,輕鬆地存取此資料。 如需詳細資訊,請參閱 Azure 表格儲存體

  • 自訂快取

    您也可以使用 Azure 整合服務實作自訂快取解決方案。 熱門方法包括在 Azure API 管理Azure Cache for Redis 中使用快取原則

  • 自訂資料庫

    資料庫是開發人員和系統管理員的已知技術和語言,所以自訂資料庫是儲存應用程式組態資料的另一個常見選項。

大型檔案處理

下一節說明在 BizTalk Server 和 Azure 整合服務中處理大型檔案的選項。

BizTalk Server

為了解決大型檔案處理,BizTalk Server 會根據下列設定檔包含最佳化項目

  • 僅限訊息路由

    如果您只使用 BizTalk Server 來根據升階的訊息屬性路由傳送訊息,訊息會使用 .NET XmlReader 介面串流至 MessageBox 資料庫。 BizTalk Server 不會將個別訊息組件載入記憶體,因此在此案例中,記憶體不足錯誤不成問題。 不過,主要考量是將非常大型訊息 (超過 100 MB) 寫入 MessageBox 資料庫所需的時間量。 BizTalk Server 開發團隊已成功測試,在僅執行路由時處理高達 1 GB 的訊息。 如需詳細資訊,請參閱最佳化管線效能

  • 使用對應進行資料轉換

    當 BizTalk Server 使用對應轉換文件時,這項可能耗用記憶體的作業會將訊息傳遞至 .NET XslCompiledTransform 類別,以載入 XSL 樣式表單。 載入作業成功完成之後,多個執行緒可以同時呼叫 Transform 方法。 如需詳細資訊,請參閱 XslCompiledTransform 類別

    BizTalk Server 藉由實作可設定的訊息大小閾值,供轉換期間將文件載入記憶體,以大幅改善大型文件的記憶體管理。 根據預設,訊息大小閾值是 1 MB。 對於任何大小低於此閾值的訊息,BizTalk Server 會處理記憶體內的訊息。 若要減少任何大小高於此閾值之訊息的記憶體需求,BizTalk Server 會將訊息緩衝處理至檔案系統。

Azure Logic 應用程式

使用 BizTalk Server 之類的內部部署中介軟體平台與使用 Azure Logic Apps 之類的 PaaS 供應項目來處理大型檔案之間,存有一些基本差異。 例如,仔細檢查大型訊息案例以尋找合適的解決方案,因為新式雲端環境中可能有不同的方法可解決此問題。

檔案大小限制

Azure 中存在檔案大小限制,以確保一致且可靠的體驗。 若要驗證您的案例,請務必檢閱 Azure Logic Apps 服務限制文件。 有些連接器針對超出預設訊息大小限制的訊息支援訊息區塊化,這會根據連接器而有所不同。 訊息區塊化的運作方式是將大型訊息分割成較小的訊息。

Azure Logic Apps 不是唯一有訊息大小限制的服務。 例如,Azure 服務匯流排也有這類限制。 如需在 Azure 服務匯流排中處理大型訊息的詳細資訊,請參閱大型訊息支援

提領票證模式

若要避免檔案大小限制,您可以實作提領票證模式,其運作方式是將大型訊息分割成提領票證和承載。 您會將提領票證傳送至傳訊平台,並將承載存放在外部服務上。 如此一來,您就可以處理大型訊息,同時保護訊息匯流排和用戶端免於多載。 此模式也有助於降低成本,因為儲存體通常比訊息平台所使用的資源單元便宜。

Azure Data Factory

Azure Data Factory 提供另一個選項來處理大型檔案。 此服務是 Azure 的 ELT 供應項目,適用於可調整的無伺服器資料整合和資料轉換,可透過無程式碼的視覺化體驗進行直覺式撰寫和單一管理平台 (single-pane-of-glass) 監視和管理。 您也可以將現有的 SQL Server Integration Services (SSIS) 套件隨即轉移至 Azure,並在 Azure Data Factory 中以完整相容性執行這些套件。 SSIS Integration Runtime 提供完全受控的服務,因此您不必擔心基礎結構管理。 如需詳細資訊,請參閱將 SQL Server Integration Services 工作負載隨即轉移至雲端

在內部部署架構中,SSIS 是將大型檔案載入資料庫的熱門管理選項。 作為該架構的雲端對等項目,Azure Data Factory 可以處理橫跨各種資料來源的大型資料集轉換和移動,例如檔案系統、資料庫、SAP、Azure Blob 儲存器、Azure 資料總管、Oracle、DB2、Amazon RDS 等等。 當您有大型資料處理需求時,請考慮使用 Azure Data Factory 作為比 Azure Logic Apps 和 Azure 服務匯流排更好的選項。

監視和警示

BizTalk Server

  • BizTalk 健康情況監控

    此工具是 MMC 嵌入式管理單元,可用來監視 BizTalk Server 環境的健康情況並執行維護工作。 功能包括 MsgBox Viewer (MBV) 報告、結束字元工具工作、電子郵件通知、報告集合,以及 perfmon 整合。

  • BizTalk 管理主控台

    此工具也是一個 MMC 嵌入式管理單元,可供系統管理員探索失敗、暫止的執行個體、目前正在重試的交易、狀態等等。 工具體驗在本質上非常被動,因為您必須不斷重新整理主控台以檢閱最新資訊。

  • BizTalk360

    外部 Web 解決方案,可對 BizTalk Server 環境提供完全控制。 此單一工具提供 BizTalk Server 的作業、監視和分析功能。

Azure Logic 應用程式

在 Azure Logic Apps 中,有下列選項可供使用:

  • 針對取用邏輯應用程式工作流程,您可以在 Azure 入口網站中安裝 Logic Apps 管理解決方案 (預覽),並設定 Azure 監視器記錄以收集診斷資料。 將邏輯應用程式設定為將該資料傳送至 Azure Log Analytics 工作區之後,遙測會流向 Logic Apps 管理解決方案可提供健康情況視覺效果的位置。 如需詳細資訊,請參閱設定 Azure 監視器記錄並收集 Azure Logic Apps 的診斷資料。 啟用診斷後,您也可以使用 Azure 監視器,根據不同的訊號類型傳送警示,例如觸發程序或執行失敗時。 如需詳細資訊,請參閱監視執行狀態、檢閱觸發程序記錄,以及設定 Azure Logic Apps 的警示

  • 針對標準邏輯應用程式工作流程,您可以啟用Application Insights支援,其提供策展視覺效果作為監視 Azure 服務的基礎。 這些視覺效果可協助您使用專為 Azure Logic Apps (Standard) 設計的儀錶板,更有效地監視標準工作流程。 儀錶板範圍涵蓋標準邏輯應用程式內的工作流程。 儀錶板建置在 Azure 活頁簿上,並提供各種視覺效果。 您可以輕鬆地擴充和自定義這些活頁簿,以符合特定需求。

Serverless 360 是來自 Kovai 的外部解決方案,可透過對應 Azure 服務 (例如 Azure Logic Apps、Azure 服務匯流排、Azure API 管理和 Azure Functions) 來提供監視和管理。 您可以在 Azure 服務匯流排中使用無效信件佇列來重新處理訊息、啟用自我修復以解決間歇性服務中斷,以及透過綜合交易設定主動式監視。

您可以在入口網站體驗中設定自訂監視規則及檢視記錄。 您可以透過各種頻道傳送通知,例如電子郵件、Microsoft Teams 和 ServiceNow。 若要以視覺化方式判斷介面的健康情況,可以使用服務對應。

商務活動監控

下一節說明在 BizTalk Server 和 Azure 整合服務中監視和收集工作負載遙測的選項。

BizTalk Server

BizTalk Server 包含稱為商務活動監控 (BAM) 的功能,可讓開發人員和商業分析師定義可套用至協調流程的追蹤設定檔。 當訊息透過接收和傳送埠移動時,資料屬性會擷取並儲存在 BAM 資料庫中。 自訂實作也可透過 .NET Fx API 取得。

Azure Logic 應用程式

身為開發人員或商務分析師,致力於使用各種 Azure 資源整合服務和系統的解決方案,您可能無法將解決方案與商務案例中的技術元件之間的關聯性可視化。 若要在解決方案中包含 Azure 資源的相關商務內容,您可以建置商務程式,以可視化方式呈現這些資源所實作的商業規則。 在 Azure 商務程序追蹤中,商務程式是一系列階段,代表流經真實世界商務案例的工作。

另一個選項是您可以使用來自 Kovai 的外部解決方案,稱為 Serverless 360。 除了監視平台,您還可使用商務活動監視功能,針對雲端原生和混合式整合的商務程序流程提供端對端追蹤。 這項功能包含受控連接器,開發人員可用來檢測程式碼並擷取重要的商務資料。 系統管理員接著可以建置儀表板並與商業分析師共用。

追蹤

下一節說明用以追蹤成品的選項,以便在 BizTalk Server 和 Azure 整合服務中進行效能監視和健康情況分析。

BizTalk Server

  • 訊息追蹤

    BizTalk Server 系統管理員可以使用訊息本文追蹤 指出何時將訊息本文保存到儲存體進行疑難排解和稽核。 從效能和儲存體的觀點來看,訊息追蹤是昂貴的作業,所以可選擇性地使用這項功能來避免效能問題。 當您在接收和傳送埠上啟用訊息本文追蹤時,BizTalk Server 會使用名為 TrackedMessages_Copy_<message-box-name>SQL Server Agent 作業,將資料複製到 BizTalk 追蹤資料庫 (BizTalkDTADb)

    圖表顯示 BizTalk Server 中的協調流程追蹤。

    您可以將追蹤套用至幾乎所有的 BizTalk Server 成品,包括協調流程、管線、接收埠、傳送埠、結構描述和商務規則。 這些選項會在執行階段啟用或停用,而不會影響您的程式碼 (解決方案) 或不需要重新啟動。

  • 健全狀況和活動追蹤 (HAT)

    雖然 HAT 工具已從 2009 版開始的 BizTalk Server 衝移除,但此功能仍存在於 BizTalk 管理主控台中。 系統管理員可以透過群組概觀體驗內的 [新增查詢] 介面來搜尋資料。 您可以根據不同的準則量身打造查詢,包括事件類型、連接埠名稱、URI、結構描述名稱等等。 如果您想要檢閱透過接收或傳送埠移動的訊息本文,假設您已啟用連接埠層級追蹤,您即可存取這項資訊。 如需詳細資訊,請參閱健康情況和活動追蹤

  • 與 Application Insights 和 Azure 事件中樞整合

    BizTalk Server 2016 Feature Pack 1 開始,您可以將遙測發佈至 Azure 監視器中的 Application Insights 或 Azure 事件中樞。 這種方法可避免 SQL Server 磁碟容量問題,讓您可以改用彈性的雲端式資料存放區,例如 Application Insights、Log Analytics,以及 Azure Logic Apps 中的執行歷程記錄。

Azure Logic 應用程式

Azure Logic Apps 也提供豐富的執行歷程記錄,讓開發人員和支援分析師可以檢閱動作遙測的動作,包括所有已處理的輸入和輸出。 為了協助保護任何敏感性資料,您可以在工作流程中的個別動作上啟用安全輸入和輸出。 此功能會模糊處理或隱藏記錄和工作流程執行歷程記錄中的資料,以避免流失。

除了資料混淆之外,您還可以使用 Azure RBAC 規則來保護資料存取。 Azure RBAC 包含 適用於 Azure Logic Apps (Standard) 的特定內建角色。

除了 Azure RBAC 之外,您也可以依 IP 位址範圍限制 Azure Logic Apps 中執行歷程記錄的存取權

裝載

下一節說明 BizTalk Server 和 Azure 整合服務的裝載選項。

BizTalk Server

BizTalk Server 2020 從累積更新 6 開始,支援下列Microsoft平臺和產品:

  • Windows Server 2022、Windows Server 2019 和 Windows 11
  • Visual Studio 2019 Enterprise 和 Visual Studio 2019 Professional
  • SQL Server 2022、SQL Server 2019
  • Office 2019 和 Office 2016

您可以在自己的硬體、內部部署虛擬機器或 Azure 虛擬機器上安裝和執行 BizTalk Server。 透過 BizTalk Server、Windows Server、SQL Server 等支援,Azure 虛擬機器可以讓您靈活地將範圍廣泛的計算解決方案虛擬化。 目前世代的虛擬機器均免費提供負載平衡與自動調整功能。

Azure Logic 應用程式

  • 主機方案

    在單一租用戶 Azure Logic Apps 中,標準邏輯應用程式類似於 Azure 函式或 Web 應用程式,您可以在其中使用單一工作流程服務方案來裝載多個標準邏輯應用程式。 這種相似性表示您不需要在單一標準邏輯應用程式資源中部署所有工作流程。 相反地,您可以將這些工作流程組織成邏輯群組 (邏輯應用程式),協助您更妥善地管理解決方案的其他層面。 這種方法可協助您充分利用工作流程服務方案,以及確保您應用程式的面向未來,您可加以實作以便個別調整。

    標準邏輯應用程式具有下列定價層:WS1、WS2 和 WS3。 從功能上來說,每一層都提供相同的功能。 您對計算和記憶體的要求決定了最適合您的案例,例如:

    定價層 虛擬 CPU (vCPU) 記憶體 (GB)
    WS1 1 3.5
    WS2 2 7
    WS3 4 14

    如需詳細資訊,請參閱 標準模型中的定價層。

  • 混合式部署模型 (預覽)

    Azure Logic Apps 提供混合式部署模型,讓您可以在內部部署、私人雲端或公用雲端案例中部署及裝載標準邏輯應用程式工作流程。 當您需要使用本機處理、數據儲存和網路存取時,此模型可讓您在部分連線的環境中裝載整合解決方案。 透過混合式選項,您可以自由彈性地選擇工作流程的最佳環境。 如需詳細資訊,請參閱使用混合式部署為標準邏輯應用程式設定您自己的基礎結構(預覽版)。

  • 可用性與備援

    在 Azure 中,可用性區域提供復原能力、分散式可用性和主動-主動-主動區域可擴縮性。 若要增加邏輯應用程式工作負載的可用性,您可以啟用可用性區域支援,但只有在您建立邏輯應用程式時。 在任何支援及啟用區域備援的 Azure 區域中,您至少需要三個不同的可用性區域。 Azure Logic Apps 平台會將這些區域和邏輯應用程式工作負載分散到這些區域。 這項功能是啟用復原架構的重要要求,如果區域發生資料中心失敗,則會提供高可用性。 如需詳細資訊,請參閱使用可用性區域建置高可用性的解決方案

  • 隔離且專用的環境

    針對標準邏輯應用程式,您可選擇為部署環境選取 App Service Environment (ASE) v3。 使用 ASE v3,您可取得完全隔離且專用的環境,以可預測的定價大規模執行應用程式。 不論您建立和執行多少個邏輯應用程式,您都只需支付 ASE App Service 方案的費用。

如需需要其他 Azure 整合服務的案例,請參閱下列檔:

部署

BizTalk Server

BizTalk Server 中的原生部署封裝是以結合環境組態或繫結檔案的 Microsoft Installer (MSI) 檔案為基礎。 這兩個檔案會建立元件安裝之間的區隔,而這些元件會部署到下列 BizTalk Server 存放庫,並在連結埠和管線層級定義設定,包括端點、秘密、管線組態等等。

  • 管理 DB
  • BizTalk Server 本機資料夾
  • .NET 全域組件快取

雖然此程序可以證明有效,但您也必須與程式碼分開管理每個個別環境組態。 BizTalk 部署架構 (BTDF) 開放原始碼專案就此問題提供一個解決方案。 搭配此工具,您可使用在設計階段建立的權杖化繫結檔案,以及您為每個環境建立為 Excel 檔案的權杖矩陣,將環境組態當作 BizTalk Server 解決方案的一部分維護。

建置程序接著會建立統一並已設定版本的 MSI 檔案。 此檔案支援來自相同套件的元件部署和環境組態,這可讓您更妥善地控制您想要跨環境實作的解決方案版本。

在 BizTalk Server 2020 中可取得持續整合-持續部署 (CI/CD) 管線中的 BTDF 套件支援,其中包括 BizTalk Server 2016 Feature Pack 引進的這項功能。 您可使用這項功能和 Azure DevOps 平台,簡化跨環境 BizTalk Server 解決方案的自動部署。

Azure Logic 應用程式

當您將 Azure Logic Apps 資源或任何其他 Azure Integration Services 元件或解決方案部署到 Azure 時,您必須管理下列專案:

  • 作為您要部署解決方案的容器或基礎結構的 Azure 資源,例如標準邏輯應用程式資源、API 管理 實例、服務匯流排 命名空間或事件方格主題

  • 每個元件實作的實際邏輯,例如工作流程、API、佇列和訂用帳戶

  • 與每個元件相關聯的環境特定組態,例如權限、秘密、警示等等

當您將基礎結構定義與程式碼分開時,您可將基礎結構定義視為另一段程式碼,而您可為其設定版本、安全地儲存在原始檔控制存放庫中,以及在定義變更時觸發部署。 這種做法通常稱為基礎結構即程式碼 (IaC),可改善環境品質,因為您可為每個環境建立版本,並將變更追蹤回原始檔控制。

Azure Logic Apps 支援 IaC,方法是提供使用 Azure 資源管理範本建立基礎結構資源的功能。 雖然 ARM 範本似乎很複雜,若要加以瞭解並當作統一的解決方案實作,您可使用擷取工具,例如 Bicep、Terraform 或 Pulumi,其可提供建立基礎結構定義的類似程式碼體驗。 雖然這些工具透過 ARM 範本提供抽象層,但工具最終會產生 ARM 範本並可為您部署這些範本。

基礎結構到位後,您就可以部署可實作端對端工作流程的邏輯。 由於 Azure 整合服務提供一組工具來實作整合工作流程,因此您必須部署每個元件。 針對使用 Azure 整合服務建置的解決方案,CI/CD 管線通常是以部署元件的協調流程為基礎。 DevOps 工程師可以使用可擷取部署活動的內建動作,或使用可執行 CLI 命令或自動化指令碼的一般動作,例如 PowerShell 和 Bash。 在大部分情況下,工程師會根據應用程式的需求自訂管線、檢閱官方文件中的指引,以及使用範例存放庫作為起點。

讓每個元件準備好進行部署的程序通常會考慮下列步驟:

  • 持續整合階段

    1. 取得原始程式碼的最新版本。

    2. 使用環境特定組態準備程式碼。

      此步驟的細節取決於每項技術對外部插入環境變數的支援。 基本前提是會擷取以環境為基礎的組態資訊 (例如連接字串和外部資源的參考) 來參考應用程式設定存放庫。 因此,在此案例中,您會儲存可在應用程式設定存放庫中直接以明文形式存在的參考,但您會儲存敏感性值 (例如秘密) 作為秘密存放區中項目的參考指標,例如 Azure 金鑰保存庫。

      Azure Logic Apps 藉由支援應用程式設定存放庫的參考,讓標準邏輯應用程式資源能使用這種方法,而您可接著將名稱/值組對應至金鑰保存庫中的項目。

    3. 封裝程式碼以便在各種環境中部署。

  • 持續部署階段

    1. 在目的地環境中部署封裝的程式碼。

    2. 使用正確的環境值 (以明文形式或金鑰保存庫中項目的參考形式) 來更新應用程式設定存放庫。

    3. 更新相依於程式碼的任何必要權限。

    4. 視需要讓應用程式準備好執行。

功能搭配

下表和圖表大致顯示資源、成品、特性和功能如何比較 BizTalk Server、Azure Logic Apps 和 Azure Integration Services 之間的比對。 雖然 Azure Logic Apps 是整合工作負載的重要平臺,但請務必考慮 Azure Integration Services 和整個 Azure 中的所有可用功能。

特色或功能 BizTalk Server Azure
協調流程 - BizTalk Server 協調流程
- C# 程序代碼
- Azure Logic Apps 工作流程
- Azure Logic Apps 工作流程範本
- Azure Functions 函式應用程式
管線 - BizTalk Server 管線
- 管線元件
- Azure Logic Apps 工作流程 (作為管線)
- Azure API 管理 (作為管線)
- Azure Functions 函式應用程式
- Azure API 應用程式
訊息路由 - MessageBox
- 屬性升階
- 篩選條件
- Azure 服務匯流排佇列和主題 (訊息標頭、訊息屬性和訂用帳戶)
- Azure 事件方格或 Azure API 管理
- SQL Server 或 Azure Cache for Redis
應用程式連線能力 - BizTalk Server 現成和自訂配接器
- Internet Information Services (IIS) 和 Azure API 管理 (混合式功能)
- Azure Logic Apps 連接器
- Azure API 管理 (作為連接器)
- Azure Functions 函式應用程式
- Azure API 應用程式
交互參考 BizTalk 管理資料庫 (BizTalkMgmtDb) 上的 xref_ * 資料表 - Azure Functions
- SQL Server
- 自訂
結構描述 (XSD) - BizTalk Server 結構描述
- XML、JSON 和一般檔案結構描述
- Azure Logic Apps(標準)
- Azure 整合帳戶
- Azure 記憶體帳戶
- Azure Functions 函式應用程式
- Azure API 應用程式
地圖 - BizTalk 對應工具
- XSLT 對應
- Azure API 管理 (混合式功能)
- Azure Logic Apps (標準) - XSLT 地圖、Liquid 範本
- Azure 整合帳戶 (XSLT 地圖,Liquid 範本)
- Azure 記憶體帳戶
- Azure Functions 函式應用程式
- Azure API 應用程式
- 資料對應程式工具 (適用於 Visual Studio Code 的 Azure Logic Apps Standard 延伸模組)
商務規則 BizTalk Server 商務規則引擎 Azure Logic Apps 規則引擎
商務活動監控 BizTalk Server 商務活動監控 Azure 商務程序追蹤
EDI - BizTalk Server 現成功能
- 合作對象、合作夥伴、合約、AS2、X12、EDIFACT
Azure Logic Apps 和 Azure 整合帳戶(合作夥伴、合約、AS2、X12、EDIFACT)
HL7、RosettaNet 和 SWIFT 適用於 HL7、RosettaNet 和 SWIFT 的 BizTalk Server 加速器 - Azure Logic Apps、Azure 整合帳戶、RosettaNet 和 SWIFT 連接器
- 適用於 FHIR 的 Azure API 管理 (HL7)
- Azure 藍圖,可在 Azure 上啟用 SWIFT CSP 合規性
密碼 企業單一登入 (SSO) - Azure Key Vault
- SQL Server
- 應用程式組態
安全性和控管 - 企業單一登入 (SSO)
- SSO 分支機構應用程式
- Active Directory
- 簽署憑證
- IIS 安全性驗證
- 網路安全性
- Microsoft Entra ID
- Azure 網路安全性
- Azure 角色型存取控制 (Azure RBAC)
- 宣告、權杖
- 共用存取原則
資料組態 - 組態檔
- 企業 SSO 應用程式組態
- 自訂快取元件
- 自訂資料庫
- 商務規則引擎
- Windows 登錄
- Azure Key Vault
- Azure 應用程式組態
- Azure Cosmos DB
- Azure 表格儲存體
- Azure Logic Apps (標準) 組態
- Azure Functions 組態
- Azure API 管理具名值和後端
- SQL Server
- 自訂快取
- 自訂資料庫
部署 - BizTalk Server 繫結檔案 - Azure Pipelines
- Bicep 指令碼
- Terraform
追蹤 - BizTalk Server 追蹤功能 (接收埠、傳送埠、管線、協調流程)
- IIS 追蹤
- Azure API 管理內建分析 (混合式功能)
- Azure Logic Apps 執行歷程記錄和追蹤的屬性
- Azure 儲存體帳戶
- Azure 監視器 (Application Insights)
- Azure API 管理內建分析
- 自訂解決方案,例如 Azure 事件中樞加上 Azure Functions 加上 SQL Server 加上 Azure 資料總管
監視 - BizTalk 管理主控台
- BizTalk 健康情況監控
Azure 監視器 (Application Insights、Log Analytics)
Operations - BizTalk Server 管理主控台
- Azure Pipelines
- MSI、PowerShell
- BizTalk 部署架構
- Azure 入口網站
- Azure 監視器
- Azure Resource Manager 範本
- Azure Pipelines
- PowerShell、CLI、Bicep

圖表顯示 BizTalk Server 與適用於企業整合平臺的 Azure Logic Apps 元件之間的比對。

若要了解更新的投資動態,請訂閱 Azure 部落格上的整合 - 技術社群

下一步

您已深入瞭解 Azure Logic Apps 與 BizTalk Server 的比較方式。 接下來,了解如何針對您的案例選擇最佳的 Azure 功能。 或者,跳到檢閱建議的方法和資源、規劃考量,以及移轉的最佳做法。