匯出 (0) 列印
全部展開

將 BizTalk Server EDI 方案移轉至 BizTalk 服務的相關指引

更新日期: 2014年5月

作者:Tim Wieman 和 Nitin Mehrotra

校稿者:Karthik Bharthy

撰寫工具:Microsoft Azure BizTalk 服務 – 2014 年 2 月版。

電子資料交換 (EDI) 又名為「企業對企業」或 B2B 交易,是企業以電子方式交換資料時最常使用的方法之一。BizTalk Server 自最初的 BizTalk Sever 版本以來,已支援 EDI 達十年以上。隨著 BizTalk 服務 的引進,Microsoft 持續在 平台上支援 EDI 方案。B2B 交易大部分會在組織以外執行,因此若能在雲端平台上實作,會比較容易。 可透過 BizTalk 服務 提供這項功能。

雖然某些客戶將 BizTalk 服務 視為新 EDI 方案的「綠地」平台,但仍有許多客戶想將目前擁有的 BizTalk Server EDI 方案移轉至 Azure。由於 BizTalk 服務 EDI 是根據與 BizTalk Server EDI 架構相同的基本要素 (交易夥伴、實體、協議) 而建構的,因此將 BizTalk Server EDI 成品移轉至 BizTalk 服務 是可行的。

本文將討論 BizTalk Server EDI 成品移轉至 BizTalk 服務 時的某些差異。本文假設您具有 BizTalk Server EDI 處理和交易夥伴協議的應用知識。如需 BizTalk Server EDI 的詳細資訊,請參閱使用 BizTalk Server 的交易夥伴管理

BizTalk Server 2010 的 BizTalk Server EDI 模組在重新建立模型而納入夥伴、設定檔和協議後,已有大幅強化。BizTalk 服務 在組織交易夥伴和這些交易夥伴內的業務部門時,使用的是相同的模型。因此,要將 EDI 成品從 BizTalk Server 2010 和更新版本移轉至 BizTalk 服務,會比以往直接簡單得多。若要移轉與 BizTalk Server 2010 之前的版本相關聯的 EDI 成品,您必須先升級至 BizTalk Server 2010,然後將 EDI 成品移轉至 BizTalk 服務。

如同 BizTalk Server,BizTalk 服務 中的 EDI 處理也是根據交易夥伴管理 (TPM) 方案而建立的。TPM 方案具有下列主要元件:

  • 交易夥伴,代表 B2B 交易中的組織。

  • 設定檔,代表交易夥伴內的部門。

  • 一或多個交易夥伴協議,代表夥伴/設定檔之間的商業協議。

下圖說明 BizTalk Server EDI 方案與 BizTalk 服務 EDI 方案之間的類似和相異之處。

BizTalk Server 與 BizTalk 服務的 EDI 方案主要有下列相異和相似之處:

  • 如同 BizTalk Server 會使用 EDIReceive 管線接收 EDI 訊息,並使用 EDISend 管線傳送 EDI 訊息,BizTalk 服務 也會使用 EDI 接收橋接器接收 EDI 訊息,並使用 EDI 傳送橋接器對外傳送訊息。在 BizTalk Server 中,管線會透過傳送或接收埠與協議產生關聯。在 BizTalk 服務中,會由協議本身指定傳送或接收橋接器。

  • 在 BizTalk Server 中,在 EDIReceive 管線處理 EDI 訊息後,訊息會傾印至 SQL Server 資料庫。接著,EdiSend 管線會從 SQL Server 資料庫取得訊息並加以處理,然後對外傳送給交易夥伴。

    在 BizTalk 服務 中,EDI 接收橋接器在處理 EDI 訊息後,會將訊息路由傳送至外部處理序。此外部處理序可在 或內部部署上執行。外部處理序應將訊息路由傳送至 EDI 傳送橋接器;傳送橋接器本質上並不會提取訊息。處理訊息後,EDI 傳送橋接器會將訊息路由傳送給交易夥伴。

BizTalk 服務 易於設定的使用性,可讓您快速地在交易夥伴之間建立及部署 B2B 協議,而無須設定任何 運算執行個體 (Web 或背景工作角色)、Microsoft Azure SQL Database 或 儲存帳號。在複雜的案例中,則必須在交易夥伴協議的「邊緣」繫結工作流程或其他服務處理,也就是說,在交易夥伴協議 EDI 橋接器處理之前或之後。明確而言,在 BizTalk 服務 中處理 EDI 訊息的期間,會依序發生下列事件。

  1. EDI 訊息是從交易夥伴 Fabrikam 接收而來。為了接收來自交易夥伴的 EDI 訊息,BizTalk 服務 會支援 FTP、SFTP、AS2 和 HTTP/S 之類的傳輸通訊協定。

  2. 交易夥伴協議接收端處理會將 EDI 訊息分解為 XML 格式。您可以將分解的 EDI 訊息 (XML 格式) 路由傳送至 服務匯流排 轉送端點、服務匯流排 主題、服務匯流排 佇列或 BizTalk 服務 橋接器之類的 服務匯流排 端點。

  3. 然後可以從端點接收分解的 XML 訊息,以進行進一步的自訂處理。這些端點可由內部部署元件或 運算執行個體處理,以進一步處理 Windows Workflow (WF) 或 Windows Communication Foundation (WCF) 等服務中的訊息。

  4. 然後交易夥伴協議的「傳送端處理」會將 XML 訊息組合成 EDI 格式,並將它傳送到交易夥伴 Contoso。為了將 EDI 訊息傳送給交易夥伴,BizTalk 服務 會支援與用來接收 EDI 訊息相同的通訊協定。

本文將進一步提供如何將某些不同的 BizTalk Server EDI 成品移轉至 BizTalk 服務 的觀念指引。

在 BizTalk Server 中,您會設定「接收位置」和「接收埠」以接收來自交易夥伴的 EDI/XML 訊息,並且設定「傳送埠」以將 EDI/XML 訊息傳送給交易夥伴。接著,您會使用 BizTalk Server 管理主控台將這些連接埠繫結至交易夥伴協議。在 BizTalk 服務 中,您對交易夥伴接收訊息的位置以及傳送訊息給交易夥伴的位置,會在 BizTalk 服務入口網站 中設定為交易夥伴協議的一部分 ([傳輸設定] 的一部分)。因此,您實際上在 BizTalk 服務 中並沒有「傳送連接埠」和「接收位置」本身的概念。如需詳細資訊,請參閱建立協議

BizTalk Server EDI 中的訊息處理實體是管線,且管線中也可依照應用程式的需求包含用於特定處理功能的自訂邏輯。而 BizTalk 服務 中,具有對等角色的則是 EDI 橋接器。但就目前而言,BizTalk 服務 中的 EDI 橋接器會是「關閉」的。也就是說,您無法將本身的自訂活動新增至 EDI 橋接器。任何自訂處理都必須在應用程式中的 EDI 橋接器 以外執行,無論是在訊息進入交易夥伴協議所設定的橋接器之前還是之後。EAI 橋接器可以執行自訂處理。如果您需要自訂處理,您可以在 EDI 橋接器處理訊息之前或之後使用 EAI 橋接器。如需相關資訊,請參閱在橋接器中使用自訂程式碼

在交易夥伴協議接收訊息之前,或在協議處理訊息並將其路由傳送至 服務匯流排 端點之後,您可以使用自訂程式碼和 (或) 服務匯流排 訊息佇列和主題插入發佈/訂閱流程。

請參閱案例/訊息流程以取得訊息流程模式。

如果您熟悉用來處理 EDI 的 BizTalk Server 2010 交易夥伴協議,您對 BizTalk 服務 交易夥伴協議就不會感到陌生。大部分的協議設定都相同,而且使用相同的詞彙。在某些情況下,協議設定相較於 BizTalk Server 中的相同設定會簡單許多。Microsoft Azure BizTalk 服務 支援 X12、EDIFACT 和 AS2 傳輸。

Microsoft Azure BizTalk 服務 也提供 TPM 資料移轉工具,可將 BizTalk Server 交易夥伴模組中的交易夥伴和協議移轉至 BizTalk 服務入口網站。TPM 資料移轉工具包含在「工具」封裝中,可從 http://go.microsoft.com/fwlink/?LinkId=235057 下載取得。此封裝也包含一個 Readme 檔案,可提供工具使用方式的相關指示,以及工具的基本疑難排解資訊。

BizTalk 服務 提供可用於 BizTalk 服務 方案的 EDI 結構描述。此外,BizTalk Server EDI 結構描述也可與 BizTalk 服務 搭配使用,因為 BizTalk Server 和 BizTalk 服務 的 EDI 結構描述具有相同的根節點。因此,您將能夠直接取得您的 BizTalk Server EDI 結構描述,並在您以 BizTalk 服務 開發的 EDI 方式中加以使用。您可以從 http://go.microsoft.com/fwlink/?LinkId=235057 下載結構描述。

BizTalk Server 中的對應,在 BizTalk 服務 之中稱為「轉換」。將 BizTalk Server 中的對應移轉至 BizTalk 服務,可能是執行起來較複雜的工作之一 (取決於對應複雜性)。用於 BizTalk 服務 的對應工具與 BizTalk 對應程式不同。雖然對應程式看起來幾乎相同,但是基本對應格式不同。使用者可用的運算質 (在 BizTalk 服務 中稱為 對應作業) 也不同。實際上,您無法在 BizTalk 服務 中直接使用 BizTalk 對應。此外,並非 BizTalk Server 中的所有可用運算質都可在 BizTalk 服務 中當作對應作業使用。

雖然可用的轉換對應作業清單可能與 BizTalk Server 對應程式差異頗大,但 BizTalk 服務 轉換卻可透過新的方式來完成相同工作。例如,BizTalk 服務 轉換有可用的清單作業,這在 BizTalk 對應程式中並未提供。清單作業可讓您建立及操作「清單」,清單是一組項目 (也稱為「資料列」),而且每個項目都可以有多個成員 (也稱為「資料行」)。您可以排序清單、依據條件選取項目等等。

BizTalk 服務 轉換中另一個新功能的範例為迴圈作業。在 BizTalk Server 對應程式中很難建立巢狀迴圈。因此,將會針對 BizTalk 服務 轉換新增迴圈對應作業。

另一個範例是 If-Then-Else 運算式對應作業。在 BizTalk 對應程式中執行 if-then-else 作業是可行的,但是需要多個運算質來完成這項看似簡單的工作。

Microsoft Azure BizTalk 服務 提供了將 BizTalk Server 對應移轉至 BizTalk 服務 轉換的工具。BTMMigrationTool 包含在 BizTalk 服務 SDK 隨附的「工具」封裝中,可從 http://go.microsoft.com/fwlink/?LinkId=235057 下載取得。如需此工具的詳細資訊,請參閱將 BizTalk 對應移轉至 BizTalk 服務轉換

您也可以參考 BizTalk 最有價值專家 Sandro Pereira 所提供的範例,以瞭解如何將 BizTalk Server 對應移轉至 BizTalk 服務 轉換。該範例可從這裡存取。按這裡可參閱根據此範例撰寫的文章。

如果您必須將 BizTalk Server 協調流程處理移轉至 ,協調流程將必須重寫,因為 不支援 BizTalk Server 協調流程的執行。您可以在 Windows Workflow Foundation 4.0 (WF4) 服務中重寫協調流程功能。這會是完全重寫,因為目前無法從 BizTalk Server 協調流程移轉至 WF4。以下是 Windows Workflow 的一些資源:

  • Paolo Salvatori 撰寫的<如何整合 WCF Workflow Service 與 Service Bus 佇列和主題>。請參閱這裡 (http://go.microsoft.com/fwlink/?LinkId=237313)。

  • Build 2011 會議中的<使用 Windows Workflow Foundation 和 Azure 建立應用程式>課程。請參閱這裡 (http://go.microsoft.com/fwlink/?LinkId=237314)。

  • MSDN 上的 Windows Workflow Foundation 開發人員中心。請參閱這裡 (http://go.microsoft.com/fwlink/?LinkId=237315)。

  • MSDN 上的 Windows Workflow Foundation 4 (WF4) 文件集。請參閱這裡 (http://go.microsoft.com/fwlink/?LinkId=237316)。

以下是您使用 BizTalk 服務 時必須考量的若干事項。

BizTalk Server EDI processing has the concept of "Fallback Agreements". BizTalk 服務 does not have a Fallback Agreement concept so far.請參閱 BizTalk 文件集主題 EDI 處理中協議的角色設定全域或後援協議屬性,以取得如何在 BizTalk Server 中使用後援協議的資訊。

BizTalk 服務 橋接器以其目前的狀態而言,並不支援使用「發佈-訂閱」模型將訊息路由傳送至多個目的地。您可以將訊息從一個 BizTalk 服務 橋接器路由傳送至一個 服務匯流排 主題,如此即可有多個訂閱會接收多個端點上的訊息。

Microsoft Azure BizTalk 服務 會定期更新以新增特性和功能。每次更新時,我們都期望能支援更多功能,以利透過 BizTalk 服務 和其他 技術建立端對端方式。

另請參閱

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft