很长时间都想也这篇BAM的文章,记得最早接触BAM还是一年之前在微软做BizTalk 2006 r2 的新特性DEMO.那里面介绍了RFID 和 WCF两个适配器的使用.而想要写这篇文章算起来也快有一年了.在那里面使用到了BAM.
先简单介绍一下BAM: 业务活动监视 (BAM) 是一套工具,用于管理聚合、警报和配置文件,以监视相关的业务度量(称为关键性能指标或 KPI)。它能够提供对业务流程的端对端的可见性,还能够给出有关各种操作、流程和交易的状态和结果的精确信息,以便您可以找出问题所在并在企业内解决问题。
BAM 框架提供了一种用于监视各种不同业务应用程序,并显示 SQL 查询数据和聚合报告数据 (OLAP) 的实时方式,这种方式对于各种交易是一致的,并且非常简单。通过使用查询和聚合,您不仅可以得到在运行业务流程过程中出现的数据,还可以得到运行的业务流程的状态信息和其动态状态,而不论该业务是如何自动执行的。
BAM 将商业运营智慧和应用程序集成技术应用到自动流程中,以便基于直接来自运营活动知识的反馈不断改进这些自动流程。除了审核业务流程和业务流程管理系统外,BAM 还可发送事件驱动的警报,这些警报可用于提示那些可能需要采取某些行动的业务的决策者做出相应调整。
DEMO的场景里我模拟了一个订单的采购情况:
订单的信息:
订单编号(注:必须唯一编号,BAM需要在信息里存在唯一的标识,用于统计信息,而且当出现编号重复的时候,BAM也能接纳信息,但接纳之后会出现内部错误,需要手工去数据库中清除该条数据,所以这也是我们在开发和设计的时候需要提前考虑的一点)
订单商品名称
订单商品数量
订单商品单价
BAM监视统计信息:
指标1: 在一定时间段内某种商品的订购数量统计
指标2: 在一定时间段内某种商品订购的费用总计
指标3: 在一定时间段内关于某种商品的订单数量统计
指标4: 执行订单下发流程的时间统计
DEMO部分:
订单信息SCHEMA:
业务流程:
因为这里只是DEMO所以没有把业务流程搞的太复杂
部署工程并测试.
定义BAM监视模板:
打开Microsoft Office Excel
1.添加业务活动监视 (BAM) 加载项.
BAM 加载项提供创建 BAM 观察模型所需要的工具。BAM 观察模型由三部分组成,即 BAM 活动、BAM 视图和 BAM 聚合。BAM 活动定义里程碑和目标数据。BAM 视图基于向特定用户呈现信息的目标数据和里程碑来定义维度和度量值。BAM 聚合是在视图中定义的信息的摘要。
打开Excel 中的“工具”菜单中,单击“加载项”。
在“加载项”对话框中,选中“业务活动监视”复选框,然后单击“确定”。
2.定义BAM采集数据指标,里程碑,测量度等指标项
在 Microsoft Office Excel 中的“BAM”菜单上,单击“BAM 活动”。
在“业务活动监视活动定义”对话框中,单击“新建活动”。
在“新建活动”对话框的“活动名称”框中,键入 OrderInfo
在“新建活动”对话框中,单击“新建项”可打开“新活动项”对话框
创建里程碑,这里的里程碑是以后进行实际操作的流程时间点,与流程绑定之后,我们可以获取到Datatime类型的数据用于监视时间信息 .
添加开始和结束的里程碑:
定义业务数据:
OrderID |
Text |
OrderPruductsName |
Text |
OrderAmount |
Integer |
OrderPrices |
Decimal |
点击OK 两次之后 进行如下:
创建BAM监视视图:
在接下来的步骤里就会根据上面创建的数据指标,进行数据视图报表的建立了
新建视图
键入名称OrderInfoView,并选中刚才建立的activities OrderInfo:
选择所有 作为查看项:
下图显示的是“新建 BAM 视图: 查看项”页
在“新建 BAM 视图: 查看项”页上,单击“新建组”。
创建持续时间
持续时间表示里程碑(里程碑就是一些时间点)之间的时间间隔.
这里的目的是为了关联开始和结束两个里程碑之间的时间跨度:
因为这里是DEMO 所以订单的时间量度时间单位比较小
创建数据维度
利用维度将数据聚合到逻辑分组中。在这里选择OrderPruductsName
“新建 BAM 视图: 聚合维度和度量值”页上,单击“新建维度”
创建数值范围维度
创建时间维度
创建聚合统计数据项:
“新建 BAM 视图: 聚合维度和度量值”页上,单击“新建度量值”。
这里的聚合项是根据业务抽象出来并用于以后的统计显示
创建计数器:
点击下一步 以及完成:
使用 BAM 工具定义数据透视表
数据透视表字段列表
数据透视表
拖拽数据项,并组合数据透视表.
该数据表根据产品名称分组,后又根据订单产品数量分组,并计数.统计出了大订单和小订单的数量集合
复制第一张表格 ,进行第二项统计:
根据时间分组,统计商品的订单数量,以及商品的平均价格
为以上两个数据表选择图形化 统计界面:
都完成之后将excel另存为”orderInfoview.xls”
部署excel BAM统计文件:
1. 将“orderInfoview.xls”复制到“C:"Program Files"Microsoft BizTalk Server 2006"Tracking”中。
2. 打开命令提示符窗口,然后键入:
CD C:"Program Files"Microsoft BizTalk Server 2006"Tracking
3. 按 Enter,然后键入:
BM deploy-all -DefinitionFile: orderInfoview.xls
4. 按 Enter。部署过程结束后,您在命令提示符窗口底部应看到以下内容:
6. 键入 exit,然后按 Enter 以关闭命令提示符窗口。
关联操作 :
单击“开始”,依次指向“所有程序”、“Microsoft BizTalk Server 2006”,然后单击“跟踪配置文件编辑器”
Import a bam activity definition:
选择业务流程
得到如下效果:
开始关联绑定得到如下效果:
保存当前工作簿:
在“文件”菜单上,单击“另存为”,并将该文件命名为“C:"Program Files"Microsoft BizTalk Server 2006"Tracking "OrderProcess.btt”。
部署跟踪配置文件:
1.打开命令提示符窗口,然后键入:
CD C:"Program Files"Microsoft BizTalk Server 2006"Tracking
2.按 Enter,然后键入:
bttdeploy OrderProcess.btt
对流程进行模拟数据测试后,查看BAM web站点:
监视结果:
这里提供了列筛选,排序,动态查询,统计功能
以下是数据的业务监视报表:
OK 全部搞定
另外如果你在部署bam 的 excel 时出现了“Old Format or Invalid Type Library”的错误,请将语言的选项调整至如下即可避免错误:
贴图好痛苦 ;( 真的