Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Applications on Demand Service - information for developers

From EGIWiki
Jump to navigation Jump to search
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:


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.


Web page design

The ScienceSoftware on Demand service is implemented using a Liferay7 instance and each existing application has been developed using the Liferay SDK.

The source code of each application is publicly available in a dedicated GitHub repository available at: https://github.com/ricsxn/EOSC-hub/tree/master/T13.3/fgsg/demo_apps.

The repository contains the necessary files to setup the application on the FutureGateway and also the web applciation source code available in the `portlet` subfolder.

Each web application has been generated with the Liferay' SDK command: `blade create -t npm-jquery-portlet` and it essentially uses the following files:

  • src/main/resources/META-INF/resources/init.jsp
  • src/main/resources/META-INF/resources/js/index.js

References

For further information about the EC3 Framework, please check the official web page.