BizTalk Business Activity Monitoring is probably the most powerful feature in the BizTalk solution stack and it is also the least utilized. In concept BAM offers us the ability to offer visibility, audit, tracking, and alerts all without changing our solutions or writing custom code. The reality is BAM has a learning curve that requires both understanding the implementation details and rethinking your approach to integration solutions to focus on business process / flow rather than technical integration. This session will walk through an advanced real world BAM implementation in the EDI space (purchase order, invoice, ship notice) focusing on a diverse but related series of steps in a long running business process to create a true business level view of several disparate integrations. Features covered will include creating tracking activities and views, progress and dimensions, continuations etc BizTalk Bam Step by Step is Explained.
BizTalk Summit 2014, London March 03-04
Brought to you by BizTalk360
4. WHAT IS WRONG WITH BIZTALK
SOLUTIONS?
▪ Lack of visibility
▪ People only care about what they can see
▪ Are business people “impressed” by Integration?
▪ They love apps and websites!
5. OUR BRAINS ARE VISUAL PROCESSORS
42
85
0 10 20 30 40 50 60 70 80 90
% Recognition
Recognition of concept
Picture Text
6. BAM IS THE VIEW YOUR USERS NEED…
SO WHAT IS BAM?
▪ BAM is tracking
▪ BAM is aggregation and analytics (BUZZWORD)
▪ BAM is dynamic alerting
▪ BAM is scalable infrastructure
▪ BAM is code free – if you do it right
▪ BAM is a self service portal
7. HOW IS BAM DIFFERENT?
▪ What we want to see != What our users want to see
▪ Developers & Administrators want to see:
▪ Suspended messages
▪ Errors
▪ Health
▪ Message Box throughput / latency
▪ We already have the perfect tool for this:
8. WHAT DO USERS REALLY WANT TO SEE?
▪ How many orders have I
▪ Received
▪ Invoiced
▪ Shipped
▪ What is the total value of orders this week / month / year?
▪ How long is it taking us to fulfill orders?
▪ Where in the process are _____’s orders and what can I tell them when
they call and yell at me?
▪ How can I make my business more lean and profitable?
9. WE ARE IN THE
BUSINESS OF
TECHNOLOGY
OUR USERS ARE
IN THE BUSINESS
OF BUSINESS
12. EXAMINING THE SOLUTION
Web Receive 1
Purchase Order
Web Receive 2
ERP Invoice,
ASN
Web Send 1
ERP PO
File Send 1
Invoice
File Send 2
ASN
Customers
13. MAKING BAM IN 3 STEPS
▪ Create Activity in Excel
▪ Create View in Excel
▪ Binding to solution in TPE
2
View
1
Activity
3
Tracking Profile
14. WHAT DATA WE WANT TO SEE
▪ Business Data
▪ Order Total
▪ Buyer Postal Code
▪ PO Reference
▪ Invoice #
▪ Shipping #
▪ Milestones
▪ Order Received
▪ Sent to ERP
▪ Invoice Generated
▪ Invoice Delivered
▪ Ship Notice Generated
▪ Ship Notice Delivered
16. WHAT DO WE WANT IN OUR VIEW?
▪ What is the Status of an order?
▪ How long does an order take?
▪ How long does it take to invoice?
▪ What is my order count?
▪ What is my max / min fulfillment time?
20. DEPLOYING THE TRACKING PROFILE
▪ bm.exe - located in [BizTalk Install]Tracking
▪ Do yourself a favor, add this to your path or use BAM GUI
▪ bm deploy-all –defininitionFile:SingleActTracking.xlsx
22. ALWAYS USE THE TPE
▪ The TPE binds to multiple points:
▪ Orchestration
▪ Message Content
▪ Message Context
▪ Messaging Properties
▪ TPE is the sandbox / safe room
▪ TPE can bind to many sources and ports concurrently
▪ TPE allows adding / changing BAM without solution changes*
26. RUNNING THE MOCKS – 3 EASY STEPS
1. [Solution Root]ERPMockbindebugERPMock.exe
2. [Solution Root]LoadMockbindebugLoadMock.exe
3. Look at the BAM Portal
4. Look at the aggregations
5. From Developer Command Prompt:
dtexec /sql BAM_AN_SingleOrderView
6. Look at the aggregations again
32. BAM TABLES & VIEWS
▪ BAM Creates Tables
NEVER USE THEM
▪ BAM Create Views
33. BAM SSIS PACKAGES
▪ BAM_DM_[ViewName]
▪ Data Management / archiving
▪ BAM_AN_[ViewName]
▪ Processes the cube
34. BAM DATA MAINTENANCE
▪ Every time this job runs it partitions tables
▪ Think about when you want it to run
▪ Normally monthly
▪ Partitions age based on BizTalk settings
▪ The entire completed partition archives
▪ 6 month default time
▪ bm get-activitywindow –Activity:SingleOrderView
Table
Table
Table_GUID
Table_GUID
View
UNION
35. BAM PRIMARY IMPORT CHANGES
USE [BAMPrimaryImport]
GO
/****** Object: View [dbo].[bam_SingleOrderView_CompletedInstances] Script
Date: 3/3/2014 4:10:18 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[bam_SingleOrderView_CompletedInstances] AS SELECT * FROM
dbo.[bam_SingleOrderView_Completed] WITH (NOLOCK) UNION ALL SELECT * FROM
[dbo].[bam_SingleOrderView_C52EE3A6_6C6E_4E47_AF7F_214B9D454BC7] WITH (NOLOCK)
GO
36. TDDS - BAM EVENT BUS SERVICE
You really don’t want to know!
No, really
IF you really feel the need check out the tables that start with “Tracking”
in the BizTalkMsgBoxDb
And the “TDDS_” tables in BAMPrimaryImport
You have been warned!
37. CONCLUSION
▪ Always create BAM for your solutions
▪ Create views for each set of users (operations, sales, management)
▪ Create / Schedule BAM jobs (AN / DM)
▪ Teach your users to use BAM effectively
▪ Use BAM views from a custom portal / tool – like Excel
▪ Change the CSS for the portal to not look so 2004
When was the last time a non-technical person looked at your BizTalk solution and was delighted?
When was the last time that same person looked at some trivial report or web UI and thought it was the greatest thing in the world?