28.06.2015 Views

Optimising development and deployment of ... - ResearchGate

Optimising development and deployment of ... - ResearchGate

Optimising development and deployment of ... - ResearchGate

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5<br />

• Challenges which are generic with regard to cloud infrastructures, such as enabling<br />

multi-tenancy, scalability, reliability, security;<br />

• Challenges which are specific to application platforms, such as facilitating<br />

application reusability, extensibility, configurability, integrability, manageability.<br />

The first set <strong>of</strong> challenges is fundamental to providing any cloud-based service.<br />

The second set is fundamental to providing a service on the basis <strong>of</strong> a PaaS <strong>of</strong>fering.<br />

The focus here is supporting application <strong>development</strong> specifically in the context <strong>of</strong> a<br />

‘s<strong>of</strong>tware platform’ [10, 11, 12], <strong>and</strong> achieving the ‘platform effect’ that has already<br />

become very popular outside the cloud computing domain by mobile phone platforms<br />

such as Apple’s iPhone. Fundamental to this, is to provide facilities which will act as<br />

catalysts for the emergence <strong>of</strong> an actual ecosystem around the platform.<br />

In practical terms, these facilities include enabling application developers to reuse<br />

existing applications found on the platform, adapt them to their needs, integrate them<br />

with external systems, combine them into new solutions <strong>and</strong> resell them, while<br />

keeping the platform provider’s effort for maintaining the platform <strong>and</strong> managing the<br />

application <strong>development</strong>/<strong>deployment</strong> process as low as possible.<br />

4 Main concepts <strong>and</strong> terminology<br />

Before going into further detail with regard to the platform’s model <strong>of</strong> operation <strong>and</strong><br />

architecture, it is best to provide an overview <strong>of</strong> the main concepts <strong>and</strong> associated<br />

terminology. We explain how we use the terms platform, solution, customisation, app,<br />

<strong>and</strong> external service, in the context <strong>of</strong> the CAST project <strong>and</strong> this paper.<br />

Platform<br />

The platform is defined as a s<strong>of</strong>tware environment used for developing, deploying,<br />

<strong>and</strong> provisioning enterprise s<strong>of</strong>tware applications. The usage <strong>of</strong> the platform is<br />

<strong>of</strong>fered as a service to developers who are looking to create Web-based on-dem<strong>and</strong><br />

applications. Those developers can be Independent S<strong>of</strong>tware Vendors (ISVs) who are<br />

looking to create new solutions addressable to entire markets, or IT teams looking to<br />

create solutions for specific needs within their own organisations.<br />

The platform consists <strong>of</strong> an execution stack (hardware, server s<strong>of</strong>tware, databases,<br />

application containers, etc), a set <strong>of</strong> core <strong>and</strong> optional “building blocks” which are<br />

used for developing new applications/solutions, <strong>and</strong> a set <strong>of</strong> specialised tools to<br />

support the activities <strong>of</strong> developers <strong>and</strong> administrators.<br />

The platform adheres to the open/closed principle: it is open for extensions through<br />

changes at explicitly declared components <strong>of</strong> the architecture, <strong>and</strong> closed for any<br />

other modifications that could affect its stability <strong>and</strong> reliability.<br />

Solutions<br />

A solution is defined as an enterprise s<strong>of</strong>tware application which is based on the<br />

platform <strong>and</strong> is targeted at a specific market segment (e.g. CRM for insurance<br />

companies). Solutions are therefore intended to be marketable to a great number <strong>of</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!