This is the next blog post in the App Orchestration series. In previous blogs, all the key concepts have been already been explained. In this post, I will concentrate on details about subscriptions.

In the Managing Advertisements post, it was described how advertisements can be created from the available applications that are discovered as workload machines are imported from a workload catalog.

Also the Managing Tenants post described how Tenants can be imported using Citrix App Studio.

Once the advertisements and tenants are in place, the next step is to create subscriptions. This action will trigger publishing applications in the XenApp farm. For more information please refer to the Workflows postings in this series. A subscription is really an association between an advertisement and a tenant. As part of this association, the users are specified. Note that it is recommended that group accounts are used instead of adding individual user accounts. The accounts specified for the subscription must be contained in the root Organizational Unit that was specified when the tenant was imported.

In App Studio, the task for creating subscriptions can be initiated from the subscription view or from the tenant view. In the first case, the wizard will prompt to select the tenant, and in the second case, the wizards will first prompt to select the advertisement. Multiple advertisements can be selected at the same time but only one tenant can be selected when creating subscriptions. In the case when multiple advertisements are selected, a batch operation creates multiple subscriptions at the same time. So a subscription is always associated with a single advertisement and a single tenant.

The next step in the wizard will prompt for a list of accounts to add to the subscription. The accounts must be validated before moving to the final page in the wizard. In the same page, accounts can also be removed in case they were incorrectly added. The last page in the wizard is just a confirmation of this action. After clicking the finish button, App Studio will create the necessary workflows that create published applications in the farm.

Notice that during this process, the selection of the farm or workload is kept internal. This is intentional since the Orchestration engine takes care of allocating a farm when necessary. For example, if the advertisement was created to be shared among multiple tenants, the shared farm will be selected. Otherwise, an available farm will be allocated for the tenant.

Another detail that the Orchestration engine maintains internal is which controller in the farm to target for execution of the workflow. When farms have multiple controllers, each machine will have an Orchestration Agent, but only one is elected as primary. This will be the target for any configurations in the farm, including creating published applications.

Notice that the application settings are obtained from the advertisement. If any of the settings is changed, then the corresponding workflows to update all the applications associated with the advertisement will be created.

After the subscription is created, more accounts can be added or existing accounts can be removed. To do this, first find the subscription from either the Tenant view or the Advertisements view. When you are in the details view you should see tabs for the subscriptions. Select the subscription and the details view for the subscription will be loaded. Here you will see actions to add and remove users. In that view you can also delete the subscription, which effectively will also delete it from the corresponding farm.

It is important to understand that there can only be one subscription per advertisement/tenant combination. So if you try to create a new subscription and select an advertisement and tenant for which there is already a subscription created, this operation will just add any new users specified and ignore duplicate users. It will never create a new subscription.

In the current version of App Studio, deleting an advertisement will also delete any subscriptions that are associated with the advertisement. In the same manner, deleting a tenant will cause all the tenant subscriptions to be deleted. The list of subscriptions that will be deleted by either action is displayed in a dialog so that the operation can be confirmed.

A final topic related to subscriptions has to do with the integration with ClooudPortal Services Manager, which provides a self-service interface to create tenants and subscriptions. More details will be available soon. Stay tuned!