Previous topic

Integration with Odin Service Automation

Next topic

APS Types in Odin Service Automation

DOCUMENTATION
Last updated 15-Jul-2016

APS Resource Model in Odin Service Automation

APS controller, being installed in Service Automation, considers the Operations Automation management node (hereafter - Operations Automation), Business Automation application node (hereafter - Business Automation), and Online Store in the same way as it considers other APS applications.

API Integration

APS controller interacts with APS actors on the private network (BackNet) and on the public network (Internet) through the following endpoints:

../../_images/pa-api-integration.png
  • APS controller accepts REST requests on its endpoint via BackNet from APS applications and users. It also accepts REST requests from users through the Brand/UI node.
  • Each of Service Automation components (Operations Automation, Business Automation, and Online Store) exposes own APS services on its endpoint.
  • Other APS applications can expose their endpoints either on internal service hosts via BackNet or on external hosts via the Internet. The latter case is not shown on the above diagram.

Service Automation components interact with the APS controller using the REST interface via BackNet. APS controller sends REST requests to either, applcation endpoints available on BackNet and to those available in the Internet.

This enables APS applications to interact with Service Automation specific resources, such as:

  • Accounts - e.g., to bind the resource management context to the subscription owner
  • Subscriptions - e.g., to bind the resource management context to the subscription
  • End-users - e.g., to assign application resources to end-users (service users)

Application consumers will use two types of connection:

../../_images/pa-ui-integration.png
  • Customer staff members and end-users interact through the REST interface with the APS controller, normally via the custom UI integrated with the Service Automation control panel. This connection is needed for deploying, provisioning, and managing application resources.
  • End-users, when they need to consume application services, interact with the application through its native interface - App UI.

Overview of APS Types in Service Automation

There are a number of predefined APS types used in Service Automation for creating APS resources. The resources expose corresponding native Service Automation resources on the APS bus. It allows APS applications to manage Service Automation resources by sending REST CRUD requests to the APS controller. For example, a spam-protection application may require to change or create an MX record in a customer domain zone.

The table below shows which CRUD operations with Service Automation resources are allowed depending on the APS type the resources are based on.

Type GET POST PUT DELETE Overview
poaApplication Yes
-
-
-
Operations Automation as APS application. Inherits the APS application types.
paAccount
Yes
-
-
-
Provider, reseller, or customer account. Applications can read the resource properties.
paUser
-
-
-
-
Base type inherited by paAdminUser and paServiceUser types.
paAdminUser Yes
-
-
-
Staff member of an account.
paServiceUser Yes Yes Yes Yes End-user (resource consumer) of an account.
paServiceTemplate Yes
-
-
-
Operations Automation service template.
paSubscription Yes
-
-
-
Operations Automation subscription. Allows getting a list (array) of resources.
paHostedDomain (dns-zone) Yes Yes
-
Yes DNS zone managed by Operations Automation.
paDNSRecord
-
-
-
-
Base type inherited by other DNS types.
paAdnsRecord Yes Yes Yes Yes DNS record of the A type.
paMXdnsRecord Yes Yes Yes Yes DNS record of the MX type.
paCNAMEdnsRecord Yes Yes Yes Yes DNS record of the CNAME type.
paTXTdnsRecord Yes Yes Yes Yes DNS record of the TXT type.
MSSQL Yes Yes
-
Yes Microsoft SQL database.
PostgreSQL Yes Yes
-
Yes PostgreSQL database.
MySQL Yes Yes
-
Yes MySQL database
paSharedWebEnvironment Yes
-
-
-
Shared web environment.
paWebsite Yes
-
-
-
Web site.
MailList Yes
-
-
-
List of mail addresses.
Archiving Yes Yes Yes Yes Mailbox archiving.
MailContact Yes
-
-
-
Mail Contact.
Mailbox Yes
-
-
-
Mailbox.
SharedMailbox Yes
-
-
-
Shared mailbox.

Type Inheritance

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

  • All resource types implement the Resource type.
  • Operations Automation is presented as an APS application by means of the resource based on the poaApplication type.
../../_images/pa-type-inheritance.png

APS Type Relations in Service Automation

The seria of diagrams below shows the relationship for Service Automation built-in APS types. This helps to find out a list of resources bound to a certain Service Automation 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 Service Automation types. Service Automation types are displayed with red background.
  • Arrows represent relations. Relations defined or redefined in Service Automation types are displayed in red.
  • Service Automation types can inherit some relations from ASP built-in types. In this case, the APS parent presents on top of the Service Automation 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 Relations

When designing a package, you need to define relations between the application and Service Automation 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

Limitations

  • The length of a string argument in a property of a JSON object cannot exceed 2048 symbols.

  • APS controller integrated with Odin Service Automation supports the following measurement units specified by the unit attribute:

    • “item” - items
    • “unit” - items
    • “kb” - KBytes
    • “mb” - MBytes
    • “gb” - GBytes
    • “item-h” - item-hours
    • “mb-h” - MByte-hours
    • “mhzh” - MHz-hours

    The last three units in the above list are effective to calculate integrated amount of a resource used during a period of time. This is useful for pay-as-you-go charge methods. For example, 1000 mb-h for a disk space may show that 100 MB of disk space was used during 10 hours, or 10 MB was used during 100 hours, etc., which actually does not make difference for the billing system using such a unit.