Requests are submitted to Microsoft Provisioning Framework (MPF)
by a client. Each request contains one XML procedure that invokes
the functionality of an underlying provider or another procedure. Each procedure must conform to the XML
schema registered in MPF.
There are two ways to submit requests:
By calling methods in the client
This approach supports provisioning within a local data center
(synchronous communication without callback). The client has two
interfaces, IProvEngine and IProvQueue. IProvEngine contains
methods for submitting real-time requests to a provisioning engine. IProvQueue has methods to submit
and manage requests for processing by a queue manager. Both
IProvEngine and IProvQueue use separate methods to submit untrusted
and trusted requests.
By sending Simple Object Access Protocol (SOAP) requests to
the client by using SOAP Internet Server Application Programming
Interface (ISAPI)
This approach supports communication between data centers for
remote requests submitted over the Internet. SOAP ISAPI processes
synchronous requests to provisioning engines. Requests sent to SOAP
ISAPI require a SOAP header in the format described in SOAP
Envelope Schema.
When MPF executes a request, it generates an executeXml node
internally to pass the request data as XML to the called procedure
in the respective provider. When a provider finishes processing a
request, it returns an XML response node (containing either a
successful result or an error) to the calling user.
In the previous request, the data node supplies the source data.
The procedure starts with a call (not shown) to SignupOrg.
SignupOrg is the down-stream procedure that receives the selected
names in the response returned by the execution step, the call to
New Request (execute) The before node merges the data from the data
node into the executeData node for SignupOrg. The after node merges
information from New Request's executeData node into the response
data. (In this simple example, the returned data is the same as
that which was originally passed by the before node.)
The response shows the merged organization data in <data>
and the selected names in <orgSignup>.
For information on what a request is and how it is implemented
in Microsoft Provisioning System, see What a request is and Request implementation in Microsoft Provisioning
System. For information on procedures, see Procedure architecture. For information on
namespaces, see Namespace architecture. The Microsoft
Provisioning Framework Software Development Kit (SDK) contains
additional resources to help you implement procedures, requests,
and namespaces. This includes the complete XML schema for all
elements and information on how to implement providers. For more
information on the SDK and how to use it, see Microsoft Provisioning Framework SDK.