Methods and apparatus, including computer program products, implementing
and using techniques for performing a transaction across one or more
resources. A connection is established to one or more resources that are
required by a transaction. Each connected resource is registered with a
transaction manager. One of the resources is designated as an anchor
resource. The one or more resources are updated in accordance with the
transaction; and a two-phase commit with each resource involved in the
transaction is performed, wherein the anchor resource is committed to
after every other resource has been committed to. Methods and apparatus,
including computer program products, implementing and using techniques
for recovering one or more interrupted transactions across one or more
resources are also described.