
Entwicklung einer CRUD-API für die Software Madek
Um die Software Madek zu modularisieren und zukunftssicher zu machen, hat das ORC die Entwicklung einer CRUD-API in Auftrag gegeben. Eine CRUD-API ermöglicht die Anbindung von Madek an andere Systeme und Applikationen. Mit der bis dahin vorhandenen API und aufgrund des teilweise monolithischen Codes der Software waren Lesezugriffe nur mit hohem Aufwand, Schreibzugriffe gar nicht möglich.
Kategorien
Beschreibung
Herausforderung
Die Software Madek vereint Charakteristika einer Archivdatenbank mit denen einer Plattform zum Teilen von Medien, daher ist sie für den Einsatz an Kunst- und Musikhochschulen besonders gut geeignet. Die API war allerdings auf Lesezugriffe beschränkt. Um die Integration von Madek in bestehende digitale Infrastrukturen, eine Modularisierung durch eigenständige Komponenten sowie die Stärkung der Open Source Community zu erreichen, musste eine vollständige CRUD-API entwickelt werden.
Herangehensweise
Die Entwicklung einer vollständigen CRUD-API ist ein umfangreiches Software-Entwicklungs-Projekt. Daher wurden zunächst zusätzliche Fördermittel bei der Stiftung Innovation in der Hochschullehre eingeworben. Anschließend schrieb das ORC das Projekt aus und beauftragte Software-Entwickler mit der Umsetzung.
Im Vorfeld wurde das Projekt mit der Zürcher Hochschule der Künste (ZHdK), die die Software Madek als Teil ihrer digitalen Hochschulinfrastruktur (Medienarchiv) pflegt und weiterentwickelt, abgestimmt. Die technische Konzeption der API v2 wurde gemeinsam mit dem Senior-Developer der ZHdK erarbeitet. Außerdem wurde vereinbart, die neue API v2 einem Review-Verfahren durch die ZHdK zu unterziehen und anschließend in das offizielle Madek-Repositorium zu integrieren (main branch). Beides ist inzwischen geschehen. Die Nachhaltigkeit der Entwicklung wurde damit deutlich gestärkt. HfG-spezifische Funktionen (z.B. LDAP-Anbindung) werden von uns in einem eigenen Branch gepflegt.
Zusammenhang
Da es sich um höhere Softwareentwicklung handelte, gab es keine Anknüpfungspunkte an das HfG-Curriculum. Zur Qualitätssicherung wurde die API v2 einem Review-Verfahren durch die ZHdK unterzogen. Unsere Entwickler programmierten außerdem eine Proof-of-Concept-Anwendung für Anwendungs-Tests. Inzwischen ist die API v2 produktiv im Einsatz und sorgt für die technische Anbindung zweier Software-Module an das Madek-System: Schaufenster zur Präsentation von studentischen Arbeiten und Project Uploader.
Voraussetzung
Eine strategische Voraussetzung war die Selbstverpflichtung der HfG, das Projektarchiv nachhaltig in die digitale Infrastruktur der Hochschule einzubinden. Die CRUD-API stellt dafür die notwendige technischen Bedingung dar.
Das Projekt hätte allerdings nicht ohne die Bewilligung von Sonderfördermitteln durchgeführt werden können. Denn zu Projektbeginn war nicht absehbar, dass die API der Software modernisiert werden müsste, weshalb diese Maßnahme nicht im Projektantrag enthalten ist.
Bei der eigentlichen Durchführung war die enge Zusammenarbeit mit der ZHdK maßgebend. Durch regelmäßigen Austausch zwischen dem ORC-Projektteam, den beauftragten Entwicklern und der ZHdK konnte das Projekt klar definiert und effizient durchgeführt werden. Die nachhaltige Wirkung der Maßnahme wurde außerdem durch die Vereinbarung, die neue API in das offizielle Madek-Repositorium (main branch) der ZHdK aufzunehmen, sichergestellt – auch über das Projektende des ORC hinaus.
Eignung
Die CRUD-API stellt die technische Voraussetzung für die breite Nutzung, nachhaltige Integration und allgemeine Akzeptanz der Projektarchiv-Plattform dar. Die verantwortlichen Stellen der ZHdK, die die Software seit über zehn Jahren einsetzen und weiterentwickeln, bestätigen dies, weshalb sie unsere Entwicklung aktiv unterstützt und das Ergebnis in den main branch der Codebase integriert haben.
An der HfG setzen wir inzwischen mit Schaufenster eine eigens entwickelte Präsentations-Website ein, die über die API v2 an Madek angebunden ist. Die Resonanz der Anwender*innen ist durchwegs gut, zudem wirkt sich Schaufenster positiv auf die Nutzung der Projektarchiv-Plattform aus.
Die Maßnahme hat dazu geführt, dass der Einsatz der Software Madek für weitere Kunstakademien attraktiv geworden ist. Inzwischen wurde die Projektarchiv-Plattform an der abk Stuttgart implementiert und die Zusammenarbeit zwischen den Institutionen wurde intensiviert.
Vorgehen/Schritte
Die konkrete Maßnahme (die Entwicklung der CRUD-API für Madek) ist nicht zu adaptieren. Das Vorgehen wäre jedoch adaptierbar und die Software insgesamt könnte in einen anderen Kontext transferiert werden.
Unsere Handlungsempfehlungen bei der Neu-/Weiterentwicklung von OSS sind:
- Minimalversion bzw. MVP (minimal viable product) definieren
- Vergabeverfahren inkl. Ausschreibung möglichst agil
- Softwareentwicklung möglichst agil und in sehr kleinen Schritten, beginnend mit dem MVP
- regelmäßige Feedbackrunden zwischen den unterschiedlichen Akteuren
- doppelte Entwicklungszeit einplanen
Unsere Empfehlung zum Transfer der Software Madek:
- eine genaue Definition der Bedarfe vorab inkl. Evaluation, ob Madek die geeignete Lösung ist
- ggf. Import von Daten aus bereits bestehenden Systemen in Madek planen bzw. Schnittstellen definieren
- technische Infrastruktur vor Ort evaluieren (Server und verfügbares IT-Personal)
- konkrete Zusammenarbeit bei der Implementierung abstimmen
Hinweise
Effekte
Der regelmäßige Austausch mit der ZHdK hat sich über die eigentliche Softwareentwicklung hinaus verstetigt und etabliert.
Die Projektarchiv-Plattform wird besser angenommen: Studierende beschäftigen sich stärker mit ihr, seit die zeitgemäß gestaltete Präsentations-Website Schaufenster, die über die neue API v2 angebunden ist, im Einsatz ist.
Der Bekanntheitsgrad der Projektarchiv-Plattform insgesamt steigt.
Die Zusammenarbeit mit anderen Institutionen, besonders der abk Stuttgart, hat sich intensiviert.
Ein Software-Entwickler aus dem API-Team konnte als festangestellte IT-Kraft für die Hochschule gewonnen werden.
Die Entwickler-Community hat sich vergrößert: Für die Uploader-Anwendung haben wir einen weiteren Entwickler engagiert, der mit Madek und der API arbeitet.
Learnings
Bei der Softwareentwicklung in größerem Umfang ist viel und gute Kommunikation zwischen allen beteiligten Akteuren notwendig. Zeitpläne sind nur für kleine Projektabschnitte tragfähig, weshalb agile Methoden unbedingt linearen, sequentiellen Methoden (Kaskade) vorzuziehen sind. Agile Projektentwicklung lässt sich mit den Vorgaben zur Auftragsvergabe in öffentlichen Einrichtungen nur sehr schwer realisieren. Die Verwaltung ist in der Regel nicht darauf vorbereitet, Softwareentwicklungsprojekte zu konfrontieren.
Bei der Projektentwicklung selbst sollten unbedingt eine Minimalversion (MVP, minimal viable product) und Milestones definiert werden. Ggf. ist die Entwicklung von Prototypen sinnvoll.
Open Source Software gelingt grundsätzlich nur in einer lebendigen Community. Nachhaltige Infrastrukturen gründen in langfristigen Partnerschaften.
Empfehlung
Nein, die Entwicklung der CRUD-API war ein unumgänglicher Schritt und ist sehr spezifisch im Kontext der Software und der beteiligten Akteure zu sehen.
Tipps
Siehe auch „größte Learnings“.
Komplexere Software-Entwicklungsprojekte sind für alle Beteiligten herausfordernd, benötigen viel Kommunikation, Engagement und Commitment. Agile Projektentwicklung ist der Sache nach unbedingt dem Kaskade-Modell vorzuziehen. Denn im Kaskaden-Modell muss jede Entwicklungsphase abgeschlossen sein, bevor die nächste beginnt. In der Realität greifen die Phasen jedoch ineinander und ändern sich innerhalb einer Realisierungsphase auf unvorhersehbare Weise. Mit agilen Methoden kann darauf reagiert und das Ergebnis letztlich verbessert werden, da Erfahrungen, die erst in der Realisierungsphase deutlich werden, einfließen. Leider stoßen agile Methoden jedoch aufgrund der Vorgaben für öffentliche Einrichtungen auf starke Widerstände.
Methoden
Empfohlen
Nicht empfohlen
Kontakt
Das könnte Sie auch interessieren

Digitalisierung in der Labordidaktik
Die Lehre in Laboren gehört zu den Kernelelementen ingenieurwissenschaftlicher Studiengänge an Hochschulen für angewandte Wissenschaften. Digitale Werkzeuge werden bisher genutzt, um die organisatorische Abwicklung sowie die Vor- und Nachbereitung von Laborversuchen zu unterstützen. Das Projekt DiLa soll die digitale Labordidaktik auf eine neue Stufe heben, indem Studierenden außerhalb geplanter Präsenztermine der Fernzugriff auf physische Laboreinrichtungen ermöglicht wird und Laborversuche als didaktische Simulationsmodelle verfügbar gemacht werden. Studierende können Laborversuche so mehrfach wiederholen, umfangreichere Experimente durchführen und auch dann durch Experimentieren lernen, wenn sie sich physisch nicht in den Laborräumen aufhalten. Zudem eröffnen sich neue Möglichkeiten für Lehrkooperationen. Im Projekt DiLa soll eine modulare, virtuelle Infrastruktur für die digitale Unterstützung und Durchführung von Laborversuchen konzipiert, realisiert und anhand von Pilotanwendungen evaluiert werden. Die Infrastruktur soll in allen Fakultäten und Studiengängen einsetzbar und dauerhaft offen für Erweiterungen und die Einbindung zusätzlicher Laborversuche sein.
Projekt anzeigen
Virtuelle Labore für ortsungebundenes Lernen
Virtuelle Laborrundgänge, in Kombination mit Branching Scenarios und virtuellen Experimenten werden genutzt, um Studierenden einen Einblick in eine neue Laborumgebung zu geben. Branching Scenarios beschreiben dabei eine Lernumgebung, in der entlang von Entscheidungspfaden Versuchsabläufe im Dialog und mit Unterstützung von Videos, Fotos und Multiple-Choice-Fragen erprobt werden können. Eingebettet sind die virtuellen Labore in einen digitalen 360° Rundgang der Fakultät für angewandte Naturwissenschaften und Mechatronik an der Hochschule München. Die Studierenden können orts- und zeitungebunden neue Laborlandschaften erkunden und selbständig Prozesse durchführen, die ihnen ansonsten nicht zugänglich wären. Ein vertieftes Verständnis von Anlagen und Prozessen insbesondere im Bereich der Nanotechnik wird so erlangt.
Maßnahme anzeigen
Durchführung hybrider Praktikumsversuche im Bereich der Ingenieurwissenschaften an der HTWK Leipzig
[Kurzbeschreibung folgt (Anm. StIL)]
Publikation anzeigen