locked
Atomic Scope RRS feed

  • Question

  • Hi ,

    I know atomic Scope can enables a transaction to automatically role back to a previous state in case the transaction does not successfully complete .

    I have used two transform shapes in side Atomic scope, one is insert and other one is upadate .

    if updation failes ,where it roleback ?

    Thanks

    Vittal

    Monday, July 16, 2012 9:40 AM

Answers

  • The main rule is: if the atomic scope failed the status will be rollbacked to the point of entry to this atomic scope. Status compounds of the orchestration variables.

    If your scope send the messages to the external systems and these messages perform some modifications in the external systems, the status of these external systems will rollback OR will NOT rollback to the previous status. It depends of what adapter was used to sending the messages. There are adapters with transactional support and adapters without it.


    Leonid Ganeline [BizTalk MVP] BizTalkien: Naming Conventions for the BizTalk Solutions

    • Marked as answer by vittalaranga Tuesday, August 21, 2012 12:36 PM
    Monday, August 20, 2012 11:11 PM
    Moderator

All replies

  • to the start of the atomic scope transaction..

    Regards
    Ritu Raj
    When you see answers and helpful posts,
    please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

    Monday, July 16, 2012 9:46 AM
    Answerer
  • It means no inserting willbe happen,is it right?
    Monday, July 16, 2012 9:47 AM
  • yes...as the exc occured before the transaction was committed.

    Just run a scenario to be confident.


    Regards
    Ritu Raj
    When you see answers and helpful posts,
    please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

    Monday, July 16, 2012 9:52 AM
    Answerer
  • Any operations within the atomic scope will not be committed if even one of them errors out. It rolls back to a state that the orc was in at the start of the atomic scope.

    ~V

    Monday, July 16, 2012 10:01 AM
  • Thanks .

    have you used parties in biztalk ?

    If yes please send me some examples .

    Monday, July 16, 2012 10:03 AM
  • Thanks .

    have you used parties in biztalk ?

    If yes please send me some examples .

    Hi,

    There is a good sample of using parties in biztalk explained here http://masteringbiztalkserver.wordpress.com/tag/using-parties-in-biztalk/.

    Additionally refer this which might help.


    Regards - Rajasekhar.R ' Don't forget to mark the post as answer or vote as helpful if it does,

    • Marked as answer by vittalaranga Wednesday, July 18, 2012 9:34 AM
    • Unmarked as answer by vittalaranga Wednesday, August 1, 2012 5:34 AM
    Monday, July 16, 2012 10:19 AM
  • These are nice blog posts about the subject and also explain the compensation model regarding transaction. Maybe this additional information will help you.

    http://blogs.msdn.com/b/richardbpi/archive/2006/12/06/transactions-and-compensation-using-biztalk-server.aspx

    and very comprehensive are:

    http://geekswithblogs.net/cyoung/archive/2006/12/06/100424.aspx

    http://geekswithblogs.net/LeonidGaneline/archive/2010/02/25/biztalk-compensation-model.aspx


    Didago IT Consultancy "Connecting People and Systems Using Microsoft Technology"

    Monday, July 16, 2012 1:47 PM
  • It depends what kind of send ports you are using for these insert and updates.

    The old SQL adapter always places the SQL transaction inside the BizTalk transaction which is coordinated by DTC.

    The new WCF-SQL adapter can opt out of this (see the Ambient transaction parameter).

    I would try to test the real case.

    And I don't know what the result is if you are using the database functoids in the map (your case, right? or maybe you are using the script functoids). Please, provide us with the results of your experiments!


    Leonid Ganeline [BizTalk MVP] BizTalkien: Naming Conventions for the BizTalk Solutions

    Monday, July 16, 2012 4:24 PM
    Moderator
  • Hi,

    In atomic shape it is always safe to use compensation block while inserting or updating database otherwise if suppose your updation fails then it will probably leave the database as inconsistence. As in your case the insertion will not happen if updates failed

    Tuesday, July 17, 2012 7:04 AM
  • It means i have 2 transforms (one to one map, no insrt or updation has not been taken)in side atomic scope ,if second one fail first one will not fail is it right ?


    Tuesday, July 17, 2012 7:53 AM
  • The main rule is: if the atomic scope failed the status will be rollbacked to the point of entry to this atomic scope. Status compounds of the orchestration variables.

    If your scope send the messages to the external systems and these messages perform some modifications in the external systems, the status of these external systems will rollback OR will NOT rollback to the previous status. It depends of what adapter was used to sending the messages. There are adapters with transactional support and adapters without it.


    Leonid Ganeline [BizTalk MVP] BizTalkien: Naming Conventions for the BizTalk Solutions

    • Marked as answer by vittalaranga Tuesday, August 21, 2012 12:36 PM
    Monday, August 20, 2012 11:11 PM
    Moderator