The most common data sources used with BAM are:
- BizTalk Application: BAM can capture data from fields in BizTalk messages, can capture milestones from the date and time a BizTalk message is received or sent and also can capture fields in the BizTalk context properties.
Data capture from BizTalk, normally, is configured using the Tracking Profile Editor (TPE)
- BAM API: .NET code can write data directly into BAM using an API. Code that is executed in BizTalk, normally use either the OrchestrationEventStream (in orchestrations) or MessagingEventStream (in pipelines) classes.
Code that isn’t executing in BizTalk will use either the DirectEventStream or BufferedEventStream classes.
- WCF Services (WCF Interceptor): BAM can capture data from SOAP envelope in a WCF request, response or fault message. The data is specified using the interceptor configuration (IC) file (XML file created by the developer).
The service’s app.config must be modified to load the BAM components at runtime.
- WF Workflows (WF Interceptor): like WCF Services, BAM can also capture milestones from WF Activities. Am IC file is used to specify the data that must be captured. BAM components must also be loaded at runtime.