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](https://bitbucket.org/repo/xedbxr/images/3803304460-Sla%20Manager%203%20-%20Use%20Cases.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: * download the web application archive (war) file from the artifact repository : http://ftp.specs-project.eu/public/artifacts/sla-platform/sla-manager/sla-manager-api-STABLE.war * 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. **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: ``` #!bash git clone git@bitbucket.org:specs-team/specs-core-sla_platform-sla_manager.git ``` * under specs-core-sla_platform-sla_manager run: ``` #!bash mvn install ``` Frontend installation steps: * clone the Bitbucket repository: ``` #!bash git clone git@bitbucket.org:specs-team/specs-core-sla_platform-sla_manager-api.git ``` * under specs-core-sla_platform-sla_manager-api run: ``` #!bash 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/). ``` #!xml <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: ``` #!xml <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](https://bitbucket.org/repo/xedbxr/images/2992096272-API%201.png) ![API 2.png](https://bitbucket.org/repo/xedbxr/images/3045717768-API%202.png) ### Who do I talk to? ### * Please contact massimiliano.rak@unina2.it * www.specs-project.eu SPECS Project 2013 - CeRICT