Friday, November 7, 2008

BizTalk Interview Questions With Answers Part 2

1)       What is a Message Type (i.e. BTS.MessageType) and how is it used in BizTalk? 
message types are basically message content properties (metadata) used for filter creation on send ports and orchestrations -subscription criteria is queried against this metadata-, these properties are promoted for the messaging engine. on this particular case BTS.MessageType is promoted by the dissasembler pipeline during message parsing and specifies the message type (defined as document schema namespace + document root node)

2)       What does the Value Mapping Functoid do? 
value mapping and value mapping (flattening)

3)       How do you use Auto Mapping in the BizTalk 2004 mapper?
the following was taken from Microsoft® BizTalk Server 2004 UNLEASHED and explains this capability:
"You can link entire substructures with one mouse-drag operation. If you hold the Shift key down while dragging between two records, the Mapper will create simple links between the records and all subordinate nodes if the content of the source and destination nodes is the same. This is a useful shortcut if you have identical structures contained within differing parent formats. If the two subtrees are slightly different, links will be created automatically only for those nodes with identical names. This can be changed by changing the setting of the grid's Autolink By property"

4)       What is the default mapping for Auto Mapping? 
the autolink by Controls how links are automatically generated when linking two records: 

Structure Links by identical or similar child content structure without regard to node names. 
Node Name Creates automatic links only if two names have the same name. 

the default one is 
Structure

5)       Step-by-step, how do you set up a basic, pure messaging solution taking in a flat file and send an Xml File out to 5 different places? 
update: here is the answer:
- Create a Flat File schema
- Create a Custom Pipeline using the Flat File Disassembler
- Create a Receive Port
- Create 5 Send Ports
- Create a Send Port Group
- Add each Send Port to the Send Port Group
- Create a Filter on the Send Port Group using Bts.ReceivePortName (or something close to this)
- Additional: no map is required but it is ok to mention it

6)       Design (Architecture) Focused Questions

7)       What is the difference between a Distinguished field and a Promoted Property? 
Basics of Promoted Properties Inside BizTalk Server 2004

8)       How do you achieve First-In-First-Out message processing of messages received from multiple sources using an Orchestration? 
FIFO processing would be achieved using convoys, on the following links you can find information about it:
BizTalk Core Engine's WebLog
BizTalk Server 2004 Convoy Deep Dive

something you must keep in mind is: "
FIFO is only possible when using an "order-aware" adapter, such as one leveraging MSMQ protocols or the MQSeries adapter"

9)       At high level, what do Receive Ports and Orchestration Send Portreally do in terms of messaging?  What about Send Ports and Orchestration Receive Ports? 
Receive Ports and Orchestration Send Port = 
suscribe
Send Ports and Orchestration Receive Ports = 
publish

10)   When working with Schemas, Maps, Pipelines, and Orchestrations how should the projects be structured? 
in theory you must separate project assemblies by orchestations / schemas + maps / custom pipelines to reduce GAC dependency and future binding problems, Alan Smith has a very interesting articleBizTalk Server - Modular Deployment worth reading.


11)   What is direct binding? 
port bindings:Your orchestration can communicate directly with another orchestration by using direct binding. In this case, the message is processed internally by the engine, and no external transport of the message takes place

Charles young has a great article aboud this topic BizTalk Server 2004: Direct Binding models in BizTalk , i recommend you to check it out

12)   What is BAM used for? 
BAM -Business Activity Monitoring- is a general framework for tracking heterogeneous business processes regardless of insfraestructure, providing business users with real-time visibility.

here are some useful links:
Kevin Smith posted BAM: Tracking Portal which explains how to create a BAM tracking portal, BAM can be very useful for developers and IT pros as well
Microsoft.BizTalk.Bam.EventObservation Namespace
Business Activity Monitoring (BizTalk Server Samples Folder) 

What is the Rules Engine?
Orchestration Designer, together with BizTalk Editor and BizTalk Mapper, is an effective way to define a business process and the rules it uses. Over time, however, the rules specified in an orchestration can change. The decisions embedded in a business process—the business rules—are commonly the most volatile. For example, a manager's spending limit might change, or a customer's maximum allowed order might change. You need a way to define and change business rules. To meet this need, BizTalk Server 2004 provides the Business Rule Engine to enable you to directly create and modify sets of business rules. These rules are created by using a tool called the Business Rule Composer, and then executed directly by the engine. This technology is new in BizTalk Server 2004. Business Rule Engine

the following links will make clear how to define your business rules:
Defining Business Rules - What Are They Really?
The Business Rules Manifesto

Jon Flanders recorded a interesting webcast: Implementing a Business Rules Engine Solution Using BizTalk Server 2004

13)   What are Persistence Points and what causes them?
The orchestration engine saves the state of a running orchestration instance at various points. If it needs to rehydrate the orchestration instance, start up from a controlled shutdown, or recover from an unexpected shutdown, it will run the orchestration instance from the last persistence point, as though nothing else had occurred 

on the following link you can read more about persistence

14)   What group does a user need to belong to in order to submit messages to the message box? 
the user must be a member of at least one of the following groups:
- Biztalk host users
- Biztalk Isolated host users

on the following links you may read more about this topic:
Windows Group and User Accounts in BizTalk Server
About Host Groups

15)   What user rights to you need to perform most actions in HAT?
You must manually grant permissions to BizTalk administrators group to access the Analysis Services Tracking database; by default, only OLAP administrators have permissions to it. 

on Microsoft® BizTalk Server 2004 UNLEASHED you can find a good resource on biztalk tracking

16)   When installing Biztalk in a multi-server configuration with a remote SQL and Analysis Services, what SQL components do you need on the Biztalk Server? 
- SQL Server Analysis Services + Decision support objects (requeried for BAS)
- MS SQL SP3a
- MS SQL Update from Q831950 (SQL2000-KB810185-8.00.0878-ENU.exe)
- configure SQL Server DTC 

you can read all the installation procedure on BizTalk Server 2004 Installation in a Multi-Server Environment

17)   When installing Biztalk and SQL on a Windows XP SP2 Desktop, what pre-requests are required? 
i couln't find an exact resource for this one, if anyone knows about it i'd appreciate your feedback, please refer to the biztalk server installation guide, there's a known issue about the SSO service after installing XP SP2 if you are interested it can be found here

 

18)   Name some Biztalk Artifacts

19)   Submitted by Anonymous on Tue, 08/05/2008 - 18:20.

1.                               Orchestrations
2. Role Links
3. Send Ports and Send Port Groups
4. Receive Ports
5. Receive Locations
6. Policies
7. Schemas
8. Maps
9. Pipelines
10. Resources
11. BAS Artifacts (Business Activity Services)

20)   Does orchestration support parallel activation?

21)   Does orchestration support parallel activation?

22)   Yes Orchestration does support parallel activation under the following conditions:

1.                               If a particular correlation is initialized on more than one task of a parallel activation by a Receive shape, each of the concerned activating Receive shapes must initialize exactly the same correlation.

2.                               If one of the tasks of a parallel activation has an activatable Receive as the first shape, all of the tasks of that parallel activation must have an activatable Receive as the first shape, and all of those Receive shapes must initialize at least one correlation.

23)   Types of Transaction in Biztalk

24)   Submitted by Anonymous on Thu, 07/17/2008 - 20:30.

25)   Q What are the types of transaction in Biztalk?
A. Atomic Transaction and Long-Running Transaction

26)   What is Correlation? Why do we need it?

27)   84. Q. What is Correlation? Why do we need it?
A. An Orchestration can have more than one instance running simultaneously. Even though each of those multiple instances perform the same action, it does it on different data contained within a message.
Correlation is a process of associating an incoming message with the appropriate instance of an orchestration.
For Example: If your orchestration issues a purchase order, receives an invoice, and sends a payment, the developer must make certain that the invoice message is received by the orchestration instance which corresponds to the orchestration that sent the Purchase Order. Without correlation, it would be possible to send out an invoice for thousands of items even though the purchase order is for one. And each correlation is based on a set of properties known as correlation types.

28)   Biztalk Orchestrations: Dehydration and Rehydration

29)   Dehydration:
When an orchestration has been idle for a while, the orchestration engine will save the state information of the instance and free up memory resources.

30)   Rehydration:
When a message is received, or else when a timeout has expired, the orchestration engine can be automatically triggered to rehydrate the instance – it is at this point that the orchestration engine loads the saved instance of the orchestration into memory, restores the state, and runs its from the point it left off.

31)   How do you call a Non-Serializable .Net helper class inside an Expression Shape?
Ans :create a variable of the class inside the atomic scope in the orchestration view explorer and use this variable inside atomic scope

32)   How do you use Auto Mapping in the BizTalk 2004 mapper?
ans :press the shift key and drag the root node of source to destination

33)   What does the Value Mapping Functoid do?
Ans: this functoid is used to send the second parameter as the output if the first parameter value is true
# What is the default mapping for Auto Mapping?
Ans:Structure
# What is a Message Type (i.e. BTS.MessageType) and how is it used in BizTalk?
Ans:Mesage type is the combination of the namespace and the root node
What is the difference between a Document Schema and a Property Schema?
Property schema consists of the elements of the document schema which has been promoted
What is the difference between static, dynamic and direct binding?
static binding specifies particular port address ;
dynamic gives address of the port at runtime
direct binding sends messages to messagebox
Raja
09985193212
( biztalk developer)

34)   What is property promotion, why is it required?

35)   Q 17 What is property promotion, why is it required?

A.                                                            Biztalk provides you with a really smart routing feature that allows the engine to decide where to send which message. For example, If you receive a message with the EmployeePaySlip schema, and it has the approved flag to true, it should be redirected to the Finance system Orchestration for making the payments and to the HR system Orchestration for keeping the records. This built in intelligence for the Biztalk engine allows it to route the messages simply based on some content within the messages.

36)   In order to achieve this, the Biztalk engine obviously needs to understand the fields based on which the routing decisions can be taken. To simplify and optimize this working, Biztalk has introduced the notion of "promoted properties". The Biztalk engine can get easy access to the promoted properties without knowing the entire message and hence it can save loads of time and complexity when dealing with routing. To route a message, the Biztalk engine simply reads its promoted properties and does not care about other contents in the message.

3 comments:

Joy said...
This comment has been removed by the author.
Anonymous said...

Largest Collection of BizTalk Server Interview Question Answers

BizTalk Server Interview Question Answers

Unknown said...

Its a wonderful post and very helpful, thanks for all this information.
Biztalk Online Training Hyderabad