Home   |   Asp.Net 2.0   |   .Net Framework 2.0   |   IIS 6.0   |   Sql Server 2005   |   Visual Basic 2005   |   c# 2005   |   VS 2005   |   Visual Source Safe 2005

MS Dynamics CRM 3.0

SharePoint Portal Server 2003
SharePoint Server 2007
Dynamics NAV
Dynamics CRM
SharePoint Designer 2007
SharePoint Portal Server 2001
Windows SharePoint Services
Windows SharePoint Services 3.0
Project Server 2003
Project Server 2007
Dynamics – Point of Sale
Dynamics AX
Dynamics GP
Dynamics Retail Management System (RMS)
Dynamics SL
SQL Server 2000
Visual Basic .NET 2003
Visual C# .NET 2003
Visual C++ .NET 2003
Visual C++ 2005
Visual SourceSafe 6.0
Windows Server 2003
Windows Server 2003
Outlook 2003
ADO.NET 1.1
ASP.NET 1.0
Visual Studio Team Foundation Server
Visual Studio 2005 Team Edition
Windows Internet Explorer 7
BizTalk Server 2000
BizTalk Server 2002
BizTalk Server 2004
BizTalk Server 2006
Visual Studio 6.0
Access 2000
Access 2002
Access 2003
Access 2007
Access 97
Collaboration Data Objects 2.0
Commerce Server 2002
Content Management Server 2001
Commerce Server 2007
Content Management Server 2002
Data Access Components 2.7
Data Access Components 2.8
DirectX 9.0b
Office Small Business Accounting 2006
Accounting 2007
ActiveSync 4.1
Class Server 2.0
Groove 2007
Windows Vista
Outlook 2007
OneNote 2003
OneNote 2007
Office X for Mac
Zune software
Zune Live
Zoo Tycoon 2
Flight Simulator 2002
Dungeon Siege II

Cervo Technologies
The Right Source to Outsource

Oracle Database FAQS

Sharepoint Portal Server KB

Outlook 2007 Knowledge Base Articles

BizTalk Server 2004 Knowledge Base Articles

BizTalk Server 2004 documentation that describes persistence and system shutdown information contains some inconsistences


The Microsoft BizTalk Server 2004 documentation that describes persistence and system shutdown information in BizTalk 2004 contains some inconsistencies. The information that is located on the following Microsoft Web pages is incorrect:
http://msdn2.microsoft.com/en-us/library/ms946272.aspx (http://msdn2.microsoft.com/en-us/library/ms946272.aspx)
http://msdn2.microsoft.com/en-us/library/ms963306.aspx (http://msdn2.microsoft.com/en-us/library/ms963306.aspx)
For the correct persistence and system shutdown information for BizTalk 2004, see the "MoreInformation" section.

MORE INFORMATION

The following information about BizTalk 2004 persistence and system shutdown behavior is correct.

Orchestration engine

The orchestration engine saves the whole state of a running orchestration instance to persistent storage at various points. Therefore, the instance can later be completely restored in memory.

The state of a running orchestration instance includes:
The internal state of the engine. This includes the engine's current progress.
The state of any Microsoft .NET components that maintain state information and that are being used by the orchestration.
Message and variable values.

Persistence points

The orchestration engine saves the state of a running orchestration instance at various points. If the engine must rehydrate the orchestration instance, start from a controlled shutdown, or recover from an unexpected shutdown, the engine runs the orchestration instance from the last persistence point, as if nothing else had occurred. For example, if a message is received and if an unexpected shutdown occurs before the state can be saved, the engine does not record that it has received the message. Instead, the engines receives the message again after it restarts. The engine saves the state of an orchestration in the following circumstances:
The end of a transactional scope is reached.
The engine saves the state at the end of a transactional scope. Therefore, the point at which the orchestration resumes is defined unambiguously. Compensation can be performed correctly, if it is necessary.
The engine saves the state at the end of a transactional scope. Therefore, the point at which the orchestration resumes is defined unambiguously. Compensation can be performed correctly, if it is necessary.
The orchestration continues to run from the end of the scope if persistence was successful. Otherwise, the appropriate exception handler is invoked.
If the scope is transactional and atomic, the engine saves the state at the end of the atomic scope when the scope commits.
If the scope is transactional and long-running, the engine generates a new transaction and persists the complete state of the runtime when the scope is completed.
A debugging breakpoint is reached.
A message is sent. The only exception to this is when a message is sent from an atomic transaction scope.
The orchestration starts another orchestration asynchronously, as it does with the Start Orchestration shape.
The orchestration instance is suspended.
When the orchestration engine is asked to shut down, the orchestration engine tries to save control information and the current state of all running orchestration instances. This behavior lets the orchestration engine resume running orchestration instances when the engine is started again. If the orchestration engine cannot save the current state, the orchestration engine resumes the orchestration instance from the last persistence point that occurred before the shutdown. This behavior applies to the system shutdown in a controlled condition and after an abnormal termination.
The engine determines that the instance should be dehydrated.
The orchestration instance is finished.

Serialization

All object instances to which an orchestration refers directly must be serializable for an orchestration state to be persisted. This requirement also applies to object instances that are referred to indirectly, or through other objects. There are two exceptions:
You can have a nonserializable object that is declared inside an atomic transaction. You can do this because atomic scopes do not contain persistence points.
System.Xml.XmlDocument is not a serializable class. This class is handled as a special case and can be used anywhere.
Caution For a .NET object to be persisted, it must be marked as serializable.

Note Component Object Model (COM) objects cannot be persisted by using standard .NET serialization procedures. If you want to call a COM object outside an atomic transaction, you must wrap the COM object in a .NET object that is .NET serializable and that knows how to persist and to restore the state of the COM object.

System shutdown

When the orchestration engine is asked to shut down, the orchestration engine tries to save control information and the current state of all running orchestration instances. Then, the orchestration engine can resume running them when it is starts again. If the orchestration engine cannot save the current state, the orchestration engine resumes the orchestration instance from the last persistence point that occurred before the shutdown. This behavior applies to the system shutdown in a controlled condition as well as to an abnormal termination.

Recovery

The engine regularly saves state information about an orchestration instance to persistent storage. The engine also saves the state if there is a system shutdown. When an orchestration instance fails abnormally for whatever reason, the instance can be recovered from the last persisted state and can continue to run as if there were no interruption. This is true even if the original server on which the instance ran goes out of service for some reason. The instance can resume running on a separate computer. Because of this multiserver recovery model, you no longer require clustering.


APPLIES TO
Microsoft BizTalk Server 2004 Developer Edition
Microsoft BizTalk Server 2004 Enterprise Edition
Microsoft BizTalk Server 2004 Partner Edition
Microsoft BizTalk Server 2004 Standard Edition

Keywords: 
kbtshoot kbinfo KB926627

Copyright © 2004 - 2007 Gridview.org, Inc. All rights reserved. Powered by Smart Web Content Management System