Resource Manager executes XML requests received from provisioning engines of the Microsoft® Provisioning Framework (MPF). Usually, these requests are part of a series of requests involving multiple areas of MPF. For example, provisioning a new user in Active Directory using the framework's Active Directory Provider® might also involve using Resource Manager to set up that user as a consumer with an allocation for disk space (a resource).
The two Resource Manager providers, CoreRMO and , receive the incoming XML requests. CoreRMO supports add, delete, query, and update operations for consumers and resources (as well as their respective instances, types, and groups). It also establishes mapping relationships between consumers (instances and groups) and resources (instances and groups). BlockModelRMO supports operations to define capacity for resource types and to manage allocations. For a list of procedures grouped by data type (consumers, resources, and so on), see .
The providers use a compensating approach for transaction record locking. That is, they break up transactions into smaller updates (process, prepare, commit, and rollback) that are executed as the transaction as a whole commits or terminates. This approach minimizes the holding period for record locking, a significant consideration because installations typically have a large number of consumers relative to a small number of shared resources.
When acting on the XML requests, the two providers execute the necessary calculations and updates in the resource manager database. This database also stores all the resource management configuration data for resources and consumers, as well as transaction handling data.