nw  

Health Engine in the cloud

Zusammenfassung

Konzipierung einer Cloud-Architektur für die bestehende health engine Software und evaluation der Architektur anhand eines Proof-of-Concepts.

Schlüsselbegriffe

Software Architecture, Microservice Architecture, AWS, Quarkus, Java

Zielsetzung

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?

Ausgangslage

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.

Ergebnisse

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.

C4-Diagramm of the architecture

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.

Screenshot of the react-client

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.

Projektdaten
Projektdauer 19.02.24 - 16.08.2024
Aufwand in Personenstunden 360h
Teamgrösse Zwei Personen
Auftraggeber

the-i-engineers AG
Badenerstrasse 141
8004 Zürich

Projektteam

Noé Brehm
Tobias Maier

Kontakt

Wolfgang Weck - wolfgang.weck@fhnw.ch
Sebastian Graf - sebastian.graf@fhnw.ch

<< zurück