Friday, November 7, 2008

BizTalk Questions With Answers Part 3

Direct binding can be used to send messages from one  

Orchestration to another.  It can also be used to send messages directly into  

]the message box.

Dynamic binding is used if the URL to which the file has to be posted is  

decided at runtime.

 

Call Orchestration: Makes a synchronous call to another orchestration

 

Start Orchestration: Makes an asynchronous call to another orchestration.

 

What is a Convoy?

Convoys are a messaging pattern and not a feature of BizTalk Server 2004.    

Convoys occur because of a business requirement to process messages in a way that the traditional publish and subscribe messaging system inside BizTalk Server 2004 cannot handle

Convoy processing can be additionally broken out into two separate categories as shown in the following list:

i). Sequential convoy - Items that are in a order, one after another

ii). Parallel convoy - Items that are in any order, but must all be present before   

something occurs.

 

What is a Message Type?

Message Type is a BizTalk System property that is promoted inside a Pipeline.   

It is made up of Document Name Space # Root Node Name.

 

 

Target Namespace in the XML contains the Solution name. The messages in the 

BizTalk are identified based on their namespace.

 

Policy Chaining: Calling one policy from the other is called Policy chaining. This is   

not possible in Business Rules Engine but can be implemented using .net code.

Ex: Calling a .net code which in turn calls executes another policy.

 

Call Rules: It is used to call the rules in the Orchestration. It has to be hosted

in an atomic shape.

 

Party resolution in Receive pipeline:

 

Stages in Custom Receive Pipeline are as follows:

Decode, Disassemble, Validate and ResolveParty.

Decode: Decompression.

Disassemble: Conversion from one format to the other.

Validate: Validation.

ResolveParty: Resolving the party based on Certificates. (from TPM db).

 

Stages in Custom Send Pipeline are as follows:

Pre-Assemble, Assemble and Encode.

Pre-Assemble is used for validation against the schema.

Assemble is used to add new items i.e. to change the message contents.

Encode is used to encrypt/ to compress (changing the format of the message) the message.

 

Overheads of using Promoted fields against distinguished fields:

Since distinguished fields do not require a separate property schema, the evaluation of distinguished fields by the Orchestration engine consumes less overhead than the evaluation of Property fields by the Orchestration engine. The evaluation of Property fields requires an XPath query, the evaluation of distinguished fields does not require an XPath query as the pipeline disassembler populates the distinguished fields in the context and the orchestration engine gets the cached values

 

Why the ROOT Name and namespace combination in a schema has to be unique?

BizTalk sets a message context property called BTS.MessageType.  This is a concatenation of the document namespace and Root Node Name. This property is promoted by the disassembler pipeline components during message parsing and uniquely identifies a messagetype.Message types are basically message content properties (metadata) used for filter creation on send ports and orchestrations.

 

How do you develop a Custom Functoid? Which interface to use?

We can create a custom functoid by deriving from the Microsoft.BizTalk.BaseFunctoid class (implemented by Microsoft.BizTalk.BaseFunctoids.dll in the Developer Tools folder) and overriding certain methods.There are two implementation types for custom functoids: functoids that are added to the global assembly cache and called directly and those that export script source to a map file at design time(Inline Script Functoid).

 

What are the different transport types available in BizTalk Server 2004?

In all, there are eight native transport adapters :,FILE,Hypertext Transport Protocol (HTTP),File Transport Protocol (FTP),Microsoft Message Queue Transport (MSMQT),Simple Mail Transfer Protocol (SMTP),Simple Object Access Protocol (SOAP),Microsoft SQL Server (SQL),Electronic Data Interchange (EDI)

How do you call nested orchestrations in main orchestration?

An Orchestration can call other orchestration either Synchronously orAsynchronously. Synchronous call is made from Call Orchestration Shape and Asynchronous call is made from Start orchestration Shape. Input will be value type, reference type or correlation set and output will be only a Message/variable type.

What is BAS?

Business Activity Services (BAS) enables business users to manage trading partners and associated business processes through Microsoft Sharepoint Portal Server, Windows Sharepoint Services and MS Office.

How do you invoke a business rule in your orchestration?

The BizTalk orchestration engine does indeed have the capability to act as a host for rule sets. This is wrapped up for you in the Call Rules shape. The Call Rules shape must be hosted in an atomic transaction. This helps BizTalk dehydrate state to the dehydration database before turning the rule engine loose on the orchestration's data for a while. As always, this means that any orchestration using a Call Rules shape must be configured for a long-running transaction, and you must add an atomic transactional scope to your orchestration. With those preliminaries out of the way, you simply drop a Call Rules shape into the Scope shape, ensure it is selected, and turn your attention to the Properties view in Visual Studio .NET.A Call Rules shape has two properties you need to worry about. One is the Name and can be anything you want, but the other, Configure Policy, is essential to the success of your orchestration. Clicking the ellipsis button invokes the Call Rules Policy Configuration dialog box, will have 2 parameters. One is to select the Rules Policy you want to invoke, and the other is to populate any parameters that policy requires with data from the orchestration. The drop-down list labeled Select the Business Policy You Wish to Call is populated with the names of all the policies published in the development machine's Rule Store. After you've selected a policy, the dialog box is able to inspect the policy to determine what parameters are available for configuration.

1 comment:

Anonymous said...

nice article