BizTalk Developer Interview Questions and Answers - Business Activity Monitoring
- What is BAM and whats the benefits of using it?Business Activity Monitoring (BAM) is used to monitor business milestones and key metrics in near real-time throughout a process in BizTalk. Business Activity Monitoring (BAM) is a module in BizTalk that captures business data and process milestones to allows business decision makers to gain insight of their in-flight processes. Using BI tools to derive up-to-date metrics and key performance indicators from the BAM databases, users can forecast process trends and monitor processes in real-time. BAM also provides a mechanism to alert users to situations that require their intervention to prevent undesirable outcome or to encourage a beneficial result.
- Is it possible to integrate BAM installed on server1 and BizTalk installed on server2?Yes its possible with a condition that BAM server has to be part of the BizTalk group. See more here.
- What is the difference between TrackingProfile DB and DTADB?Both are same and terminology is used interchangeably.
- What is an Activity and an Alert?
BAM Activities identify the milestones and tracking data an individual is interested in tracking. Milestones are the steps in an activity that are measured in time, and tracking data are the key data points in a process you are interested in tracking (such as a customer ID or name).
BAM alerts allow you to configure and receive alerts related to specific changes in business data. Alerts are set up per BAM view.
- 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.
- What is TDDS?Tracking Data Decode Service or TDDS, is a service that moves event data from the MessageBox database to the BAM Primary Import database. This service processes and persists both Business intelligence and BizTalk Health Monitoring data.
- What are the various types of BAM Interceptors available?
The BAM Interceptor is an object that lets you instrument your application to capture data of interest. See morehere .
- BAM WCF interceptor: BAM can capture data from SOAP envelope in a WCF request, response or fault message. The data is specified using interceptor configuration (IC) file (XML file created by developer). The service’s app.config must be modified to load the BAM components at runtime.
- BAM 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.
- What is Activity Relationship ?An activity relationship exists when an activity relates to one or more other activities. An example of this is having multiple Shipment activities related to a single Purchase Order activity, or one Shipment activity containing items from two Purchase Order activities.
To indicate that two activities are related, you need to know both names and have the corresponding ActivityIDsin memory in order to call AddRelatedActivity. This API creates the link between the corresponding activity records. See more here .
- What is a BAM View?A BAM view is a representation of the milestones and business data tracked in one or more activities on the BAM Portal.
- Can we have multiple views created on single Activity?
Yes its possible to have multiple views on single Activity.
- Where BAM collects raw tracking data?BAM collects raw tracking data from the BAMPrimaryImport (BAM Primary Import) Database.
- Is BAM Tools a prerequisite for EDI/AS2 Runtime in BizTalk Server 2010?That depends on the functionalities (features) you want to install, but for me the correct answer is no. See morehere .
- How many database are used by BAM?BAMPrimaryImport, BAMStarSchema, BAMAnalysis, BAMArchive, BAMAlertsApplication and BAMAlertsNSMain.
- 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.
- Where the data came from, what the BAM Data Sources?
The most commonly data sources used with BAM are:
- BizTalk Application
- BAM API
- WCF Services (WCF Interceptor)
- WF Workflows (WF Interceptor)
- What is BAM Portal?It is a Web-based feature that consists of a collection of ASP.NET pages, it portal provides real-time, end-to-end visibility into a business process.
- It is required to track custom code used in application, which can be used TPE/BAM API or both can be used?TPE can't be used here as it can only be used to capture data from BizTalk artifacts, thus BAM API have to be used.
- Is there any shape in Orchestration which can't be tracked?
Yes. There are some shapes like:
- Throw Exception
- Message Assignment
- What are various event streams used in BAM API?Orchestration Event Stream (OES) Asynchronous, participates in BizTalk orchestration transactions.Buffered Event Stream (BES)Asynchronous, high throughput, some latency.Direct Event Stream (DES)Synchronous, no latency and directly written to the BamPrimaryImportDb.Messaging Event Stream (MES) Asynchronous, participates in BizTalk Server pipeline transactions.
- Is it possible to apply BAM on the retry mechanism of Send Port?No, Because the code execution for retry happens in adapter which is out of the BAM tracking scope.
- What is the dfference between Real Time Aggregation and Scheduled Aggregations used in BAM?
The storage of RTA is a SQL table and the aggregation is updated and maintained by SQL trigger. The event importing and aggregation update are completed in the same transaction, therefore its data latency is negligible and almost real-time. The scheduled aggregation is saved in Olap cubes which need to be processed periodically by the cubing DTS package