Provisioning Application Instances
Generally speaking, the Controller should do the following when instantiating an application package:
- Prepare all the data and conditions necessary for instantiating:
- Determine application content delivery methods (if any) and prepare a hosting environment accordingly. See the section 5.1.16 Content Delivery Methods in the Specification.
- Retrieve the application's global configuration and be ready to apply it to the instance. (See the 5.1.17. Global Settings, 5.2.5. Service Settings sections in the Specification, the Configuring Application's Global Settings section.
The order of these preparatory sub-stages is at discretion of implementer.
- Deploy application files to a hosting environment. See the section 5.1.16 Content Delivery Methods in the Specification.
- Provision application instance services.
- Determine application 'root' service to be provisioned.
- Determine selected service hierarchy and order of provisioning accordingly.
- Present service-usage license text (if any is provided in the package) to a user and provide tools necessary for accepting the license if it is required. See the 5.2.2 License Agreement section in the Specification.
- Determine and satisfy the application service requirements. This step includes application license installation, if it's required. See the 5.2.7. Requirements, 7.4. Environment Variables sections in the Specification.
- Prompt the user to configure the application service installation settings and process the submitted settings. See the 5.2.4. Entry points, 5.2.5. Service Settings, 7.4. Environment Variables sections in the Specification.
- Provision service to a hosting environment. See the 5.3. Service Provision Methods section in the Specification.
- Run the service configuration script passing to it all the available information about the service in the form of environment variables created on the previous stages. See the 5.3.2. Configuration script, 7.6. Configuration Script language, 7.4. Environment Variables sections in the Specification.
- Determine child services and perform the same steps as for their parent one, mentioned above in the step 3. But at first, the Controller must check whether the child service is declared as singular (possess
singular="true" attribute). If the attribute is present the Controller must check that this service is not already installed under its parent. Otherwise, it is allowed to create several instances of the service.
Further in the section, we will consider each part of the instantiating process in detail.
Please send us your feedback on this help page