如何:在 ESB 路线服务中启用 BAM 跟踪
目标
本部分演示如何为现有行程启用 Business Activity Monitor (BAM) 跟踪。
在本操作方法主题中,你将完成以下步骤:
启用用于使用业务活动监视器跟踪行程服务的属性。
使用路线测试客户端示例应用程序测试 BAM 跟踪。
使用 SQL 查询验证 BAM 结果。
必备条件
本操作方法主题中的过程要求完成 开发活动的先决条件。
开始之前
在执行本操作指南主题后面的步骤之前,请完成以下任务:
(DSL) 模型创建特定于 ESB 路线域的语言。
配置行程的属性。
定义行程的结构。
以下过程介绍了如何执行其中每个操作。
创建 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 属性窗口中,配置以下属性:
单击 Name 属性,然后键入 ReceiveNAOrder。
在 “扩展程序 ”下拉列表中,单击“ On-Ramp ESB 服务扩展”。
在 “BizTalk 应用程序 ”下拉列表中,单击“ Microsoft.Practices.ESB”。
在 “接收端口 ”下拉列表中,单击“ OnRamp.行程”。
从“工具箱”中,将 “路线服务 ”模型元素拖到设计图面,然后将其置于 On-Ramp 模型元素的右侧。 在“行程服务1”属性窗口中,配置以下属性:
单击 Name 属性,然后键入 MapNAOrderToCNOrder。
在 “行程服务扩展程序 ”下拉列表中,单击“ 消息传送路线服务扩展”。
注意
此属性定义该过程将在管道中发生, (消息传送) 。 或者,如果该过程将在业务流程中发生,请将 “行程服务扩展程序 ”属性设置为 “业务流程路线服务扩展”。
在 “容器 ”下拉列表中,展开“ ReceiveNAOrder”,然后单击“ 接收处理程序”。
在 “服务名称” 下拉列表中,单击“ Microsoft.Practices.ESB.Services.Transform”。
右键单击 MapNAOrderToCNOrder 模型元素的 Resolver 集合,然后单击“添加新冲突解决程序”。 在 Resolver1 属性窗口中,配置以下属性:
单击 Name 属性,然后键入 StaticallySpecifyTheMap。
在 “冲突解决程序实现” 下拉列表中,单击“ 静态冲突解决程序扩展”。
在 “转换类型” 下拉列表中,单击“ GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN”。
在 “TransportName” 下拉列表中,单击“ 文件”。
在“工具箱”中,单击“ 连接器”。 将连接从 ReceiveNAOrder 模型元素拖动到 MapNAOrderToCNOrder 模型元素。
从“工具箱”中,将 Off-Ramp 模型元素拖动到设计图面,然后将其置于 MapNAOrderToCNOrder 模型元素的右侧。 在 OffRamp1 属性窗口中,配置以下属性:
单击 Name 属性,然后键入 SendCNOrder。
在 “扩展程序 ”下拉列表中,单击“ Off-Ramp ESB 服务扩展”。
在 “BizTalk 应用程序 ”下拉列表中,单击“ GlobalBank.ESB”。
在 “发送端口 ”下拉列表中,单击“ DynamicResolutionOneWay”。
从“工具箱”中,将 “路线服务 ”模型元素拖动到设计图面,然后将其放置在 MapNAOrderToCNOrder 模型元素和 SendCNOrder 模型元素之间。 在“行程服务1”属性窗口中,配置以下属性:
单击 Name 属性,然后键入 SendPortFilter。
在 “行程服务扩展程序 ”下拉列表中,单击“ 出发路线服务扩展”。
在 “Off-Ramp ”下拉列表中,展开 “SendCNOrder”,然后单击“ 发送处理程序”。
右键单击 SendPortFilter 模型元素的 Resolver 集合,然后单击“添加新冲突解决程序”。 在 Resolver1 属性窗口中,配置以下属性:
单击 Name 属性,然后键入 ConfigureFolderSettings。
在 “冲突解决程序实现” 下拉列表中,单击“ 静态冲突解决程序扩展”。
在 “传输名称” 下拉列表中,单击“ 文件”。
单击“ 传输位置” 属性,然后键入 C:\HowTos\Out\BAM%MessageID%.xml
注意
每个离坡道将有一个与之关联的行程服务:行程服务属性和 off-ramp 属性的组合定义了动态发送端口的订阅。
在“工具箱”中,单击“ 连接器”。 将连接从 MapNAOrderToCNOrder 模型元素拖动到 SendPortFilter 模型元素。
在“工具箱”中,单击“ 连接器”。 将连接从 SendPortFilter 模型元素拖动到 SendCNOrder 模型元素。
保存所有项目项目。
步骤
修改行程
在 Visual Studio 中,打开 C:\HowTos\Patterns\Patterns.sln。
在解决方案资源管理器中,双击“BamTracking.行程”。
单击 MapNAOrderToCNOrder 行程服务元素。
在 MapNAOrderToCNOrder 属性窗口中,单击“启用跟踪”下拉列表中的“True”。
单击 SendPortFilter 行程服务元素。
在 SendPortFilter 属性窗口中,单击“已启用跟踪”下拉列表中的“True”。
导出模型以用于路线测试客户端
在 Visual Studio 中,右键单击 BamTracking 路线的设计图面,然后单击“ 导出模型”。
注意
将在 Visual Studio 中打开行程的 XML 版本。
保存所有项目项目。
在 Windows 资源管理器中,浏览到 C:\HowTos\Itineraries,并注意创建行程 XML (BamTracking.xml) 。
测试行程
使用开发 活动的先决条件 (C:\HowTos\ESB.Itinerary.Test.exe - 快捷方式) 中创建的快捷方式打开路线测试客户端示例应用程序。
在“行程测试客户端”中,清除“使用 WCF 服务检查”框,然后单击“加载路线”。
在 “打开路线文件 ”对话框中,浏览到 C:\HowTos\Itineraries。 选择 “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 列查找最新的条目。
其他资源
有关详细信息,请参阅下列相关主题: