The sample provisioning application uses pluggable service modules implemented as ASP.NET User Controls to provide functions needed to provision various hosted services, including Hosted E-mail and Hosted Microsoft Windows SharePoint Services sites. Examples of such activity include:
Service modules contain layout details, data validation and rendering logic. Each one has an entry in a configuration file, ServiceModules.xml, which is used to create clickable menu items. In addition, most service modules will use a service module controller, which is an XML file that allows operations to be updated without requiring the underlying code to be changed or the Web application to be recompiled. Some examples of changes a site administrator can make through a service module controller are:
Figure: Typical Service Module Development Process
As part of creating your own custom service module, you will determine whether or not you can use the service controller provided as part of the sample provisioning application. The remainder of this section guides you through the tasks involved in creating a custom service module. The guide illustrates the various steps to be performed in the form of an example wherein a new service module called Demo Service Module is to be added to the application.