Wissenschaftliche Workflows mit EWOKS: Forschungspipelines ziehen in die Suite ein
Forschungsdaten kommen selten analysiert an. Sie kommen als Rohdaten von Instrumenten, die reduziert, kalibriert und jedes Mal durch dieselben Verarbeitungsschritte geführt werden müssen, von unterschiedlichen Personen, an unterschiedlichen Tagen, reproduzierbar. Für diesen Bedarf integriert openEduSuite nun EWOKS, das Open-Source-Workflow-Framework des Europäischen Synchrotrons (ESRF), als Suite-Dienst mit einheitlichem Single Sign-On.
Was EWOKS ist
EWOKS (das Extensible Workflow System, entwickelt von der Software-Gruppe des Europäischen Synchrotrons ESRF) ist ein Meta-Workflow-System: eine Abstraktionsschicht zwischen der Workflow-Definition und der Ausführungs-Engine, die sie ausführt. Ein Workflow wird als Task-Graph ausgedrückt und lässt sich dann auf jeder unterstützten Engine ausführen, derzeit pypushflow, Orange, Dask und die interne EWOKS-Engine. Zentrale Eigenschaften:
- Python-Ökosystem: Tasks sind gewöhnliches Python; bestehender Analysecode wird eingepackt, nicht neu geschrieben.
- Engine-Portabilität: dieselbe Workflow-Definition läuft auf unterschiedlichen Ausführungs-Engines, ohne Änderung am Workflow.
- Weboberfläche und REST-API: Workflows werden im Browser erstellt, bearbeitet und überwacht (ewoksweb) und lassen sich programmatisch ansteuern.
- Serialisierbare Definitionen: Workflows liegen als JSON oder YAML vor und können als Daten-Herkunftsnachweis für Publikationen dienen.
EWOKS wurde gebaut, um die Datenpipelines großskaliger Experimente zu bewältigen, bei denen Reproduzierbarkeit nicht verhandelbar ist. Genau diese Eigenschaften brauchen Forschungsgruppen an Hochschulen ebenso.
Anschluss auf Augenhöhe
Die Integration folgt demselben Muster wie bei jedem anderen Suite-Dienst:
- Single Sign-On: der Dienst sitzt hinter dem standardmäßigen Authentifizierungsgateway und authentifiziert Nutzer gegen den zentralen Keycloak-Identity-Provider. Forschende melden sich mit den Konten an, die sie ohnehin haben; keine lokale Nutzerverwaltung.
- Verifizierte Redirect-Ketten: der SSO-Pfad (Gateway-Start, Identity-Provider-Login, Redirect zurück in die Anwendung) wird durch automatisierte Browsertests ausgeübt, sodass ein kaputter Login-Flow auffällt, bevor Nutzer ihn finden.
- Ein Portaleintrag: EWOKS erscheint im Hauptdienst-Raster des Portals als „Scientific Workflows“, direkt neben Mail, Dateien und den anderen alltäglichen Diensten.
Wo es einzuordnen ist
Die Suite deckt nun drei sich ergänzende Automatisierungsebenen ab, jede mit eigenem Auftrag:
| Ebene | Dienst | Aufgabe |
|---|---|---|
| Allgemeine Automatisierung | n8n | Webservices verbinden, Benachrichtigungen, administrativer Klebstoff |
| Wissenschaftliche Workflows | EWOKS | Reproduzierbare Forschungsdatenpipelines als Task-Graphen |
| Interaktives Rechnen | JupyterHub, Dask | Exploration, Notebooks, verteiltes Rechnen |
Keine Ebene ersetzt die andere. Eine Forschungsgruppe prototypisiert einen Reduktionsschritt im Notebook, produziert ihn als EWOKS-Task und lässt einen n8n-Workflow einen Kanal benachrichtigen, wenn die Pipeline durch ist.
Wie es weitergeht
- Gruppenbasierte Autorisierung: Feinsteuerung, welche Workflows und Ergebnisse welche Forschungsgruppen sehen, auf Basis des bestehenden Rollenmodells.
- Beispiel-Workflows: eine kleine Bibliothek anpassungsbereiter Pipelines für gängige Analysemuster.
- Dokumentation: ein Suite-Integrationsleitfaden, damit Institutionen dasselbe Muster deployen können.
Call to Action
- EWOKS kennenlernen: Die Framework-Dokumentation findet sich unter ewoks.readthedocs.io.
- Pipeline mitbringen: Verpacken Sie den bestehenden Python-Analysecode Ihrer Gruppe als ersten Task-Graphen und probieren Sie ihn in der Suite aus.
- Mitmachen: Treten Sie der openEduSuite-Community bei und gestalten Sie die Forschungsdaten-Roadmap mit.
Vom Instrument zur Erkenntnis; reproduzierbare Pipelines sind jetzt Teil des digitalen Arbeitsplatzes.
Quellenangabe: EWOKS wird am Europäischen Synchrotron (ESRF) entwickelt und hier als Open-Source-Software genutzt. Dieser Artikel ist unabhängig und steht in keiner Verbindung zum ESRF noch wird er von diesem unterstützt. Alle anderen Produktnamen sind Marken ihrer jeweiligen Inhaber.