Konzipierung einer Cloud-Architektur für die bestehende health engine Software und evaluation der Architektur anhand eines Proof-of-Concepts.
Software Architecture, Microservice Architecture, AWS, Quarkus, Java
Ziel des Projektes ist die Konzipierung und die Erstellung eines Proof-of-Concept für eine
neue Cloud-native Software-Architektur, welche für den Betrieb und Entwicklung der
Health Engine geeignet wäre. Die Applikation sollte möglichst Anbieter ungebunden sein,
bei den gängigen Cloud-Anbietern (AWS, Azure) gehostet werden und die Cloud Vorteile
wie Skalierbarkeit nutzen können.
Zum Abspeichern der verschiedenen Datenformate, soll auf geeignete Anbieter
zurückgegriffen werden.
Die unterliegende Fragestellung des Projekts lautet: Welche Cloud-Architektur eignet sich
am besten, um die Vorteile der Cloud für zu definierende Use-Cases, nutzen zu können
und ist am besten geeignet für eine stetige Modulare Weiterentwicklung der Applikation?
Die Firma the-i-engineers hat mit Ihrem Produkt health-engine eine Softwarelösung entwickelt, welchen Spitälern, Kliniken, Laboren & Arztpraxen ermöglicht Ihre Daten an einem zentralen Punkt zu sammeln und zur Verfügung zu stellen. Die Softwarelösung wurde vor rund 20 Jahren ins Leben gerufen und ist seither stetig gewachsen. Hierbei handelt es sich um eine monolithische Applikation nach der 3-Layer Architektur. Die Applikation wird aktuell on-premises bei den jeweiligen Kunden auf dedizierten Rechnern gehostet.
In dem erarbeiteten Proof-of-Concept wurde der Fokus auf eine skalierbare Cloud-Native Lösung gesetzt, welche mit Hilfe von effizienten Quarkus-Containern auf der Public-Cloud von Amazon Web Services deployed und betrieben werden kann. Das Grundkonzept einer digitalen Patientenakte mit Fällen (abrechenbaren Einheiten pro Patient) wurde von der bisherigen Applikation übernommen. Dazu wurde ein Konzept erarbeitet um konfigurierbare Typen von Daten, welche als Dateien oder in Form von strukturierten Daten vorliegen, handhaben zu können und mit den Kern-Entitäten zu verknüpfen. Die entworfene Architektur unterteilt das System in mehrere Services.
Die Core-API bietet eine REST-API an, um mit den Kern-Entitäten zu interagieren. Ein Search-Service, ermöglicht eine Suche über die Kern-Entitäten. Das Konzept der Dataloader ermöglicht, dass statische/dynamische Konfigurieren von Schemas, sowie das Laden und Speichern der Daten aus unterschiedlichen Speicherorten. Zuletzt gibt es einen Gateway, der Abfragen, an die genannten Services weiterleitet und beim Zusammenspiel von Core-API und Dataloader einen Ablauf von Abfragen orchestriert.
Als Frontend dient eine zweckmässige React.js Single Page Application, welche dy- namisch Formulare generieren kann. Das implementierte Proof-of-Concept kann anhand einer AWS CDK Konfiguration auf AWS provisioniert werden. Anhand zweier definierten Testszenarien und eines Lastentests konnte sichergestellt werden, dass die Anforderungen an das Proof-of-Concept erfüllt sind.
| Projektdauer | 19.02.24 - 16.08.2024 |
| Aufwand in Personenstunden | 360h |
| Teamgrösse | Zwei Personen |
the-i-engineers AG
Badenerstrasse 141
8004 Zürich
Noé Brehm
Tobias Maier
Wolfgang Weck - wolfgang.weck@fhnw.ch
Sebastian Graf - sebastian.graf@fhnw.ch