HTTPS SSH

SLA Manager Description

This software packages aims at offering a REST API to manage SLA life cycle, as proposed in the SPECS project (http://www.specs-project.eu). The SLA Manager is a component in charge with the handling of SLAs life cycles. Its aims to manage the SLAs, signed by users, by storing SLAs information and enabling CRUD operations on them. The main design requirement was that all the information related to SLAs, together with their states, has to be stored in an SLA Repository. The repository must expose an API to enable the CRUD operations. Moreover, in case of event occurrence, generated by alerts or violations, the API must allow the update of the current state of the involved SLAs.

Use Cases

Sla Manager 3 - Use Cases.jpg

Installation

Install using precompiled binaries

The precompiled binaries are available under the SPECS Artifact Repository (http://ftp.specs-project.eu/public/artifacts/)

Prerequisites:

  • Oracle Java JDK 7;
  • Java Servlet/Web Container (recommended: Apache Tomcat 7.0.x);

Installation steps:

If Apache Tomcat 7.0.x is used, the war file needs to be copied into the “/webapps” folder inside the home directory (CATALINA_HOME) of Apache Tomcat 7.0.x.

Compile and install from source

In order to compile and install the SLA Manager it is mandatory first to process the backend, and afterwards the frontend.

Prerequisites:

  • test
  • a Git Client;
  • Apache Maven 3.3.x;
  • Oracle Java JDK 7;
  • Java Servlet/Web Container (recommended: Apache Tomcat 7.0.x );

Backend installation steps:

  • clone the Bitbucket repository:
git clone git@bitbucket.org:specs-team/specs-core-sla_platform-sla_manager.git
  • under specs-core-sla_platform-sla_manager run:
mvn install

Frontend installation steps:

  • clone the Bitbucket repository:
git clone git@bitbucket.org:specs-team/specs-core-sla_platform-sla_manager-api.git
  • under specs-core-sla_platform-sla_manager-api run:
mvn package

The backend installation generates the artifact used by the frontend. The frontend installation generates a web application archive (war) file, under the “/target” subfolder. In order to use the component, the war file has to be deployed in the java servlet/web container. If Apache Tomcat 7.0.x is used, the war file needs to be copied into the “/webapps” folder inside the home directory (CATALINA_HOME) of Apache Tomcat 7.0.x.

Usage

The SLA Manager component exposes a REST API interface. All the exposed REST resources are mapped under the path “/cloud-sla/*”. The mapping rules are defined in the web.xml file under WEB-INF folder (CATALINA_HOME/webapps/sla-manager-api/WEB-INF/).

<servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/cloud-sla/*</url-pattern>
</servlet-mapping>

Moreover, all the REST resources are represented by specific java classes under the package “eu.specsproject.slaplatform.slamanager.restfrontend”, defined in the web.xml file under WEB-INF folder:

<init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>eu.specsproject.slaplatform.slamanager.restfrontend</param-value>
</init-param>

At the startup of the component, all the REST resources are configured based on the configuration parameters defined in the web.xml file.

Rest API Calls - Example

API 1.png

API 2.png

Who do I talk to?

SPECS Project 2013 - CeRICT