Develop More Reliable Applications
Building truly reliable applications that can handle everything thrown at them—everything from power outages to hardware failures—has been difficult. With the addition of several new technologies in Windows Server® 2008, building reliable applications has become easier than before.
Application Recovery and Restart
Application Recovery and Restart is a set of technologies that gives applications the opportunity to control what actions the system takes on their behalf when the application fails. The application can have the system perform such actions as attempting to recover documents or even automatically restarting the application after recovery or diagnosis is complete.
The primary reason that software updates require a system restart during an installation or update is that some of the files being updated being used by a running application or service. The Restart Manager enables all but the critical system services to be shut down and restarted, and guarantees that blocking DLLs and resources are unloaded. This action frees files that are in use and allows installation operations to complete.
An installer can use the Restart Manager to register files that should be replaced during the installation of an application or software update. Then, during a subsequent update or installation, the installer can use the Restart Manager to determine which files cannot be updated because they are currently in use. Installers can direct the Restart Manager to shut down and restart applications or services based on the file in use, the process ID (PID), or the short name of a Windows service.
Transactional NTFS (TxF) is an enhancement to NTFS that allows all file operations on an NTFS file system volume to be performed within the scope of a transaction. This enhancement is made possible by a new transaction infrastructure in the kernel that allows operating-system services to participate in transactions via the new Kernel Transaction Manager.
Transactional NTFS is also fully capable of communicating with the Microsoft Distributed Transaction Coordinator (DTC), meaning that TxF operations can participate in transactions that are leveraging any other Resource Manager with which the DTC is capable of working. This communication means that an application can have a transaction that encompasses not only database calls, but also operations to the file system (for example, Document Management solutions).
Transactional Registry (TxR) is an enhancement to the registry that allows all registry operations to be performed within the scope of a transaction. This enhancement is made possible by a new transaction infrastructure in the kernel allowing operating system services to participate in transactions via the new Kernel Transaction Manager.
Kernel Transaction Manager
The Kernel Transaction Manager (KTM) is a transaction management service. It makes transactions available as kernel objects and provides transaction management services to system components such as TxF and TxR.
KTM is scalable; it will work on both large-scale and small-scale applications. KTM provides isolation across all types of operations, allowing a consistent view of data. Developers can use the transaction scope to "bracket" sections of an application, providing atomicity for some operations but not others. KTM helps with concurrency problems, does not affect performance, and is available everywhere. It can be used to provide transactions for file management scripts and backups. During backups, KTM can provide a consistent snapshot between the registry, file system, and databases.