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 }
- 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 }
}
}
- 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
| Kriterium | Datei (XML/CSV) | REST-API | GraphQL |
|---|---|---|---|
| Aktualität | zeitversetzt | nahezu Echtzeit | nahezu Echtzeit |
| Aufwand für einfache Fälle | gering | gering bis mittel | mittel |
| Austausch mit externen Partnern | sehr gut bei festen Formaten | gut | eher selten |
| Flexible Abfragen | nein | eingeschränkt | ja |
| Prüfung gegen ein Schema | ja, z. B. XSD | ja, z. B. OpenAPI | ja, 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.