Cloud-abstraction library

The library introduces a software abstraction between applications and cloud services by exposing Vendor-Independent API. The platforms currently supported are Google App Engine , Windows Azure and Amazon Web Services. In addition, the library has been extended in order to allow the deployment of local applications that make use of Glassifish 4.0 Application Server. The library CPIM exposes APIs for access to the following Cloud services , among the most common in PaaS platforms :

NoSQL Service

SQL Service

Blob Service

Message Queue

Task Queue

Mail Service


The library, using only the metadata contained in the configuration files, can remap, at runtime, requests to these generic cloud services, into vendor-specific calls in respect of the service provider you choose. In particular, the library makes use of 3 XML configuration file:




These files should be placed in the META-INF folder of the project. The persistence.xml file is the well known configuration file of the data persistence service and is in fact used by the CPIM to perform the NoSQL service. Being already in itself a standard we will analyze only the configuration for the specific provider in the following sections . The configuration.xml file and queue.xml are proper to the library. Then we go below to analyze their structure in order to better understand the correct manual configuration of an application that makes use of the CPIM .


Type of Asset Software
Programming Languages java
Service Model IaaS, PaaS
Roles Service design and transition manager, Inter-cloud provider, Cloud service integrator, Cloud service developer
Layers and Multi-Layer Functions Access layer, Resource and network layer, Development support capabilities
Technologies Amazon S3, Microsoft Azure, Google AppEngine, Google Bigtables, JDBC, Cassandra
Cross Cutting Concerns Interoperability, Portability

ETICS Quality Report

Overall Quality Rating Quality Kiviat Chart


Data and Resources