none
Non transactional Orchestration RRS feed

  • Question

  • 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,

    Nilesh


    Thanks and Regards, Nilesh Thakur.

    Friday, January 10, 2014 10:35 AM

Answers

  • 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

    Friday, January 10, 2014 12:12 PM

All replies

  • 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

    Friday, January 10, 2014 12:12 PM
  • 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.


    Maheshkumar S Tiwari|User Page | http://tech-findings.blogspot.com/


    Friday, January 10, 2014 12:27 PM
  • 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

    Friday, January 10, 2014 12:30 PM
  • 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.

    Sunday, January 12, 2014 1:50 PM