Optimising development and deployment of ... - ResearchGate
Optimising development and deployment of ... - ResearchGate
Optimising development and deployment of ... - ResearchGate
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>