Application Packaging Standard

Last updated 18-Mar-2019

Service Activation

In UX1, an application can require service users to initialize the services assigned to them by configuring some service parameters (for example, mailbox address or host name) before they can use those services. When a service user logs into MyCP, the system checks if there are non-activated services assigned to the user. If the system finds at least one such a service, it starts the service activation wizard that walks the user through the process of configuring and activating those services.

The embedded demo project logically continues the User Management demo project.

../../../_images/tracks-activation.png

Benefits of the integration for customers:

  • It is possible to assign resources that require user specific data, for example, mailboxes.
  • Users decide themselves if they need the assigned resources.
  • With proper configuration, customers are not charged for non-activated resources.
../../../_images/activate-step-model-b.png ../../../_images/activate-step-meta.png ../../../_images/activate-step-provision.png ../../../_images/activate-step-presentation.png ../../../_images/activate-step-deploy.png ../../../_images/activate-step-provisioning.png

Scenario

The project demonstrates the development of an integration package that requires service users to activate resources assigned to them.

The service usage scenario looks as follows.

  1. A customer acquires a subscription with the application services.
  2. The customer starts the user creation wizard to create users and assign new virtual servers (VPS) to them. Initial status of a new VPS must be aps:activating.
  3. When a service user, who owns a non-activated VPS, opens the control panel, the system starts the service activation wizard that requires the user to enter the VPS host name and then click the Activate button. This starts the VPS activation process. The provisioning logic will assign the required name to the VPS and change its status to aps:ready.

Integration Components

To integrate its service with the service activation wizard, the integration package must have the following components.

  • The service must be based on an APS type that implements the standard UserService APS type.

  • When creating a required resource, the provision method of the service leaves the new resource in the aps:activating status.

  • The service must have a custom method that activates a required resource. It sets the configured properties and transfers the resource to the aps:ready status. The service activation wizard must call this method. Optionally, the service can also define a deactivation method that changes a resource to the aps:activating status.

  • The integration package must have a view plugged into the service activation wizard whose placeholder ID is
    The view helps a user configure the required service parameters and provides configured data to the wizard in order the latter can call the application custom activation method.

Resource Model

To implement the scenario, there is no need to change the resource model used in the User Management scenario:

../../../_images/activation-model.png

Start Your Demo Project

Clone the package you have created in the User Management demo project to the new one by following these steps.

  1. Create a new project based on the input package and using one of the ways:

    • In the Eclipse or IntelliJ IDEA IDE, import the package and then rename it, for example, assign it the srv-activation name.
    • Extract the package to a folder, for example, to srv-activation/.
  2. Replace every occurrence of custom application ID and type ID prefix with “http://aps-standard.org/samples/srv-activation/” in all project files. This will replace the old application and types with the new ones.

  3. To verify if there are no typo in the new project, try to build the new package using either Eclipse IDE, IDEA IDE, or command line APS tools. For example, run:

    $ aps build srv-activation
    

If no errors detected and you have successfully built an APS package, then proceed to the next step.

Following the demo project, you will create and test an APS package similar to the sample package.