Moderne Technologien und Entwicklungsprozesse für die biomedizinische Forschung
Das Berliner Institut für Gesundheitsforschung in der Charité
modernisiert seine Applikation zum Management genetischer Daten
Berliner Institut für Gesundheitsforschung in der Charité (Berlin Institute of Health at Charité, BIH)
Die Mission des BIH ist die medizinische Translation: die Übertragung von Erkenntnissen aus der biomedizinischen Forschung in neue Ansätze zur personalisierten Vorhersage, Prävention, Diagnostik und Therapie. Umgekehrt führen Beobachtungen im klinischen Alltag zu neuen Forschungsideen. Ziel ist es immer, einen relevanten medizinischen Nutzen zu erreichen. Das BIH wurde 2013 gegründet und wird zu 90 Prozent vom Bundesministerium für Bildung und Forschung (BMBF) und zu zehn Prozent vom Land Berlin gefördert. Seit 2021 ist es als Translationsforschungsbereich in die Charité integriert.
Herausforderung
Die Plattform One Touch Pipeline (OTP) wurde ab 2013 entwickelt, um sich wiederholende Analysen zu automatisieren und somit Forschenden mehr Zeit für ihre eigentlichen Aktivitäten zu verschaffen. Die Kernfunktionalität ist das Management genetischer Daten, die mit bioinformatischen Workflows prozessiert werden.
Der Wunsch seitens des Zentrums für Digitale Gesundheit am BIH war es, auf eine neue, flexible und cloudfähige Implementierung umzustellen. Die Modernisierung zielte darauf ab, sowohl die zugrundeliegenden Technologien und Entwicklungsprozesse auf den neusten Stand zu bringen als auch ein zukunftsfähiges Workflow Management Konzept zu implementieren. Dies sollte nicht nur die Leistungsfähigkeit, Wartbarkeit und Sicherheit der Software erhöhen, sondern auch Kosten reduzieren, zu Zeitersparnissen bei der Implementierung neuer Workflows führen und eine bessere Nutzererfahrung mit sich bringen. Hierzu war es unter anderem notwendig, eine Update-Strategie für die Abhängigkeiten der Applikation zu entwickeln und das Entwicklungsteam für die Bedeutung regelmäßiger Updates zu sensibilisieren. Zudem sollten die Arbeitsabläufe so umgestaltet werden, dass die Codebasis kontinuierlich verbessert werden kann.
Bislang mussten Features vor dem Release mit hohem Zeitaufwand händisch getestet werden. Der Großteil der Bugs wurde erst im laufenden Betrieb entdeckt. Daher sollte ein durchgängiges E2E-Testing-Konzept implementiert werden, das die Zuverlässigkeit der Software erhöht. Weitere zentrale Aspekte waren die Modernisierung des zugrundeliegenden Grails-Frameworks, das man für nicht mehr zukunftsfähig befunden hat, und das Demo Deployment der Applikation in der de.NBI Cloud.
Ausgewählte Technologien und Best Practices
In der dynamischen Welt der Bioinformatik stellt das OTP-Projekt einen vielbeachteten Fortschritt dar, an dem SVA seit September 2020 beteiligt ist. Ein bedeutender Meilenstein war das Demo Cloud Deployment im Rahmen des EOSC-Life-Projekts von Januar 2022 bis Juli 2023. Der Erfolg der umfassenden Modernisierung lag in der Kombination ausgewählter Technologien und Best Practices. Cypress zeigt funktionale Fehler vor dem Release auf, Dependabot sorgt für regelmäßige Updates, bei denen Abhängigkeiten automatisch aktualisiert werden, um Sicherheitslücken vorzubeugen. Das End-to-End Testingframework Cypress zeigt funktionale Fehler vor dem Release auf, Dependabot sorgt für regelmäßige Updates, bei denen Abhängigkeiten automatisch aktualisiert werden, um Sicherheitslücken vorzubeugen. Die Authentifizierungsmöglichkeiten wurden durch die uthentifizierungsschicht OpenID Connect (OIDC) erweitert, um die Kompatibilität der Authentifizierungsverfahren zu gewährleisten, während Container genutzt wurden, um die Reproduktion der Systemumgebung zu erleichtern. Die einzelnen Schritte im Entwicklungsprozess wurden mittels GitLab CI/CD Pipelines automatisiert, wodurch das Team Zeit spart und schnell Feedback z.B. zu Testergebnissen erhält.
Als integraler Bestandteil des Entwicklungsteams trug SVA dazu bei, die Prozesse voranzutreiben. Mit Workshops zu modernen Technologien und Methoden wie Angular und Event Storming wurde das Fachwissen im Team signifikant erweitert. Darüber hinaus hielten die Expertinnen und Experten Vorträge über Cypress, Spring Boot, einen Vergleich von Kotlin, Groovy und Java sowie über verschiedene Migrationsansätze.
Besonderes Augenmerk lag auf der Optimierung der Arbeitsabläufe. Die Einführung eines regelmäßigen Refactoring Day, das automatisierte Testen neuer Releases und die Bereitstellung eines containerbasierten Setups für schnelle lokale Tests haben nicht nur die Sicherheit des Softwareprodukts erhöht, sondern auch die Produktivität des Entwicklungsteams deutlich verbessert.
Die enge Zusammenarbeit innerhalb des Teams und die gemeinsame Erarbeitung und Umsetzung von Lösungen führten zu einer hohen Akzeptanz und einem tiefen Verständnis für die getroffenen Entscheidungen. Dieser kollaborative Ansatz ist ein Schlüsselelement des Erfolgs und spiegelt sich in der Effektivität und Effizienz der Prozesse wider.
Bereit für die Zukunft
Durch strategische Planung, fachkundige Ausführung und eine kollaborative Teamarbeit konnte das Projekt nicht nur bestehende Herausforderungen meistern, sondern auch eine solide Grundlage für weitere Entwicklungen schaffen.
Nach gemeinsamer Abwägung aller Vor- und Nachteile empfahlen die Expertinnen und Experten von SVA eine schrittweise Migration mithilfe des Strangler Patterns, welches übergangsweise eine Fassade nutzt, um eine schrittweise Migration zu einer modernen Spring-Boot-Applikation auf Kotlin-Basis, ergänzt durch ein Angular Frontend zu ermöglichen. Ein bereits erstellter Prototyp und ein detailliertes Migrationskonzept bilden die Basis für diesen umfassenden technologischen Wandel. Diese Transformation verspricht eine weitere Steigerung der Leistungsfähigkeit, Effizienz und Anwenderfreundlichkeit der Applikation.