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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8<br />

Specifically, the registry/repository system supports the following functions:<br />

• Central cataloguing <strong>of</strong> solutions, apps, <strong>and</strong> external services, <strong>and</strong> storage <strong>of</strong> their<br />

associated artefacts in platform-wide accessible location.<br />

• Versioning <strong>of</strong> managed entities <strong>and</strong> artefacts to reflect significant changes <strong>and</strong> to<br />

designate new states in <strong>development</strong>.<br />

• Controlling the evolution <strong>of</strong> managed entities <strong>and</strong> artefacts, by modelling lifecycle<br />

states <strong>and</strong> associating validation checks with state transitions.<br />

• Tracking dependencies among solutions, apps, <strong>and</strong> services <strong>and</strong> allowing for<br />

impact analysis.<br />

• Performing conformance checking to ensure that managed entities <strong>and</strong> artefacts are<br />

compliant to the platform provider’s ground rules regarding valid structures.<br />

• Monitoring <strong>of</strong> the external Web services on which apps are dependent to ensure<br />

appropriate levels <strong>of</strong> availability <strong>and</strong> performance, considering SLAs.<br />

5.3 App/solution directory (store)<br />

An app/solution directory is an end-user facing Web application that allows customers<br />

to view the solutions <strong>and</strong> apps that are available on the CAST platform. Users can<br />

select a solution, view all apps that are compatible with the particular solution,<br />

enable/disable optional apps, <strong>and</strong> install them to their account, triggering all necessary<br />

licensing/billing/configuration steps through st<strong>and</strong>ardized wizards. Input for these<br />

wizards can be extracted from app metadata (app/solution manifest) that were written<br />

to the registry/repository during app <strong>deployment</strong>.<br />

Installation <strong>of</strong> an app in the CAST context does not mean that native code <strong>and</strong><br />

artefacts are deployed / installed to a special location. Installation means unlocking<br />

the functionality <strong>of</strong> an app for a specific user. During installation <strong>of</strong> an app, the<br />

database schema specifications will be applied (e.g. new tables will be created or<br />

existing tables will be extended). Furthermore, other artefacts <strong>of</strong> the app will be<br />

interpreted from this point on. This also holds for native code: dispatchers in the<br />

CAST platform core will call the associated native code components after an app has<br />

been unlocked for the user. This also means that native code parts <strong>of</strong> an app are<br />

always part <strong>of</strong> the CAST platform's code base, but they will not be invoked until an<br />

app is explicitly installed.<br />

6 CAST platform packaging model<br />

Apps are the basic blocks for creating enterprise s<strong>of</strong>tware solutions <strong>and</strong><br />

customisations within the CAST platform. There can be apps that are pre-fabricated<br />

by the CAST platform provider (e.g. built-in apps for basic functionalities like contact<br />

management or document management) <strong>and</strong> are subsequently configured by a<br />

platform partner for a particular solution or customisation, or apps which are<br />

developed by a platform partner from the ground-up, <strong>and</strong> subsequently added to the<br />

platform for other partners to reuse <strong>and</strong> customise for their own solutions.

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

Saved successfully!

Ooh no, something went wrong!