Business Report Properties

Providers are interested in estimating business results (such as customer demand and growth) for services which are provided by the applications they use. For that purpose, application developers can mark within their APS packages the APS types and resource counters whose usage must indicate the business growth based on those applications. The objects marked this way are called seats in business reports. Seat information is intended to give statistics for a top-down view of service popularity among customers. For example, such information may be used as input data in business intelligence systems. Seat information must not be used for billing or other financial purposes.

Relationship with Resource Classes

The seats must be presented in customer subscriptions as resources (resource types) based on the following resource classes:

  • Application service: the number of provisioned resources (that is, resource usage) based on this class can be accounted as the number of seats.

  • Application service reference: the number of seats can be accounted either as the resource usage or resource limit.

  • Application counter: the number of seats is the counter value.

The relationship between APS types, APS resources, and APS counters on one hand and resource types and resource classes on the other hand are described in the APS Resource Management document.

APS Resources as Seats

To account APS resources as seats, add the seatMark property in the respective APS type using one of the following options:

  • "seatMark":"service": use this when the APS type is used to create a resource type based on the Application service resource class. The number of seats will be the resource usage in the subscriptions that is the same as the total number of the related APS resources provisioned for subscribers.

  • "seatMark":"service_ref_usage": the APS type is used to create service profiles and then the latter are used to create resource types based on the Application service reference resource class. The number of seats will be the total number of links to the respective APS resources from all subscriptions.

  • "seatMark":"service_ref_limit": the same case as the previous, with the exception that the number of seats will be the total of all limits of the respective resources in all subscriptions.

Resource Counters as Seat Counters

Many applications have their own counters that compute resource usage using their own algorithm. A counter is typically declared as an APS type property implementing the Counter structure. To use that counter as a counter of seats, add the "isSeat":true property to the counter declaration in the APS type.

Seat Declaration in PHP

If you generate APS types from annotations in PHP scripts, follow the examples in this section.

APS Resources as Seats

The following example requires accounting the total number of VPSes based on the specified APS type:

/**
* @type("http://aps-standard.org/samples/counters/vps/1.0")
* @implements("http://aps-standard.org/types/core/resource/1.0")
* @seatMark("service")
*/
class vps extends \APS\ResourceBase {
   // ...
}

If VPS configuration is based on various service profiles, you can differentiate the usage of different service profiles linked with VPSes. In this case, use the following declaration as an example:

/**
* Class offer
* @type("http://aps-standard.org/samples/offer1p/offer/1.0")
* @implements("http://aps-standard.org/types/core/resource/1.0")
* @seatMark("service_ref_usage")
*/
class offer extends \APS\ResourceBase {
   // ...
}

Resource Counters as Seat Counters

The following code requires accounting in business reports the total of all counters based on the declared property:

/**
 * @type("http://aps-standard.org/types/core/resource/1.0#Counter")
 * @description("Total disk space usage, GB")
 * @unit("gb")
 * @isSeat(true)
 */
public $diskUsageTotal;