---
{
  "title": "FHIR API Gateway: Muster für Healthcare-APIs",
  "description": "FHIR API Gateway Design: Routing, Sicherheit, Rate Limiting und API-Management im Gesundheitswesen – mit Architekturmustern und Aidbox-Beispielen.",
  "date": "2024-10-25",
  "author": "Aleksandr Kislitsyn",
  "reading-time": "5 min",
  "tags": [
    "Integrations",
    "Infrastructure"
  ]
}
---
Das API Gateway (oder Proxy)-Muster ist in der modernen Architektur weit verbreitet. In diesem Muster fungiert die API Gateway-Komponente als zentraler Einstiegspunkt und Middleware zwischen Client-Anwendungen und Backend-Diensten. Es bietet verschiedene API-Management-Funktionen wie Routing, Request-Komposition, Audit und Sicherheit und vieles mehr.

Dieser Artikel beschreibt die potenziellen Vorteile der Implementierung dieses Musters mit FHIR-Server-basierten Lösungen.

## Was ist das API Gateway-Muster?

Die Microservice-Architektur zerlegt Anwendungen in kleinere, unabhängige Dienste, jeder mit seiner eigenen API. Dies verbessert die Modularität und Flexibilität auf Kosten einer erhöhten Komplexität im API-Management. Das API Gateway-[Muster](https://microservices.io/patterns/apigateway.html) begegnet dieser Herausforderung, indem es einen zentralen Kontrollpunkt für alle APIs aller Microservices bereitstellt.

Für die Implementierung dieses Musters stehen sowohl kommerzielle als auch Open-Source-Lösungen zur Verfügung. Bekannte Beispiele sind Apigee, Kong, Nginx und AWS API Gateway. Einige Lösungen sind verhältnismäßig einfach und fungieren als API-Proxys, während andere umfangreichere Funktionen bieten und als API-Management-Plattformen bezeichnet werden. Für die Zwecke dieses Artikels verwenden wir jedoch den Begriff „API Gateway" als Oberbegriff für alle derartigen Lösungen.

## FHIR API Gateway: Anwendungsfälle

FHIR standardisiert den Austausch von Gesundheitsdaten, während API Gateways FHIR APIs durch Folgendes erweitern:
- Zentralisierung der API, die die interne Dienstkomplexität abstrahiert.
- Schutz öffentlicher FHIR APIs vor gängigen Web-Bedrohungen.
- Ermöglichung der Hinzufügung benutzerdefinierter Logik, bevor Anfragen den [FHIR-Server](https://www.health-samurai.io/fhir-server) erreichen.

Diese Kombination schafft eine robuste und flexible Infrastruktur für Gesundheitsdaten.

## Zentralisierte API, die die interne Dienstkomplexität abstrahiert

### Problem

Wir verfügen über eine komplexe Backend-Lösung, die aus mehreren Diensten besteht, und müssen den Zugriff von Web- und mobilen Clients ermöglichen. Wenn jeder Client direkt mit jedem Dienst über spezifische Hostnamen und Ports interagiert, würde jede Änderung an der Backend-Architektur eine Aktualisierung aller Clients erfordern, was die Verwaltung umständlich macht. Wie können wir diese Backend-Dienste für Clients zugänglich machen, ohne die Komplexität preiszugeben und zu viele interne Informationen teilen zu müssen?

### Lösung

Implementieren Sie ein API Gateway als zentralen Einstiegspunkt für alle Clients.
![](image-1.avif)- Das API Gateway stellt eine zentrale, stabile Schnittstelle für Clients bereit und ermöglicht Änderungen an der Backend-Architektur, ohne dass Client-Konfigurationen aktualisiert werden müssen. Die Einhaltung des FHIR-Standards vereinfacht die Erstellung und Pflege dieser stabilen Schnittstelle.
- Es leitet die Anfrage an den richtigen Dienst weiter und hilft dabei, die Arbeitslast auf mehrere Instanzen eines Dienstes zu verteilen, was Zuverlässigkeit und Skalierbarkeit verbessert.
- Das API Gateway zentralisiert und vereinheitlicht die Zugriffskontrolle durch Integration mit einem Identity and Access Management (IAM)-Provider.

## Schutz öffentlicher FHIR APIs vor Web-Bedrohungen

### Problem

Es soll ein robuster und sicherer Zugriff auf die FHIR API für Drittentwickler oder -anwendungen über das Internet bereitgestellt werden. Wie können wir in diesem Fall das Risiko gängiger Web-Bedrohungen mindern?

### Lösung

Implementieren Sie ein API Gateway zur Verwaltung des Zugriffs und zum Schutz vor Web-Bedrohungen.
![](image-2.avif)- Das API Gateway kann Distributed-Denial-of-Service (DDoS)-Angriffe und andere Missbrauchsformen durch Rate Limiting und Kontingente abmildern, die die Anzahl der Anfragen einschränken, die ein Client in einem bestimmten Zeitraum an eine API stellen kann.
- Es kann den Zugriff auf APIs kontrollieren, indem es Anfragen von bestimmten IP-Adressen oder -Bereichen zulässt oder ablehnt, und so die Sicherheit durch Beschränkung des Zugriffs auf vertrauenswürdige Netzwerke erhöht.
- Das API Gateway kann auch mit einer WAF (Web Application Firewall) integriert werden, einer Komponente, die speziell dafür ausgelegt ist, verschiedene Arten von Cyberangriffen auf Webanwendungen zu erkennen und zu verhindern.

## Hinzufügen benutzerdefinierter Logik vor FHIR

### Problem

Wir müssen zusätzliche Geschäftslogik implementieren, die über die nativen Fähigkeiten des [FHIR-Servers](https://www.health-samurai.io/fhir-server) hinausgeht. Dazu gehört die Handhabung komplexer Autorisierungsregeln, die auf externen Daten basieren, die nicht im [FHIR-Server](https://www.health-samurai.io/fhir-server) gespeichert sind, oder die Anwendung benutzerdefinierter Routing-Regeln, wie etwa das Replizieren von Anfragen an ein anderes Legacy-System während eines Migrationsprozesses.

Wie können wir die vollständige Kontrolle über alle vom [FHIR-Server](https://www.health-samurai.io/fhir-server) verarbeiteten Anfragen erlangen, um diese Anpassungen effektiv zu implementieren?

### Lösung

Implementieren Sie eine benutzerdefinierte Middleware-Komponente, die dem [FHIR-Server](https://www.health-samurai.io/fhir-server) vorgelagert ist und es Ihnen ermöglicht, alle eingehenden Anfragen abzufangen und zu verarbeiten, sodass Ihre eigene Geschäftslogik ausgeführt werden kann, bevor diese den [FHIR-Server](https://www.health-samurai.io/fhir-server) erreichen.
![](image-3.avif)- Das API Gateway kann komplexe benutzerdefinierte Authentifizierungs- und Autorisierungs-Workflows verwalten, einschließlich der Introspektion opaker Tokens und der Verwendung externer Daten für Autorisierungsentscheidungen.
- Das API Gateway kann Anfragen anhand spezifischer Regeln oder Bedingungen prüfen, weiterleiten oder blockieren, bevor sie den [FHIR-Server](https://www.health-samurai.io/fhir-server) erreichen. Es kann beispielsweise nur bestimmte Arten von Abfragen zulassen oder sensible Informationen basierend auf Benutzerrollen herausfiltern.
- Anfragen können je nach Daten- oder Anfragentyp an bestimmte Backend-Dienste weitergeleitet oder in einem Zwischenwarteschlangenspeicher abgelegt werden, sodass das API Gateway als intelligenter Router fungieren und komplexe Szenarien handhaben kann, z. B. die Migration von einem [FHIR-Server](https://www.health-samurai.io/fhir-server) zu einem anderen.

## Verwendung von Aidbox als FHIR API Gateway

### Problem

Wir müssen Aidbox um benutzerdefinierte Operationen erweitern, und zwar in einer Programmiersprache, die wir bereits kennen. Durch die Vermeidung zusätzlicher Komponenten in der Architektur möchten wir den Infrastrukturaufwand minimieren.

### Lösung

Nutzen Sie die [Aidbox Apps](https://www.health-samurai.io/docs/aidbox/app-development/aidbox-sdk/aidbox-apps)-Funktionalität.
![](image-4.avif)- Aidbox fungiert als Proxy: Es übernimmt Authentifizierung und Autorisierung und leitet die Anfrage an den benutzerdefinierten App-Code weiter.
- Das Aidbox SDK unterstützt Aidbox Apps in mehreren Programmiersprachen.

## Zusammenfassung

Die Implementierung des API Gateway-Musters bietet leistungsstarke Möglichkeiten, und Sie können sogar daran denken, mehrere der besprochenen Muster zu kombinieren. Dies kann dazu führen, dass mehrere Schichten von Komponenten jede eingehende Anfrage verarbeiten und dem Anfrage-Fluss weitere Schritte hinzufügen.

Es ist jedoch wichtig, die potenziellen Nachteile der Implementierung eines API Gateway-Musters zu berücksichtigen:
- **Erhöhte Komplexität**: Die Einführung eines API Gateways fügt der Architektur eine zusätzliche Komponente hinzu, die zusätzliches Fachwissen für Konfiguration, Monitoring und die Sicherstellung der Hochverfügbarkeit erfordert.
- **Leistungsauswirkungen**: Ein API Gateway führt einen zusätzlichen Netzwerk-Hop ein, der die Latenz potenziell erhöht. In leistungssensitiven Systemen könnte diese zusätzliche Schicht zum Engpass werden.
- **Komplexeres Debugging**: Mit einer zusätzlichen Schicht zwischen Clients und Diensten kann die Diagnose von Problemen schwieriger werden, da Probleme sowohl vom Gateway als auch von den zugrunde liegenden Diensten herrühren können.
- **Einschränkungen bei der Anpassung**: Fertige API Gateway-Lösungen bieten möglicherweise nicht die Anpassungsmöglichkeiten, die für bestimmte spezialisierte Anwendungsfälle erforderlich sind.

Wägen Sie bei der Entscheidung, ob Sie ein API Gateway implementieren möchten, sorgfältig die Vor- und Nachteile für Ihre spezifische Situation ab. Die Entscheidung sollte auf der Architektur Ihres Systems, den Anforderungen, der Teamstruktur und den langfristigen Zielen basieren.

Möchten Sie Ihren konkreten Anwendungsfall besprechen? Zögern Sie nicht, [uns zu kontaktieren](https://www.health-samurai.io/contacts?utm_source=article&utm_medium=Using%20API%20Gateway&utm_campaign=Kislitsin). Wir helfen Ihnen gerne weiter.

> Der [Aidbox FHIR-Server](https://www.health-samurai.io/fhir-server) kann lokal in [nur 90 Sekunden](https://youtu.be/DStFc_65iVE?si=YA7LIwhmpco8hgP-) bereitgestellt oder noch schneller über eine [kostenlose Cloud-Sandbox](https://www.health-samurai.io/aidbox#run) genutzt werden – eine ideale Plattform für Lernen und Entwicklung. [Kostenlose Entwicklungslizenzen](https://aidbox.app/ui/portal#/signin) sind ebenfalls verfügbar.

Autor:
[Aleksandr Kislitsyn](https://www.linkedin.com/in/aleksandr-kislitsyn-297854112/),
Solution Architect bei Health Samurai

Siehe auch: [Token Introspection in FHIR](/blog/token-introspection-in-fhir) und [Aufbau von Healthcare-Microservices](/blog/building-healthcare-microservices-a-fhir-native-approach).