Eric’s BizTalk 2004/2006 Blog

My BizTalk Experiences using Flat Files, InfoPath, BAM, BRE, BAS, HL7, HIPAA, WSS.

April 12, 2006

BAM and Reporting

Filed under: BAM, BizTalk — eric @ 10:10 pm

A recent post was written about attempting to query the DTADB database to capture data and send it to a particular customer. I suggested that this is a purpose in Business Activity Monitoring. I have created a sample application that demonstrates some of the powers of BAM.

In this example orders are processed by Biztalk, and key data elements are extracted and sent to the BAMPrimaryImport database.
BAM1.JPG

Another orchestration takes the information in the database and creates a report and sends it out to the customer.

BAM2.JPG

Setup Instructions:

  1. Download this file.
  2. Run the following command from a dos prompt to create the necessary BAM objects: \Tracking\BM.exe deploy ..\BAMReporting\ActivityInfo.xml
  3. Run the extractBAM.sql against the BAMPrimaryImportDb
  4. Deploy the solution
  5. Modify the binding.xml file to represent your enviornment
  6. Bind the ports using the Deployment wizard.
  7. Enlist the orchestrations
  8. Drop Order 1.xml, Order 2.xml, and Order 3.xml into the Input folder
  9. Wait and then drop the Confirmation 1.xml, Confirmation 2.xml, and Confirmation 3.xml into the Input folder
  10. Drop the Trigger.xml file into the input file and in the output folder there should be an email xml file that shows various BAM data.

This actually goes against my better concience on at least 2 fronts:

  • BizTalk has the ability to do a lot of things, but sometimes it shouldn’t. I know of some people think that it is better than sliced bread, but a more elegant solution would be to use SQLReporting services that would go against the BAMPrimaryImportDB
  • It uses a trigger file to kick off the report, there could be a better way, with a proper stored proc to do some marking of the data so no duplicate reports get run

3 Comments

  1. Eric,

    I am attempting to deploy your solution and am getting a “SQL Server does not exist or access denied” error. I have successfully deployed the XML file on the server. Any idea what would cause this or what I could look at to find the issue?

    Thanks,

    Fred

     

    Fred,

    You need to go to the properties of the project and in the deployment, you need to change the server that the BizTalkMgmtDB from (local) to your particular server. I am sorry, I did not put those instructions in the deployment instructions. 

    Comment by Fred Heinemann — April 19, 2006 @ 11:08 am

  2. Does something additional need to be changed in the orchestration? I was able to deploy the solution and the binding.xml file. Everything looks okay but I am getting an error when it hits the extract data step in the processing orchestration.
    Uncaught exception terminated service BAMReporting.ProcessOrder(37f150bd-7e2c-8221-899c-e0135931de42), instance f90bfb25-41c2-4bed-bc64-db838651dc43

    SQL Server does not exist or access denied.

    Exception type: SqlException
    Source: .Net SqlClient Data Provider
    Target Site: System.Data.SqlClient.SqlInternalConnection CreateConnection()
    Help Link:
    Additional error information:

    I am still trying to figure out all the pieces of BizTalk and this is completely new to me. Thank you for your help with this.

    Fred

    Comment by Fred Heinemann — April 19, 2006 @ 12:05 pm

  3. I put an updated solution there, so there should not be any issues now….

    Comment by eric — April 24, 2006 @ 4:38 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.