Previous topic

Index

Next topic

Integration Process

DOCUMENTATION
Last updated 19-Jun-2017

Getting Started

Introduction to APS Services

Distribution of cloud services to businesses is simpler through Hosting Providers, Telecommunication Companies and Value Added Resellers – Service Providers. With this channel, your Application becomes available for millions of existing customers across the globe. You can focus on improvements of your technology, while Service Providers take care of your business growth.

../_images/app2aps.png

Application Packaging Standard (APS) is a way for independent software vendors (ISV) to distribute cloud services through Service Providers and allows different cloud services to collaborate through standardized RESTful API. It helps ISVs to integrate their applications with APS-enabled service providers by creating an integration APS package for each application.

APS packages, certified as APS-compliant, are usually stored in the APS catalog, which makes them available to any service providers.

Typical Process of Integrating Application

../_images/HowItworks-cloudApp.png

In the integration process, an ISV needs to complete the first step, i.e., development of an APS package for an Application. Using this package, service providers will be able to sell the Application services to their customers multiple times.

  1. ISV develops an APS package that exposes the Application provisioning logic (also known as business, or management, or back-end logic) to a hosting system. Also, a package usually contains a custom presentation logic (also known as User Interface or UI) for representing Application services to end users in a comfortable way.

    APS-enabled hosting system contains the APS controller that interacts with an integrated Application through an APS application endpoint which converts REST API [REST] to the native Application API and vice versa.

  2. A service provider deploys the APS package in the hosting system. On completion of this stage:

    • The hosting system will be aware of the resources the Application can provide. The operations team will be able to manage Application services (resources) through the integrated Application custom UI.
    • The hosting system will be able to interact with the Application by using REST API. The APS package installed on the Endpoint will process REST API calls on the one side and interact with the Application through its native API on the other side.
    • The hosting system will be able to sell Application services through its store.
  3. The service provider sells and upsells Application resources separately or in combination with other resources.

  4. Customers consume Application services. Customers subscribed to the Application resources will be able to manage them in the hosting control panel using the integrated custom UI.

Application Development Process in APS

The main goal of this documentation is to help you with the development process, which is the first step in the above mentioned Application integration process. In the simplest case, if omit the UX design process, the APS package development consists of the following steps.

../_images/aps-how2pack.png

Pay attention to the following key points of the development process.

  • You are aware of the business goals, i.e. you know exactly which Application resources you are going to provide to customers. They can be tenants (also called contexts), user accounts, storage, virtual machines with certain power, etc. Respective APS types must describe resource schemas.
  • You know exactly which API methods are exposed by the Application for operating the resources. You will need this to create backend scripts implementing the provisioning logic on Application endpoints.
  • For each APS type, you need to declare and configure a service exposed on the endpoint host as a URI for the hosting system. Using this URI, the hosting system will manage Application resources through the APS API.
  • In control panels of hosting systems, providers and customers will need visual control elements to manage Application resources. Therefore, you need to design a custom User Interface (UI) for the Application.
  • The key components mentioned above, including general data of the Application, resource types, services,and UI components must be declared in the APS metadata.
  • Once the above development operations are completed, you can package all project components into an APS package that will be a single compressed file, which name looks as <AppName>-<Version>-<Release>.app.zip (e.g. VPScloud-5.0-1.app.zip) and presents the Application name (VPScloud), Application version (5.0), and package release (1).
  • You can use the APS package locally on a hosting system, as well as publish it in the APS catalog . You need to go through the package certification process in order to publish your package.

To start integrating your application with APS-enabled systems, the getting started process includes required and optional steps as follows.

  1. Get familiar with APS fundamentals
  2. Overview APS documentation
  3. For creating integration packages, set up your local APS development environment
  4. For testing integration packages, set up an APS-enabled hosting system
  5. To plan and run your project, follow the integration guidelines
  6. To get more skills, follow the demo projects that best suit your application resource model and user experience (UX)
  7. Use some ideas in the sample packages

Get Familiar with APS Fundamentals

Once you have read the Introduction to APS Services section and got familiar with the basic terminology, follow the self-paced APS introductory video that will help you get introduced to APS principles.

Download PPT slides.

Overview Documentation

Purposes

This documentation contains the complete description of principles, methods, and tools of APS on the Odin Service Automation hosting automation platform, the former Parallels Automation.

We address it to the following specialists who need to use APS as a set of tools and methods to integrate applications with the hosting platform:

  • Application developers working for independent software vendors (ISV)
    • They wish to sell their Application as SaaS (Software as a Service).
    • For this, they need to develop the integration part of applications in a standard way supported by numerous service providers.
  • Operations and support teams working for service providers
    • They need to implement and support APS on their hosting cloud systems.
  • Third-party developers working for system integrators (SI) who wish to build their business on APS
    • They are going to integrate existing applications with the hosting platform and provide APS packages as ready-to-use SaaS solutions.

Contents

Developer Guides

The following documents contain complete description of APS:

Reference Guides

APS provides a number of reference guides with formal description of APS API and runtime environments that help you reach your goals in the most effective and efficient ways:

  • Backend API - RESTful API, protocols, and headers
  • PHP Runtime - framework and library for running the backend part (provisioning logic) of APS applications
  • APS JS API - APS JavaScript API used to develop and run application custom user interface (UI)
  • General APS Types - platform independent APS types supported by the APS controller
  • Platform Specific APS Types - APS types supported by the hosting platform

Development Tools

Development Tools will help you arrange your APS development environment, validate, and pack your APS project in compliance with the standard:

  • Eclipse - the main developer-friendly GUI tool for creating, validating, deploying, and debugging APS packages
  • Command Line Tools - tools used to validate, localize, and build APS packages in the command line
  • APS Fiddle - complimentary remote tool for validating and debugging UI scripts

Development Portal

To help professionals go through the whole cycle of developing and testing APS packages, the Development Portal provides a dedicated hosting platform, known as APS Sandbox, to each organization registered in the portal.

Set up APS Development Environment

You can create APS packages on local computers. Assuming that you will use Windows, Linux, or Mac OS, we recommend you to install the following development tools on it.

  • To build and validate APS packages, install Development Tools relevant for your local OS.
  • To create PHP scripts implementing the provisioning logic, install APS PHP runtime on your computer. It allows you to use multiple REST and APS specific methods to eliminate development of your own low level communication and security methods.

The following tools provide a convenient environment for you to develop and validate integration packages:

  • Eclipse - local integrated development environment with graphical tools for creating, validating, and building APS packages
  • APS Fiddle - a remote tool for validating and debugging UI scripts (no need to install it, just keep a link to it nearby)

Set up APS-enabled Hosting System

The ultimate goal of an APS package is to provision application services to customers through a hosting system based on the Odin Service Automation platform.

We recommend you to order a free APS Sandbox with relevant configuration for testing your packages. The sandbox will contain the core part of the Odin Service Automation hosting system and optional components on your choice.

Follow Integration Guidelines

The main Backend and Frontend documents contain the full description of the APS infrastructure, its components, and methods used for integrating a hosting system with cloud applications.

To simplify your onboarding, there is no need to study all information in the above documents. Instead, we recommend you to follow the Integration Process that help you:

  • Get knowledge and skills in managing the hosting automation platform.
  • Identify the sales model best suited your cloud application.
  • Build the resource model of your integration project.
  • Select integration touchpoints and, consequently, integration methods to implement the integration touch-points.
  • Identify design and development steps for creating the integration package.
  • Identify respective documents, demo projects, and sample packages.
  • Build, deploy, and provision the integration package on the test system.

Study Demo Projects

Follow the step-by-step demo integration processes to get skills in integrating a demo cloud application with a hosting system based on Odin Service Automation. During this process, you will be able to go through all steps of the package life cycle.

  • Analyze the business logic of the application to decide which resources it will provision to customers.
  • Develop APS packages starting with the simplest project that will make you feel how APS works. You will proceed with adding new features in the subsequent projects. You will be able to develop APS types, provisioning scripts, and custom UI.
  • Test deployment and provisioning of your packages on your sandbox. You will try and debug the packages, as well as verify how the application services will look for customers.

Use Sample Packages

Use the following packages as samples for creating your own packages by simply copying and modifying any parts of them.

  • Resource Management Tool is useful as a debug tool. It detects and displays all provisioned APS resources and other APS properties available for the user logged into a control panel of a hosting platform.
  • Sample ownCloud Application illustrates a real production system. It allows you to provision cloud storage for customers and their end-users.

The following packages are sample outcome of demo projects:

Project Package for download Description
Starter Sample Cloud Starter Contains only minimal set of components that each APS package should include.
Basic Single Page Application Sample Basic Single Page Demonstrates custom UI for provisioning and managing virtual private servers (VPS).
Backward Compatible Application Sample Backward Compatible Application Illustrates main principles of backward compatibility in application UI. You can use the package in any hosting platform that complies with one of the following APS versions: 2.0, 2.1, and 2.2.
Integration with Dashboard Sample Dashboard Integration Integrates an APS application with the Home dashboard in the customer control panel.
Custom Wizard Sample Custom Wizard Demonstrates a way to build and use a wizard with plugged views.
Integration with User Management Sample User Management in Single Page UI Integrates an application with the system built-in user manager to assign application services to end-users and manage them.
Asynchronous Provisioning and Single Page UI Sample Async Provisioning Provisions resources asynchronously.
Offering Management Sample Offering Management

Allows the provider to use custom UI in the provider control panel (PCP) to create different configurations for VPSes that will be offered for customers.

Note

Based on the old style UI

Resource Consumption Monitoring Sample Resource Monitoring

Allows the provider and subscribers to get statistics on actual resource consumption.

Note

Based on the old style UI

Offer-Counter-User Management Sample Offer Counter User

A complex project that allows providers to include their offers in service plans, assign resources to end-users, and collect actual resource usage data.

Note

Based on the old style UI

Integration with Domain Manager Sample DNS Integration Integrates an application with the Domain Manager system application.
Event Processing Sample Event Processing

Contains a special service subscribed to different event types for monitoring in real time information about creating, deleting, and changing resources. Comprises all event types defined in the List of Types section.

Note

Based on the old style UI

Bind-to-Domain Event Sample Bind to Domain Event Integrates an application service with the DNS system through the bind-to-domain event.
Service Template Management Sample Service Template Wizard

Integrates an application with the system Service Template wizard and Service Template editor.

Note

Based on the old style UI

Navigation Variables Sample Navigation Variable Options

Investigation of different options in navigation variables.

Note

Based on the old style UI

Notification Management Sample Notification Management Operates control panel notifications from the application backend through the notification manager.
Index