Report Flex Funds 2022
"TOSCA Modelling Tool" - Project Report
Funding period: 01.05.–31.12.2022
1. Object of the funding
The object of the project funding of 20,000 euros was the provision of a low-threshold tool for modelling the structure of research software and its packaging according to the TOSCA standard ("Topology and Orchestration Specification for Cloud Applications"). The TOSCA standard provides a unified format for the standardised, machine-readable and thus transferable description and documentation of application structures. The specific aim of the funding was to further develop the graphical modelling component of the OpenTOSCA ecosystem (the so-called "Winery", https://projects.eclipse.org/projects/soa.winery) so that it can be installed as a stand-alone desktop application independent of OpenTOSCA and used on all common operating systems (Linux, macOS, Windows).
2. Work steps
At the beginning of the project funding, a requirements analysis was first carried out, in which, among other things, the existing dependencies within the OpenTOSCA implementation were identified. This essentially resulted in the following subtasks, which were successfully implemented within the framework of the funding:
- Provision of an Electron-based desktop client (https://github.com/electron/electron) that can be installed locally and serves as a runtime environment for all components of the "TOSCA Modelling Tool".
- Integration of the Java-based Winery backend into the desktop client
- Integration of the Angular-based Winery frontend into the desktop client
- Integration of a start or default repo that can be used as a starting point for modelling applications
- Implementation of an automated mechanism for compiling the "TOSCA Modelling Tool" for different operating systems, taking into account the latest version of the OpenTOSCA Winery (https://github.com/opentosca/winery).
- Provision and automatic updating of the "TOSCA Modelling Tool" on a dedicated project website, which can and should be extended in the future to include documentation and other metadata.
The development of the "TOSCA Modelling Tool" and thus the expenditure of the project funding took place in an open source manner and can be traced under the following Github repository: https://github.com/olvidalo/desktop-winery
A separate project website has also been set up to provide the latest version of the "TOSCA Modelling Tool": https://olvidalo.github.io/desktop-winery
3. Project result
The "TOSCA Modelling Tool" enables developers and maintainers of DH applications to model the structure of their applications in a graphical editor on the basis of the TOSCA standard and then export them in the form of a standardised packaging format (so-called CSAR, for "Cloud Service Archive"). The CSARs created in this way contain, similar to a Docker image, all the components necessary for operating the packaged application (as binaries or specifying package sources or similar). In addition, CSARs also contain an exact specification of the dependencies between the individual components of an application structure - a kind of "instruction leaflet", comparable to Docker compose stacks.
The exported CSARs can also be published with a DOI (e.g. via Zenodo), which enables the citation or referencing of applications beyond the citation of the code alone. In the future, the CSARs can also be interpreted and deployed by any TOSCA-capable runtime environment, provided that the modelling is correct and complete.
By implementing the "TOSCA Modelling Tool" as a very easy-to-use desktop application, we hope to have significantly reduced the technical requirements for (DH) researchers for TOSCA-compliant modelling of research software.
4. Further steps
- Revise the project website to include documentation, logos and copyright/funding information.
- Addition of copyright/licence headers (Apache) to the source code documentation, among other things.
- Moving the Github repository to https://github.com/cceh (as well as integration into the OpenTOSCA repositories, if applicable)
- Addition of a practical guide with best-practice examples for the use of the "TOSCA Modelling Tool".
The "TOSCA Modelling Tool" should be seen as a further step towards a more sustainable approach to research applications. First and foremost, it should contribute to the introduction and consolidation of TOSCA as a documentation standard in the DH. In the future, the project can be continued with the provision of decentralised, TOSCA-capable runtimes as a community-wide strategy for better referencing and citation of research applications.
Authors:Claes Neuefeind, Marcel Schaeben, Philip Schildkamp (University of Cologne, Cologne Center for eHumanities / Data Center for the Humanities)