Could someone throw some light on Resource Manager and its role
A resource manager manages a resource. An example of a resource manager is a driver for a relational database, object database, message queue, or other store. Resource managers are responsible for managing all the state that is permanent. The most popular interface for resource managers ist he X/Open XA resource manager interface. Most database drivers support this interface. Because X/Open XA is the de facto standard for resource managers, a deployment with heterogeneour resource managers from different vendors can interoperate.