Application Packaging Standard

Last updated 18-Mar-2019

Types

Type Inheritance

Built-in APS types used for creating the platform resources inherit (implement) APS built-in types. Inheritance for some of APS resources is presented in the diagram. Key points:

  • The built-in standard APS type IDs are are in the http://aps-standard.org/types/ namespace.*
  • All APS types with a few exceptions implement the Resource APS type.
  • The platform is presented as an APS application by means of the resource based on the poaApplication APS type. It has many other APS resources presented by a few of APS types. The platform specific APS type IDs are in the two namespaces, http://parallels.com/aps/types/ and http://odin.com/.
  • Every custom APS application uses its own unique namespace. The custom APS types typically inherit (implement) the standard APS types and can operate the platform APS resources in accordance with the authorization rules.
../../../_images/pa-type-inheritance.png

Relationship in Platform

The suite of diagrams below shows the relationship for the platform built-in APS types. This helps to find out a list of resources bound to a certain platform resource. For example, an anti-spam application might need to know the list of MX records in a certain domain to modify them.

Diagram specifics:

  • Rectangles represent APS built-in types and the platform types. The platform types are displayed with red background.
  • Arrows represent relations. Relations defined or redefined in the platform types are displayed in red.
  • The platform types can inherit some relations from APS built-in types. In this case, the APS parent presents on top of the platform type, and the relations are presented with black arrows.
  • Top most APS built-in parent type is displayed with blue background.

APS Core Types

../../../_images/pa-type-core-relations.png

APS DNS Types

../../../_images/pa-type-dns-relations.png

APS Mail Types

../../../_images/pa-type-mail-relations.png

APS Web Types

../../../_images/pa-type-web-relations.png

APS Database Types

../../../_images/pa-type-db-relations.png

Custom Resource Relationship

When designing a package, you need to define relations between the application and the platform APS types. Key points when defining such relations:

  • You need to bind customer resources to the main application resource on the provider’s side. Therefore, applications usually provide the context resource to customers. This resource relates to the application resource from the one hand and to other customer resources from the other hand.
  • To make application able to operate account subscription and service user resources, the corresponding relations should be established.
  • If customer resources must be provisioned basing on a predefined set of configurations or offers, such offers need to be created on the provider’s side. They must relate with the main application resource from the one hand and with the customer resources from the other hand.

An example of custom application relations is presented in the following diagram.

../../../_images/pa-type-custom-relations.png