What is BAM and why this is useful in BizTalk project?
BAM is used for monitor the data and milestone of the messages in near real time, which are passing thought the BizTalk.
Its show the tracking information of messages on web Portal to Business people who don’t know about the BizTalk inside activity. So, Business people or users will know about the details which is require when the messages processing in BizTalk. It shows when messages is processed through BizTalk, has it successful passed or not. And also generate alert message if require.
BAM is rich set of Tools for monitoring. It’s available along with BizTalk Licence. BAM Portal is ASP.NET Component. For more details click here
What is BAM API
To achieve Business Monitoring via programming, BAM provide four API (DirectEventStream, BufferedEventStream, OrchestrationEventStream, MessagingEventStream ). That are called BAM APIs. Click here for details
How to create BAM Activity?
What is difference between Tracking profile editor & BAM APIs
TPE (Tracking Profile Editor) is that it can only be used to capture data from BizTalk artifacts. You use the Tracking Profile Editor (TPE) to map orchestrations and properties to BAM activity definitions. If you want to use BAM to capture data from custom code, you will need to use the BAM API. Through TPE You can only track messages that have a schema that is known at design time, so you can’t track messages of type string or System.XML.XMLDocument.
You should choose BAM API based on these factors.
How to make single rows data update in BAM Table for different stage of BizTalk application
or
how to handle continuous in BAM or what is ContinuationID?
Continuation is the ability to contribute to a single BAM activity from different applications by using two different unique identifiers as the ActivityID. For example, in one part of a business process, a customer’s PO number might be used to track an activity. In another part of the process, an internal order fulfillment number might be used to track the same activity. You could enable continuation and relate the PO number and the order fulfillment number, so that both parts of the process could add information to the same activity.
How to add/remove new column in existing BAM table
The BAM management utility deployment commands allow you to apply, modify, and remove definitions.
- bm.exe deploy-all: Deploys a BAM definition.
- bm.exe update-all: Updates a BAM definition.
- bm.exe remove-all: Removes a BAM definition.
For adding/updating column in existing BAM table, before run the update command, run below command to remove view first. All you need to do is make sure you call remove-view first, then update-all will successfully update the activity and recreate the view without losing any data.
bm.exe remove-view-DefinitionFile:<def file>[ -Server:<server> ][ -Database:<database> ]
What is this tool BM.EXE and why do I need it?
BAM Management utility or “bm.exe” provides for end-to-end management and deployment of BAM. You can use the BAM utility to perform the following tasks:
- Consume BAM definition and BAM configuration XML as input.
- Deploy the run-time infrastructure on the server, which includes the BAM Primary Import database, BAM Star Schema database, BAM Analysis database, and corresponding Data Transformation Services (DTS) packages.
Is there any shape in Orchestration which can’t be tracked?
Yes. There are some shapes like:
- Terminate
- Throw Exception
- Group
- Loop
- Message Assignment
- Suspend
- Transform
What are the different types of event streams?
They are four types:
- DirectEventStream
- BufferedEventStream
- OrchestrationEventStream
- MessagingEventStream
What do you enable continuation?
The BAM activity (also called the business activity) can span multiple heterogeneous applications (for example, a pipeline, two orchestrations, a line-of-business application, and then another pipeline). The BAM infrastructure can correlate the events from multiple applications with a little help from the developer – a concept called “Continuation“. To correlate the events between two different applications, you must:
- Identify the continuation token – a unique piece of data that is available to both applications (for example, the part of the message being exchanged).
- Call EnableContinuation in the first application and pass the continuation token along with the current ActivityID.
- Do not call BeginActivity in the second application.
- Fire all subsequent events in the second application by using the continuation token instead of ActivityID.
Click here for sample example for this in custom pipeline.
Reference: https://docs.microsoft.com/en-us/biztalk/core/activity-continuation
Difference between Message and Orchestration Event Streams?
- OrchestrationEventStream (Asynchronous, participates in BizTalk orchestration transactions): used within an orchestration; Provides transnational consistency with the orchestration. You use the OrchestrationEventStream (OES) API when your application runs on a computer on which BizTalk Server is installed and you are tracking items that are part of BizTalk orchestration transactions. The OES API stores tracking data first in the BizTalk MessageBox database. Periodically the data is processed and persisted to the BAM Primary Import database by the Tracking Data Decode Service (TDDS).
- MessagingEventStream (Asynchronous, participates in BizTalk Server pipeline transactions): used within a pipeline; Provides transactional consistency with the messaging engine. You use Messaging Event Streams (MES) when your application runs on a computer on which BizTalk Server is installed and you are you are tracking items that are part of BizTalk pipeline transactions. Using MES ensures that your BAM event persistence remains in sync with the BizTalk pipeline transactions.
What are the different sources of Data (event sources) inside TPE?

For more details click here.
How do you set permissions to a view?
- Open a command prompt as follows: Click Start, click Run, type cmd, and then click OK.
- Navigate to the tracking folder by typing C:\\Program Files (x86)\Microsoft BizTalk Server <VERSION>\Tracking at the command prompt. Press ENTER.
- Type bm.exe add-account -AccountName:<account name> -View:<view name>.
Below links are available for other segment of Interview questions and Answers:
- Interview Questions And Answers – BizTalk Development Activity
- Interview Questions And Answers – Schema
- Interview Questions And Answers – Pipelines
- Interview Questions And Answers – Orchestration
- Interview Questions And Answers – Mapping
- Interview Questions And Answers – BRE
- Interview Questions And Answers – BizTalk Admin Console
- Interview Questions And Answers – BizTalk Architecture
