The following figure depicts the flow of the provisioning process and how the applicable components within the Microsoft Provisioning System (MPS) architecture work together to carry out a provisioning transaction.

Figure: Provisioning process flow

For a list of steps that correspond to the balloon items in the preceding figure, click the plus (+) sign below.

Process flow steps of Figure: Provisioning process flow

  1. A .NET calling application utilizes the methods of the MPS .NET Client Wrapper to submit a request to the MPF COM Client. The Client Wrapper and the MPF COM Client object both run on the same computer as the calling application.
  2. The MPF COM Client receives the request and forwards it to the Provisioning Engine.
  3. The Provisioning Engine parses the XML request and queries the Configuration database. This query allows the Provisioning Engine to expand the request into multiple actions based on the namespace procedures defined in the request.
  4. Based on the actions identified in the expanded request, the Provisioning Engine (MPS server) calls the relevant providers that are registered on the system.
  5. The providers carry out the requests and the results are returned to the MPS server.
  6. As these results are returned from the various providers, transaction data is written to the Transaction database on a computer running SQL Server. In the event of a failure, this data is used to roll back the transactions.
  7. The MPS server returns the results to the MPF COM Client in XML format.
  8. The MPF COM Client returns the results to the MPS .NET Client Wrapper, which in turn provides them to the calling application.
  9. Every few minutes, transaction data is moved from the Transaction log to the Audit database for historical reference.