Applications on Demand Service - information for developers
Applications on Demand Service menu: | Home • | Documentation for providers • | Documentation for developers • | Architecture |
Applications on Demand (AoD) Service Information pages
The EGI Applications on Demand service (AoD) is the EGI’s response to the requirements of researchers who are interested in using applications in a on-demand fashion together with the compute and storage environment needed to compute and store data.
The Service can be accessed through the EGI Marketplace
Development guidelines and materials for application developers
In this section we collect some useful information for those interested to integrate new applications in one of the available Science Gateways and VRE.
How to integrate a new application in EC3
The process to integrate a new application in EC3 is described by the following process:
- Describe the application to be integrated with Ansible, the open-source automation engine that automates software provisioning, configuration management, and application deployment.
- For more info about how to use Ansible, please refer to the official documentation http://docs.ansible.com/
- Use the Ansible receipt to create a new RADL template (for this contact Miguel Caballer at: micafer1 <at> upv <dot> es)
- For more info, please refer to the official documentation: http://ec3.readthedocs.io/en/devel/templates.html
- Example of RADL templates are available at: https://github.com/grycap/ec3/tree/master/templates
How to integrate a new application in the FutureGateway Science Gateway
There are mainly two methods to add an application to the Science Software on Demand service (SSOD).
- The first consists in integrating a new web application in the site 'Applications' section.
- The second consists in get supported in hosting, installing, developing and configuring a new Science Gateway built on top of the FutureGateway Framework.
Setup a web application
To develop a new web application to be integrated in the SSOD, it is only necessary to know:
- The FutureGateway system and its related set of REST APIs
- Basic knowledge of web pages design, in particuar javascript and jQuery knowledge.
FutureGateway concepts
FutureGateway official documentation is available from its repository page at: https://github.com/FutureGatewayFramework/fgDocumentation.
The documentation exlpains how to install and then use REST APIs which specifications are available at: http://docs.fgapis.apiary.io/#.
The FutureGateway APIs are essentially managing three entities:
- Infrastructures - Keep information about the access to the physical distributed infrastructure
- Applications - Describe the activity to perform on top of a distributed ifnrastructure
- Tasks - Keep application instances 'running' on top of distributed infrastructure
Beside these core set of API, other entities have been added:
- Users groups and roles (UGR) - Manage FutureGateway users groups and roles
- Auditing and accounting (AAA) - Retrieve usage statistics (Under construction)
Infrastructures
Infrastructures are defined as a set of key value pairs in the form of: (key_name, key_value).
The whole set of these values is then used by a FutureGateway component named 'Executor Interface', to physically access the distributed infrastructure.
Applications
An Application describe the activity to perform on top of an infrastructure. Applications may use one or more infrastructures and they can describe any kind of activity, from a batch execution till a PaaS creation.
Tasks
Any running Application is a Task, it holds information about its status and related input/output files. Tasks can also collect data at runtime.
References
For further information about the EC3 Framework, please check the official web page.