Application Packaging Standard

Last updated 18-Mar-2019

Development Environment

To develop and test APS applications, you need to install the local development environment and have a test platform.

../../../_images/start-step-env-b.png ../../../_images/start-step-overview.png ../../../_images/start-step-develop.png ../../../_images/start-step-deploy.png ../../../_images/start-step-provisioning.png ../../../_images/start-step-update.png

Set up Local APS Development Environment

The following sections explain the installation of the APS development environment on the CentOS-7 operating system.

To install it on another OS, follow the installation instructions in the APS PHP Runtime and Command Line Tools documents.

Install APS PHP Runtime

To create PHP scripts implementing the provisioning logic, install the APS PHP runtime on your computer. It allows you to use multiple REST and APS specific classes and methods to eliminate development of your own low level communication and security methods.

In CentOS-7, follow these steps:

  1. Ensure you have PHP and PHP-XML installed:

    # yum install php
    # yum install php-xml
    
  2. Download and install the APS PHP runtime.
    For example, if the latest package is aps-php-runtime-2.2-231.noarch.rpm, run:
    # wget http://download.apsstandard.org/php.runtime/aps-php-runtime-2.2-231.noarch.rpm
    # rpm -ivh aps-php-runtime-2.2-231.noarch.rpm
    

Note

For an OS other than CentOS-7, follow the proper instructions.

Install APS Tools

You will need the APS command line tools to build APS packages. The tools require the Java runtime environment.

  1. Ensure JRE or JDK version 6(1.6) or higher is installed in your system.

    For example, for the CentOS-7 operating system, either follow the How To Install Java on CentOS and Fedora instructions or these steps.

    # rpm -ivh <package-name>
    
  2. Install the APS command line development tools relevant for your local OS.

    For CentOS-7, download the latest RPM package and install it. For example, if the package name is apstools-2.2-330.noarch.rpm, run:

    # wget http://download.apsstandard.org/apstools/2.2-330/apstools-2.2-330.noarch.rpm
    # rpm -ivh apstools-2.2-330.noarch.rpm
    

Note

For an OS other than CentOS-7, follow the proper instructions.

Set up Test System

The ultimate goal of an APS package is to deploy an APS application on the platform and then provision the application services to the customers using this platform.

To deploy and provision the APS application you will need a test system consisting of the following servers:

  • Odin Automation management node version 7.1 or later. We will also call it “OSS management node” or simply “platform”.
  • A virtual machine or a physical server (hardware node) with the CentOS-7 operating system on it. We will use it to install an APS application connector as explained in the deployment step.

If you do not have such a test system, register your company and a user account in the APS development portal and then order a free APS Sandbox with the lin-mn-with-rhel7-vm configuration. Configure the VPN connection to get access to your sandbox.

Enable Development Mode

When you test your application on a non-production platform, we recommend you enable the APS development mode, which provides important benefits for developers.

Warning

You should not enable the APS development mode in production since it substantially impacts the network performance, CPU load, and disk usage.

To enable the APS development mode:

  1. In the provider control panel, go to System > Settings and click System Properties.
  2. At the bottom of the screen, click Edit.
  3. Select the APS development mode checkbox to enable the APS development mode.
  4. At the bottom of the screen, click Submit to save the updated configuration.

Conclusion

After completion of the above steps, you must have:

  • Development environment containing the APS PHP runtime library and APS tools
  • The platform management node with the APS development mode enabled
  • A virtual machine or a physical server with CentOS-7 on it
../../../_images/start-dev-env.png

With this environment, you can proceed to the demo project.