Search BrianLoesgen.com
Categories
Archives
Thursday
Mar242005

Rapid prototyping with BizTalk BAM (Business Activity Monitoring)

Don’t you hate when this happens?

 

  • You’re in proof-of-concept mode. You are in “The Zone“, and you’re kicking butt. It was dark outside when you sat down to work, somewhere along the line the sun passed overhead, and now it’s dark again. It’s been a long day
  • You’re working on a really cool BizTalk solution that automates several business processes, and works heavily with the MapPoint Web service
  • You’re making exceptional progress instrumenting a process you wrote last week, you’re now gathering process metrics
  • You pour yourself a scotch
  • All of a sudden, MapPoint stops responding the way it has been for the past week to your process, a process that you have not changed in a week
  • You now have about 15 hours left before you have to do a presentation showing off all the cool Business Intelligence stuff you’ve been doing. However, you have no way to generate data
  • Slowly, it dawns on you: You’re screwed!

 

So what do you do? You could pour another scotch, but that could bring down the whole Internet, or make Earth’s gravity reverse.  No, too risky. Look at what you just did to MapPoint.

So you say to yourself: “self, you’re screwed.”.

You pace. You play with a yo-yo. You figure out that the root cause is that you’re using a MapPoint eval account and while you were in “The Zone” you exceeded “The Threshold” and MapPoint no longer wants to speak to you. You curse. You pace. Somehow, the yo-yo finds its way back into your hand. Somehow, the midnight darkness outside just got darker.

 

Then… you realize…. “But all I really need to do is show metrics. They don’t have to be based on REAL data.”

 

So, here’s my super-cool way to do rapid prototyping on BI portals built on BizTalk BAM.

Traditional Way:

  • Create a shell of the BizTalk solution (create schemas, orchestrations, maps, maybe pipeline components, etc)
  • Deploy, debug
  • Create activity/view definitions using the BizTalk BAM Excel spreadsheet
  • Deploy, debug
  • Create tracking profile
  • Deploy
  • Generate traffic
  • Run DTS to get data to OLAP
  • Use BI Portal (or whatever) to render the OLAP cubes

Really REALLY Rapid Prototype Development approach (RRRPD [tm] Brian Loesgen all rights reserved J)

 

  • Create activity/view definitions using the BizTalk BAM Excel spreadsheet
  • Deploy
  • Poke around the stored procs in the SQL BAMPrimaryImport database, invoke the appropriate bam_<>_PrimaryImport stored proc from Query analyzer passing in appropriate params (what the heck, save the script so that you can re-generate that traffic on demand)
  • As a reality check,  take a look at the BAMPrimaryImport bam_<>_AllInstances view for your collected data
  • Run DTS to get data to OLAP
  • Use BI Portal (or whatever) to render the OLAP cubes


So, how does this help? Well…. Look at the steps, and more importantly the steps we eliminated. We’ve removed the need to do a skeleton BizTalk end-to-end solution just to show what BI could be shown for a BizTalk process. We just do the end pieces, and we’re done. I figure this knocks a 1 – 2 week BAM POC effort down to 1 – 2 days. Of course you still need to go back and fill in the missing piece, but if the goal is to demonstrate metrics, then this works just fine!

 

So how does the day end? You wash your hands (should always do this after pulling rabbits out of a hat), put on your freshly dry-cleaned Superman cape, and wow them at the meeting.

 

And so ends another day in the life of BamMan J

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>