Werkzeuge auf einem Holztisch

Werkzeuge auf einem Holztisch

"Werkzeuge auf einem Holztisch" CC0 Autor:in: Fleur, Besitzer:in: www.unsplash.com

Förderzeitraum: 01.05.–31.12.2022

1. Gegenstand der Förderung

Gegenstand der Projektförderung in Höhe von 20.000 Euro war die Bereitstellung eines niederschwelligen Tools zur Modellierung der Struktur von Forschungssoftware und deren Paketierung gemäß des TOSCA-Standards (“Topology and Orchestration Specification for Cloud Applications”). Der TOSCA-Standard stellt hierbei ein vereinheitlichtes Format für die standardisierte, maschinenlesbare und damit übertragbare Beschreibung und Dokumentation von Anwendungsstrukturen bereit. Konkretes Ziel der Förderung war es, die grafische Modellierungskomponente des OpenTOSCA-Ökosystems (die sog. „Winery“, https://projects.eclipse.org/projects/soa.winery) dahingehend weiterzuentwickeln, dass sie als eigenständige Desktop-Anwendung unabhängig von OpenTOSCA installiert und auf allen gängigen Betriebssystemen (Linux, macOS, Windows) genutzt werden kann.

2. Arbeitsschritte

Mit Beginn der Projektförderung wurde zunächst eine Anforderungsanalyse durchgeführt, bei der u.a. die bestehenden Abhängigkeiten innerhalb der OpenTOSCA-Implementation identifiziert wurden. Daraus ergaben sich im Wesentlichen die folgenden Teilaufgaben, die im Rahmen der Förderung erfolgreich umgesetzt wurden:

  • Bereitstellung eines Electron-basierten Desktop-Clients (https://github.com/electron/electron), der lokal installiert werden kann und als Laufzeitumgebung für alle Komponenten des “TOSCA Modelling Tools” dient
  • Integration des Java-basierten Winery-Backends in den Desktop-Client
  • Integration des auf Angular basierenden Winery-Frontends in den Desktop-Client
  • Integration eines Start- bzw. Default-Repos, das als Ausgangspunkt für die Modellierung von Anwendungen genutzt werden kann
  • Implementation eines automatisierten Mechanismus zum Kompilieren des “TOSCA Modelling Tools” für verschiedene Betriebssysteme unter Berücksichtigung der jeweils neuesten Version der OpenTOSCA Winery (https://github.com/opentosca/winery)
  • Bereitstellung und automatische Aktualisierung des “TOSCA Modelling Tools” auf einer dezidierten Projektwebsite, welche perspektivisch um Dokumentation und sonstige Metadaten erweitert werden kann und soll

Die Entwicklung des “TOSCA Modelling Tools” und damit Aufwendung der Projektförderung erfolgte quelloffen und ist unter folgendem Github-Repositorium nachvollziehbar: https://github.com/olvidalo/desktop-winery
Für die Bereitstellung der jeweils aktuellsten Version des "TOSCA Modelling Tools" wurde zudem eine eigene Projektwebsite eingerichtet: https://olvidalo.github.io/desktop-winery

3. Projektergebnis

Das “TOSCA Modelling Tool” ermöglicht es Entwickler:innen sowie Betreuer:innen von DH-Anwendungen, die Struktur ihrer Anwendungen in einem grafischen Editor auf Basis des TOSCA-Standards zu modellieren und diese anschließend in Form eines standardisierten Paketierungsformats (sog. CSAR, für “Cloud Service Archive”) zu exportieren. Die so erzeugten CSARs enthalten, ähnlich wie ein Docker-Image, alle für den Betrieb der paketierten Anwendung nötigen Komponenten (als Binaries oder unter Angabe von Paketquellen o.ä.). Darüber hinaus enthalten CSARs auch eine exakte Spezifikation der Abhängigkeiten zwischen den einzelnen Komponenten einer Anwendungsstruktur – eine Art “Beipackzettel”, vergleichbar zu Docker-Compose-Stacks.
Die exportierten CSARs können zudem bspw. mit einer DOI versehen publiziert werden (etwa über Zenodo), was die Zitation bzw. Referenzierbarkeit von Anwendungen jenseits der Zitation nur des Codes ermöglicht. Perspektivisch können die CSARs zudem – eine korrekte und vollständige Modellierung vorausgesetzt – von jeder TOSCA-fähigen Laufzeitumgebung interpretiert und deployed werden.
Durch die Implementation des “TOSCA Modelling Tools” als sehr einfach nutzbare Desktop-Anwendung hoffen wir die technischen Anforderungen an (DH-)Forscher:innen für die TOSCA-konforme Modellierung von Forschungssoftware erheblich gesenkt zu haben.

4. Weitere Schritte

  • Überarbeitung der Projektwebsite durch u.a. Bereitstellung von Dokumentation, Logos und Copyright-/Förderhinweisen
  • Ergänzung der Quelltextdokumentation um u.a. Copyright-/Lizenz-Header (Apache)
  • Umzug des Github-Repositorums nach https://github.com/cceh (sowie ggf. Integration in die OpenTOSCA-Repositorien)
  • Ergänzung einer praktischen Anleitung mit Best-Practice-Beispielen für die Nutzung des “TOSCA Modelling Tools”

5. Ausblick
 
Das “TOSCA Modelling Tool” ist als ein weiterer Schritt hin zu einem nachhaltigeren Umgang mit Forschungsanwendungen zu verstehen. Es soll in erster Linie dazu beitragen, TOSCA als Dokumentationsstandard in den DH einzuführen bzw. zu festigen. Perspektivisch lässt sich das Vorhaben mit der Bereitstellung dezentraler, TOSCA-fähiger Runtimes als Community-weite Strategie für eine bessere Referenzierung und Zitation von Forschungsanwendungen fortführen.

Autoren: Claes Neuefeind, Marcel Schaeben, Philip Schildkamp (Universität zu Köln, Cologne Center for eHumanities / Data Center for the Humanities)