REST, GraphQL oder XML-Datei? Die passende Schnittstelle wählen

Dateiaustausch, REST-API, GraphQL oder Webhooks: Stärken, Grenzen und Einsatzgebiete der wichtigsten Schnittstellenarten im Vergleich.

Wenn zwei Systeme Daten austauschen sollen, stellt sich früh die Frage nach der Technik: Reicht eine Datei, braucht es eine REST-API, oder ist GraphQL die bessere Wahl? Jede Variante hat Stärken – entscheidend ist, was die beteiligten Systeme, Partner und Abläufe verlangen.

Dateibasierter Austausch: XML und CSV

Beim dateibasierten Austausch erzeugt ein System eine Datei, die ein anderes System einliest. XML eignet sich für strukturierte, verschachtelte Daten und lässt sich gegen ein Schema prüfen. CSV ist einfacher, stößt aber bei verschachtelten Strukturen und Sonderzeichen schnell an Grenzen.

  • Stärken: leicht nachvollziehbar, gut archivierbar, unabhängig von der Software des Empfängers und gut geeignet für feste Austauschformate zwischen Unternehmen.
  • Grenzen: nicht in Echtzeit, Fehler zeigen sich oft erst beim Empfänger, Rückmeldungen müssen separat organisiert werden.

REST-APIs

Eine REST-API stellt Daten als Ressourcen über HTTP bereit – etwa Aufträge, Kunden oder Dokumente. Ein Client fragt gezielt ab oder ändert Daten, die Antwort kommt meist im JSON-Format. HTTP-Statuscodes zeigen, ob eine Anfrage erfolgreich war.

GET /api/auftraege/A-1042 HTTP/1.1
Accept: application/json

HTTP/1.1 200 OK
Content-Type: application/json

{ "id": "A-1042", "status": "in_arbeit", "abschnitte": 3 }
Vereinfachtes Beispiel einer REST-Abfrage und der zugehörigen Antwort.
  • Stärken: weit verbreiteter Standard, von nahezu jeder Programmiersprache unterstützt, gut für Abfragen und Änderungen in Echtzeit und klar dokumentierbar, etwa mit OpenAPI.
  • Grenzen: Für komplexe Ansichten sind oft mehrere Anfragen nötig, und Clients erhalten teilweise mehr Daten als benötigt.

GraphQL

GraphQL bietet einen einzigen Endpunkt, an den der Client eine Abfrage schickt, die genau beschreibt, welche Felder er benötigt. Das ist praktisch, wenn verschiedene Oberflächen – etwa Web-App und mobile App – unterschiedliche Ausschnitte derselben Daten brauchen.

query {
  auftrag(id: "A-1042") {
    status
    abschnitte { kennung laenge }
  }
}
Vereinfachtes Beispiel einer GraphQL-Abfrage.
  • Stärken: flexible Abfragen, weniger überflüssige Daten und ein stark typisiertes Schema.
  • Grenzen: mehr Aufwand auf der Serverseite; Caching und Berechtigungen erfordern Sorgfalt; für einfache Partneranbindungen oft überdimensioniert.

Ereignisse und Webhooks

Statt regelmäßig nachzufragen, ob es Neuigkeiten gibt, kann ein System andere aktiv benachrichtigen: Ein Webhook ruft eine vereinbarte Adresse auf, sobald zum Beispiel ein Auftrag abgeschlossen wurde. Das spart unnötige Abfragen und verkürzt die Reaktionszeit – setzt aber voraus, dass der Empfänger erreichbar ist und verpasste Nachrichten erneut zugestellt werden.

Vergleich auf einen Blick

KriteriumDatei (XML/CSV)REST-APIGraphQL
Aktualitätzeitversetztnahezu Echtzeitnahezu Echtzeit
Aufwand für einfache Fällegeringgering bis mittelmittel
Austausch mit externen Partnernsehr gut bei festen Formatenguteher selten
Flexible Abfragenneineingeschränktja
Prüfung gegen ein Schemaja, z. B. XSDja, z. B. OpenAPIja, GraphQL-Schema

Worauf es unabhängig von der Technik ankommt

  • Datenprüfung: Pflichtfelder, Formate und Plausibilität vor der Verarbeitung kontrollieren.
  • Versionierung: Änderungen am Format so einführen, dass bestehende Partner weiterarbeiten können.
  • Authentifizierung: Zugriffe absichern und nur notwendige Rechte vergeben.
  • Protokollierung: nachvollziehen, was wann übertragen wurde.
  • Wiederholbarkeit: Eine Übertragung muss gefahrlos wiederholt werden können, ohne Daten doppelt anzulegen.
  • Dokumentation: Felder, Beispiele und Fehlerfälle verständlich beschreiben.

Fazit

Für feste Austauschformate mit Partnern ist eine geprüfte XML-Datei oft die robusteste Lösung. Für die Echtzeitintegration eigener Systeme sind REST-APIs der bewährte Standard, GraphQL lohnt sich bei vielen unterschiedlichen Oberflächen. Häufig kombiniert eine Lösung mehrere Varianten – entscheidend sind Datenprüfung, Dokumentation und ein sauberer Umgang mit Fehlern.

Sie haben eine konkrete Frage zu diesem Thema?

Beschreiben Sie kurz Ihre Situation. Wir melden uns für ein erstes Gespräch.

Projekt besprechen