• No results found

10.3 CloudFoundry Java library

11.1.2 Functional Requirements

Two primary stakeholders were identified:

Cloud-based application developer This may be an enterprise or an ISV (Independent Soft-

ware Vendor) that wants to develop an application and host it on the cloud.

Cloud PaaS provider This is any PaaS offering that wants to be as available as possible to

customers.

Table 11.1 shows a list of the requirements relevant to the design of the adapter, classified by stakeholder and priority. Low priority requirements are omitted since it was decided not to address them. As the table clearly depicts, the adapters are primarily address to developers, since the use cases related to them are the ones that need to communicate to the different underlying platforms.

Taking this list as a starting point, we have refined the requirements into a new list of finer- grained requirements specific to this project.

The new requirements have been elicited using a template inspired in the requirement tem- plates of the Volere methodology [RR12] but with a simplified set of fields adjusted to the needs of this project. Table 11.2 describes this template.

Stakholder Requirement Priority

Cloud-based application developer

F1 Monitor, manage and configure a Cloud-based appli- cation’s lifecycle (deployment, federation and migra- tion)

Top F2 Be able to migrate an application from one

Cloud4SOA-enabled platform to another

F3 Receive notifications when a SLA violation is raised F4 Establish agreements with Cloud4SOA enabled

providers (when registered)

F5 Deploy (part of) an application on a Cloud4SOA en- abled platform

F6 Acquire additional resources upon request

Cloud PaaS

provider F7 Map their platform’s API to the Cloud4SOA API Medium

Table 11.1: Cloud4SOA Functional requirements

Req. Id Requirement

identifier

Originator High-level requirement

that originates this re- quirement.

Priority Requirement

priority

Description

Description of the requirement

Rationale

Justification for the need of this requirement

Fit Criterion

Condition that has to be achieved for this requirement to be considered fulfilled Table 11.2: Requirements template inspired in the Volere template.

The following subsections describe the new requirements for each stakeholder.

Developer

Req. Id CD1 Originator F1 Priority Top

Description

The system must enable the deployment of applications to CloudFoundry by following the same process than with any other PaaS.

Rationale

To be able to add CloudFoundry to the repository of available PaaS.

Fit Criterion

The system must be capable of deploying a complex Java Web application (using a database) packaged as a war file to CloudFoundry.

Req. Id CD2 Originator F1 Priority Top

Description

The system must enable the undeployment of applications running on CloudFoundry.

Rationale

To be able to provide the required functionalities to fully integrate CloudFoundry.

Fit Criterion

The system must be capable of undeploying any application previously deployed to Cloud- Foundry.

Req. Id CD3 Originator F1 Priority Top

Description

The system must enable the governance (start/stop) of applications running on Cloud- Foundry.

Rationale

To be able to provide the required functionalities to fully integrate CloudFoundry.

Fit Criterion

The system must be capable of starting and stopping any application previously deployed to CloudFoundry.

Req. Id CD4 Originator F1 Priority Top

Description

The system must enable the monitoring of applications running on CloudFoundry. The mon- itoring must be able to collect the same metrics collected for other PaaS.

Rationale

To be able to provide the required functionalities to fully integrate CloudFoundry.

Fit Criterion

The system must be capable of showing monitoring data for any application deployed to CloudFoundry.

Req. Id CD5 Originator F2 Priority Top

Description

The system must enable the migration of an application from CloudFoundry to any compati- ble PaaS and vice-versa. The application and its environment must not be altered or damaged during this migration.

Rationale

To be able to integrate Cloud Foundry in the migration feature of Cloud4SOA which is one of the key features of the platform.

Fit Criterion

The system must be capable of migrating a complex Java Web application (using a databse) packaged as a war file to any compatible PaaS.

Req. Id CD6 Originator F4 Priority Medium

Description

The system must automatically create an agreement between the developer and Cloud- Foundry when an application is deployed to it. The details of the agreement can be defined by the developer at the time of creating the application.

Rationale

To be able to have an agreement between developers and the PaaS to which they deploy applications, thus enabling Cloud4SOA to have a control over the performance of the cloud and to warn the developer about any unexpected situations.

Fit Criterion

The system must create an implicit agreement with CloudFoundry when deploying any ap- plication to it. The agreement should contain the terms specified by the developer when creating the application.

Req. Id P1 Originator F7 Priority Medium

Description

The interface of CloudFoundry must be mapped to the harmonized Cloud4SOA API. The system must implement as much methods as possible from this interface and state clearly the methods that are not applicable.

Rationale

To take the most profit of the CloudFoundry API and implement as much operations as possible.

Fit Criterion

All methods from the harmonized Cloud4SOA API must be mapped to a method or set of methods of the Cloud Foundry API, or stated that is not applicable to CloudFoundry.