locked
Using BAM to log web service calls and integrated records? RRS feed

  • Question

  • Hi

    I have been watching some posts related to BAM, and I was thinking of using it for 2 scenarios:

    1 - Track and Log all web service calls to my Biztalk system. (business stuff)

    2 - Log all integrated records on my system

     

    But still have some trouble figuring out if BAM is a good solution, i don't want to use Pivots or Analysis Services, I just all to have an history\log off all information.

    Assuming that BAM is the right solution, i need to track the result of an web service call  or integration, like SUCCESS or ERROR, and an error message if that applies. What is the best\recomended approach for that? I need to create a message with that information on the orchestration just to been caught on the profile editor? Or do I have another way?

     

    Some feedback is really appreciated.

    Thanks

     

    Monday, November 21, 2011 3:31 PM

Answers

  • You can track all the service calls (start and End time) using the TPE. Also, the data related to a message can also be tracked (SUCCESS or ERROR) using the same TPE. However, if you are looking for Request and Response message of a service call, you can follow this thread.

    Thanks

     


    SKGuru
    • Marked as answer by Ricardo M Wednesday, November 23, 2011 2:22 PM
    Monday, November 21, 2011 4:13 PM
  • Hey Ricardo,

    If the tracking and logs are just for the developer's use to debug or backtrace, then you can use some enterprise components to log them. As you can switch off the trace when not required.

    If you want the business people to access these metrics, then yes, BAM is meant for it.

    If the scenario is simple and you have good control on the messages and the orchestration has less tendency to change, you can go for a tracking profile with Orchestration Schedule.Tracking Profile editor does not allow tracking of the Orchestration variables or custom objects. You can assign to a promoted property of a message and try fetching it, but not a correct way of doing it.

    As an alternative, you can try creating your custom traking using BAM API. As these are .NET libraries, it will allow you to have good debugging options and reusablility and a control on what you log.

    http://generatetypedbamapi.codeplex.com/

    Make sure to use proper eventstreams.DirectEventStream directly updates the BAMPrimaryImportDB and the other three are asynchronous.

    Thanks.


    Sriram N http://srirambiztalks.wordpress.com/
    • Edited by SriramNarayanan Monday, November 21, 2011 4:19 PM
    • Proposed as answer by Shailesh Kawade Wednesday, November 23, 2011 10:58 AM
    • Marked as answer by Ricardo M Wednesday, November 23, 2011 2:22 PM
    Monday, November 21, 2011 4:17 PM

All replies

  • You can track all the service calls (start and End time) using the TPE. Also, the data related to a message can also be tracked (SUCCESS or ERROR) using the same TPE. However, if you are looking for Request and Response message of a service call, you can follow this thread.

    Thanks

     


    SKGuru
    • Marked as answer by Ricardo M Wednesday, November 23, 2011 2:22 PM
    Monday, November 21, 2011 4:13 PM
  • Hey Ricardo,

    If the tracking and logs are just for the developer's use to debug or backtrace, then you can use some enterprise components to log them. As you can switch off the trace when not required.

    If you want the business people to access these metrics, then yes, BAM is meant for it.

    If the scenario is simple and you have good control on the messages and the orchestration has less tendency to change, you can go for a tracking profile with Orchestration Schedule.Tracking Profile editor does not allow tracking of the Orchestration variables or custom objects. You can assign to a promoted property of a message and try fetching it, but not a correct way of doing it.

    As an alternative, you can try creating your custom traking using BAM API. As these are .NET libraries, it will allow you to have good debugging options and reusablility and a control on what you log.

    http://generatetypedbamapi.codeplex.com/

    Make sure to use proper eventstreams.DirectEventStream directly updates the BAMPrimaryImportDB and the other three are asynchronous.

    Thanks.


    Sriram N http://srirambiztalks.wordpress.com/
    • Edited by SriramNarayanan Monday, November 21, 2011 4:19 PM
    • Proposed as answer by Shailesh Kawade Wednesday, November 23, 2011 10:58 AM
    • Marked as answer by Ricardo M Wednesday, November 23, 2011 2:22 PM
    Monday, November 21, 2011 4:17 PM
  • I will look into those links, thank you.
    Wednesday, November 23, 2011 2:23 PM