Katalog
concept#Delivery#Governance#REST-Architektur#Skalierbarkeit

Representational State Transfer (REST)

REST ist ein Architekturstil, der die Kommunikation zwischen Client und Server über das HTTP-Protokoll definiert.

REST ist ein weit verbreiteter Architekturstil, der auf dem Prinzip der Ressourcenorientierung basiert.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Design
  • Fortgeschritten

Technischer Kontext

DatenbankenFrontend-AnwendungenDrittanbieter-Dienste

Prinzipien & Ziele

StatelessnessClient-Server-ArchitekturZugriff auf Ressourcen über URIs
Umsetzung
Unternehmen

Use Cases & Szenarien

Kompromisse

  • Security vulnerabilities
  • Datenverlust bei fehlerhaften Aufrufen
  • Unzureichende Fehlerbehandlung
  • Verwendung von Standard-HTTP-Methoden
  • Dokumentation der API für Benutzer
  • Einhaltung von Sicherheitspraktiken

I/O & Ressourcen

  • API-Spezifikationen
  • Serverressourcen
  • Sicherheitszertifikate
  • API-Dokumentation
  • Zugreifbare Endpunkte
  • API-Statistiken

Beschreibung

REST ist ein weit verbreiteter Architekturstil, der auf dem Prinzip der Ressourcenorientierung basiert. Es ermöglicht die Interaktion zwischen Client und Server über standardisierte HTTP-Methoden. Anwendungen, die RESTful-Prinzipien folgen, weisen oft hohe Skalierbarkeit und Flexibilität auf.

  • Hohe Skalierbarkeit
  • Einfache Nutzung
  • Trennung von Anliegen

  • Kann komplexe Datenoperationen erschweren
  • Firewall- und Sicherheitsprobleme
  • Abhängigkeit von HTTP

  • Zugriffszeiten

    Messung der Zeit, die benötigt wird, um auf Ressourcen zuzugreifen.

  • Fehlerquoten

    Messung der Häufigkeit von Fehlern bei API-Anrufen.

  • Nutzeranfragen pro Sekunde

    Anzahl der Anfragen, die pro Zeiteinheit bearbeitet werden.

GitHub API

Die GitHub API ermöglicht Entwicklern den Zugriff auf GitHub-Ressourcen.

Twitter API

Die Twitter API ermöglicht den Zugriff auf Tweets und Benutzerinformationen.

OpenWeatherMap API

Die OpenWeatherMap API bietet Wetterdaten für verschiedene Standorte.

1

API-Ziele definieren

2

Technologiestapel auswählen

3

Implementierung und Test durchführen

⚠️ Technische Schulden & Engpässe

  • Veraltete API-Endpunkte
  • Unzureichende Tests
  • Mangelnde Modularität der API
Verzögerungen bei NetzwerkaufrufenRessourcenbeschränkungen auf dem ServerAbhängigkeit von externen Services
  • Überbeanspruchung von Ressourcendiensten
  • Missbrauch von Authentifizierungsmethoden
  • Umgehung von Sicherheitsrichtlinien
  • Unzureichende Dokumentation und Beispiele
  • Vernachlässigung von Fehlerbehandlung
  • Einführung unnötiger Komplexität
Kenntnis von HTTP-ProtokollenAPI-Design-ErfahrungProgrammierkenntnisse
InteroperabilitätFlexibilitätZukunftssicherheit
  • Einhaltung von REST-Vorgaben
  • Sicherheitsrichtlinien der Organisation
  • Netzwerkbandbreite und -stabilität