Strukturierte Datenübertragung in heterogenen Systemen: JSON-Syntax, XML Schema, REST-Architekturprinzipien (CRUD, HTTP-Methoden, Statuscodes).
📖 Fachtheorie & KMK-Prüfungswissen
1. JSON (JavaScript Object Notation) vs. XML
JSON ist der moderne De-facto-Standard für Web-APIs und Datenaustausch:
- Leichtgewichtiger, geringerer Overhead als XML (keine schließenden Tags).
- Datentypen: String (in doppelten Anführungszeichen!), Number, Boolean, Array (
[]), Object ({}), null.
2. REST (Representational State Transfer) & HTTP-Methoden
| CRUD-Operation | HTTP-Methode | Bedeutung / Auswirkung | Idempotent? |
| Create | POST /api/kunden | Erstellt eine neue Ressource in der DB. | Nein (erzeugt Duplikate bei Wiederholung) |
| Read | GET /api/kunden/42 | Liest die Ressource ab, verändert nichts. | Ja (Safe & Idempotent) |
| Update | PUT /api/kunden/42 | Ersetzt die gesamte Ressource vollständig. | Ja |
| Delete | DELETE /api/kunden/42 | Löscht die Ressource. | Ja |
✍️ Authentische IHK-Prüfungsaufgaben mit Erwartungshorizont
REST-API Design & HTTP-Statuscodes
8 Punkte
Ein Entwicklerteam baut eine REST-Schnittstelle für ein Ticketsystem. Ein Client versucht, ein neues Störungsticket anzulegen (POST /api/tickets), sendet jedoch fehlerhaftes JSON ohne Pflichtfeld 'titel'.
1. Welcher HTTP-Statuscode (Code und Text) muss von der API als Antwort zurückgegeben werden?
2. Nach erfolgreicher Behebung wird das Ticket korrekt erstellt. Welcher Statuscode signalisiert die erfolgreiche Erzeugung einer neuen Ressource?
3. Nennen Sie zwei Vorteile von JSON gegenüber XML für mobile Applikationen.
💡 Didaktischer Erwartungshorizont & Punkteverteilung (nach KMK-Kriterien)
1. Fehlerhafter Request:
HTTP 400 Bad Request (Ungültige Syntax oder fehlende Pflichtfelder). (2 Pkt.)
2. Erfolgreiche Erzeugung:
HTTP 201 Created (oft mit Location-Header zur neuen Ressourcen-URL). (2 Pkt.)
3. Zwei Vorteile von JSON:
- Geringere Dateigröße / Datenmenge durch Verzicht auf redundante schließende Tags (spart mobiles Datenvolumen und Akku). (2 Pkt.)
- Native, extrem schnelle Parsing-Geschwindigkeit in modernen Web- und Mobile-Engines (JavaScript/TypeScript/Kotlin/Swift) ohne komplexe DOM/SAX-Parser. (2 Pkt.)