Defining a friendly programming model for large scale distributed
applications that integrates the familiar notion of atomic transaction
as a first-class programming language construct. This would spare
programmers from the burden of implementing low level, error-prone
mechanisms (e.g. distribution, persistence and fault-tolerance)
attaining major reductions of the development process cost

2. Minimizing Costs

Minimizing the monitoring and administration costs by automating the
provisioning of resources from the cloud based on user specified target
criteria in terms of both Quality of Service and budget

3. Maximizing Scalability

Maximizing the scalability and efficiency (i.e. the costs/benefits ratio
in the Cloud Computing usage-based pricing model) of the user-level
services by self-tuning the middleware's internal mechanisms to ensure
optimal performance in face of fluctuations of the number of allocated
resources and of the workload characteristic