如何:在 ESB 路線服務中啟用 BAM 追蹤
目標
本節示範如何為現有的路線啟用商務活動監視器 (BAM) 追蹤。
在此操作說明主題中,您將完成下列步驟:
啟用用於使用商務活動監視器追蹤路線服務的屬性。
使用路線測試用戶端範例應用程式測試 BAM 追蹤。
使用 SQL 查詢來驗證 BAM 結果。
必要條件
本操作說明主題中的程式需要完成 開發活動的必要條件。
開始之前
請先完成下列工作,再執行本操作說明主題稍後的步驟:
建立 ESB 路線網域特定語言 (DSL) 模型。
設定路線的屬性。
定義路線的結構。
下列程式說明如何執行這些動作。
建立 ESB 路線 DSL 模型
在 Visual Studio 中,開啟 C:\HowTos\Patterns\Patterns.sln。
在 方案總管 中,以滑鼠右鍵按一下[行程][程式庫] 專案,指向 [新增],然後按一下 [新增路線]。
在 [ 新增專案 ] 對話方塊中,按一下 [範本] 窗格中的 [路線][Dsl ]。
在 [ 名稱] 方塊中,輸入 BamTracking,然後按一下 [ 新增]。
設定路線的屬性
在 Visual Studio 中,按一下 BamTracking.itinerary的設計介面。 在BamTracking屬性視窗中,設定下列屬性:
在 [ 模型匯出工具 ] 下拉式清單中,按一下 [XML 路線匯出工具]。
在 [擴充功能設定 ] 區段中,按一下 [行程 XML 檔案 ] 屬性旁的省略號按鈕 (...) 。
在 [ 選取 XML 檔案 ] 對話方塊的 [ 檔案名 ] 方塊中,輸入 C:\HowTos\Itineraries\BamTracking ,然後按一下 [ 儲存]。
注意
此步驟可讓您將路線匯出為 XML 到本機檔案位置。 藉由將路線匯出至本機檔案位置,而不是前往路線資料庫,即可使用 ESB 測試用戶端應用程式來測試路線。 您稍後將會在本操作說明主題中完成此程式。
定義路線的結構
從 [工具箱] 中,將 On-Ramp 模型專案拖曳至設計介面。 在OnRamp1屬性視窗中,設定下列屬性:
按一下 [ 名稱 ] 屬性,然後輸入 ReceiveNAOrder。
在 [ 擴充器] 下拉式清單中,按一下 [ On-Ramp ESB 服務擴充功能]。
在 [BizTalk 應用程式 ] 下拉式清單中,按一下 [Microsoft.Practices.ESB]。
在 [ 接收埠 ] 下拉式清單中,按一下 [OnRamp.Itinerary]。
從 [工具箱] 中,將 [路線服務 ] 模型專案拖曳至設計介面,然後將它放在 On-Ramp 模型元素的右邊。 在ItineraryService1屬性視窗中,設定下列屬性:
按一下 [ 名稱] 屬性,然後輸入 MapNAOrderToCNOrder。
在 [ 路線服務擴充項 ] 下拉式清單中,按一下 [ 傳訊路線服務延伸模組]。
注意
此屬性會定義在管線 (傳訊) 中進行進程。 或者,如果流程將在協調流程中發生,請將 [路線服務擴充程式 ] 屬性設定為 協調流程路線服務延伸模組。
在 [ 容器 ] 下拉式清單中,展開 [ReceiveNAOrder],然後按一下 [ 接收處理常式]。
在 [ 服務名稱] 下拉式清單中,按一下 [Microsoft.Practices.ESB.Services.Transform]。
以滑鼠右鍵按一下MapNAOrderToCNOrder模型專案的Resolver集合,然後按一下 [新增解析程式]。 在Resolver1屬性視窗中,設定下列屬性:
按一下 [ 名稱] 屬性,然後輸入 StaticallySpecifyTheMap。
在 [ 解析程式實 作] 下拉式清單中,按一下 [靜態解析程式擴充功能]。
在 [ 轉換類型] 下拉式清單中,按一下 [GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN]。
在 [ TransportName ] 下拉式清單中,按一下 [ 檔案]。
在 [工具箱] 中,按一下 [連接器]。 將 連接從 ReceiveNAOrder 模型專案拖曳至 MapNAOrderToCNOrder 模型專案。
從 [工具箱] 中,將 Off-Ramp 模型元素拖曳至設計介面,然後將它放在 MapNAOrderToCNOrder 模型元素的右邊。 在OffRamp1屬性視窗中,設定下列屬性:
按一下 [ 名稱] 屬性,然後輸入 SendCNOrder。
在 [ 擴充器] 下拉式清單中,按一下 [關閉坡形 ESB 服務擴充功能]。
在 [BizTalk 應用程式 ] 下拉式清單中,按一下 [GlobalBank.ESB]。
在 [ 傳送埠 ] 下拉式清單中,按一下 [DynamicResolutionOneWay]。
從 [工具箱] 中,將 [路線服務 ] 模型專案拖曳至設計介面,然後將它放在 MapNAOrderToCNOrder 模型元素與 SendCNOrder 模型元素之間。 在ItineraryService1屬性視窗中,設定下列屬性:
按一下 [ 名稱] 屬性,然後輸入 SendPortFilter。
在 [ 路線服務擴充項 ] 下拉式清單中,按一下 [下拉式路線服務延伸模組]。
在 [關閉坡形] 下拉式清單中,展開 [SendCNOrder],然後按一下 [ 傳送處理常式]。
以滑鼠右鍵按一下SendPortFilter模型專案的Resolver集合,然後按一下 [新增解析程式]。 在Resolver1屬性視窗中,設定下列屬性:
按一下 [名稱 ] 屬性,然後輸入 ConfigureFolderSettings。
在 [ 解析程式實 作] 下拉式清單中,按一下 [靜態解析程式擴充功能]。
在 [ 傳輸名稱] 下拉式清單中,按一下 [ 檔案]。
按一下 [ 傳輸位置] 屬性,然後輸入 C:\HowTos\Out\BAM%MessageID%.xml
注意
每個離道都會有與其相關聯的路線服務;路線服務屬性和離道屬性的組合會定義動態傳送埠的訂用帳戶。
在 [工具箱] 中,按一下 [連接器]。 將 連接從 MapNAOrderToCNOrder 模型元素拖曳至 SendPortFilter 模型專案。
在 [工具箱] 中,按一下 [連接器]。 將 連線從 SendPortFilter 模型專案拖曳至 SendCNOrder 模型專案。
儲存所有專案成品。
步驟
修改路線
在 Visual Studio 中,開啟 C:\HowTos\Patterns\Patterns.sln。
在方案總管中,按兩下BamTracking.行程。
按一下 MapNAOrderToCNOrder 路線服務元素。
在MapNAOrderToCNOrder屬性視窗中,按一下 [已啟用追蹤] 下拉式清單中的[True]。
按一下 SendPortFilter 路線服務專案。
在SendPortFilter屬性視窗中,按一下 [已啟用追蹤]下拉式清單中的[True]。
匯出模型以搭配路線測試用戶端使用
在 Visual Studio 中,以滑鼠右鍵按一下 BamTracking 路線的設計介面,然後按一下 [ 匯出模型]。
注意
路線的 XML 版本會在 Visual Studio 中開啟。
儲存所有專案成品。
在 Windows 檔案總管中,流覽至 C:\HowTos\行程,並注意建立路線 XML (BamTracking.xml) 。
測試路線
使用開發 活動 必要條件 (C:\HowTos\ESB.Itinerary.Test.exe - 快捷方式) 期間建立的快捷方式,開啟路線測試用戶端應用程式範例應用程式。
在 [路線測試用戶端] 中,清除 [ 使用 WCF 服務 ] 核取方塊,然後按一下 [ 載入路線]。
在 [ 開啟路線檔案 ] 對話方塊中,流覽至 C:\HowTos\行程。 選取 [BamTracking.xml],然後按一下 [ 開啟 ] 以載入路線。
按一下 [確定 ] 以清除 [成功載入路線 ] 訊息。
在 [路線測試用戶端] 中,按一下 [ 載入消息 ] 方塊旁的省略號按鈕 (...) 。
在 [ 選取要載入的 XML 檔 ] 對話方塊中,流覽至 C:\HowTos。 選取 [NAOrderDoc.xml],然後按一下 [ 開啟 ] 以載入測試訊息。
按一下 [ 提交要求] 按鈕。 測試完成時,按一下 [ 確定 ] 以關閉出現的確認。
在 Windows 檔案總管中,流覽至 C:\HowTos\Out。確認 BAM%MessageID%.xml 訊息已寫入目錄。
驗證郵件追蹤
按一下工作列上的 [開始],指向 [所有程式],指向 [SQL Server 2014 或 SQL Server 2012 SP1],然後按一下[SQL Server Management Studio]。
按一下 [新增查詢] 。
在查詢窗格中,輸入下列內容:
SELECT * FROM [BAMPrimaryImport].[dbo].[bam_ItineraryServiceActivity_Completed] GO
按一下 [執行] 。
在 [結果] 窗格中,使用 TimeStamp 資料行來找出最新的專案。
其他資源
如需詳細資訊,請參閱下列相關主題: