Non transactional Orchestration

Hello All,

There are three types of transation in orchestration.

1)Automic 2)Long runing 3)Non

What is mean if non transaction ? and what is default transaction type in biztalk orchestration ?
Thanks,

January 10th, 2014 1:35pm

Hi Nilesh,

You usually use a Scope shape with Transaction Type property set to None
 when you wish to define how the orchestration behaves for possible exceptions.
 When dealing with non-transactional orchestration scopes there are a few things you need to consider.
 For one, an orchestration may be hydrated at any time so if you're calling any .NET instances within
 a non-transactional scope, those must be marked as serializable. However, you can avoid this by
 calling static members only.

Thanks

Abhishek

  • Proposed as answer by Abhishek0127 Friday, January 10, 2014 12:12 PM
Free Windows Admin Tool Kit Click here and download it now
January 10th, 2014 3:12pm

Hi Nilesh,

You usually use a Scope shape with Transaction Type property set to None
 when you wish to define how the orchestration behaves for possible exceptions.
 When dealing with non-transactional orchestration scopes there are a few things you need to consider.
 For one, an orchestration may be hydrated at any time so if you're calling any .NET instances within
 a non-transactional scope, those must be marked as serializable. However, you can avoid this by
 calling static members only.

Thanks

Abhishek

  • Proposed as answer by Abhishek0127 Friday, January 10, 2014 12:12 PM
January 10th, 2014 3:12pm

Hi Nilesh,

You can set Transaction at two places:

1. On Orchestration : By Default its Transaction Type is None

2. On Scope used in the Orchestration : No default transaction type, you need to specify after you add a scope shape on orchestration. Scope with None transaction type is used when you don't need Transactional behavior to be implemented,  but want to have exception handled. And it just acts as a container for the actions specified in the scope, and if there is any exception you catch it using Exception Handler.

Free Windows Admin Tool Kit Click here and download it now
January 10th, 2014 3:27pm

Hi,

It is especially important for a long-running or complex orchestration to keep track of its state and to report errors as they occur, so that you can resolve problems accurately and with a minimum of effort. It is equally important for an orchestration to maintain the integrity of a set of closely related actions, so that if part of a transaction takes place but another does not, the entire transaction can be rolled back as though it never occurred.

The transactional programming model provided for the BizTalk Orchestration engine includes support for exception handling and recovery from failed transactions, atomic transactions that automatically roll back their actions if an error occurs, or long-running transactions that can contain other transactions as well as custom exception handling.

Long-Running Transactions
http://msdn.microsoft.com/en-us/library/aa560028.aspx
Atomic Transactions
http://msdn.microsoft.com/en-us/library/aa560115.aspx

 

Kind regards,

Tomasso Groenendijk

Blog  |  Twitter
MCTS BizTalk Server 2006, 2010

If this answers your question please mark it accordingly

January 10th, 2014 3:30pm

Default transaction is None.

As the name implies if you want to group some action but not within transaction then will go for scope with transaction None.

Transaction i.e. ACID property in case of atomic scope  or Consistency and durability in case of long running scope.

Each scope is for specific purpose, that needs to be choosen based on business needs

1. None - only exception handler can be added

2. Atomic - only compensation handler can be added

3. Long running - Both exception and compensation handler can be added.

Free Windows Admin Tool Kit Click here and download it now
January 12th, 2014 8:52am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics