Übungsaufgabe zur Klausur oder Prüfungsvorbereitung
Anspruch: Fortgeschritten
Stichworte sind: REST, API, CSV, XML, JSON
Einleitung
Sind sind Mitarbeiter im Softwareunternehmen "KommunalTopSoft", welches Anwendungen für Behörden und Verwaltungen im Kommunalen Bereich entwickelt
Zur Vorbereitung auf ein neues Projekt, frischen Sie ihr Wissen in Sachen REST-API und Austauschformate auf
Aufgabe 1
Beschreiben Sie die wesentlichen Unterschiede zwischen REST und SOAP mit eigenen Worten.
Beide Lösung dienen der Kommunikation und dem Datenaustausch zwischen Softwareanwendungen. Unterschiede sind folgende: REST ist ein Paradigma, d.h. REST gibt zwar die Eigenschaften durch entsprechende Prinzipien vor, lässt dem Entwickler bei der Umsetzung dieser Eigenschaften aber Spielraum. REST kann jedes Datenaustauschformat nutzen. SAOP hingegen ist ein Protokoll und schreibt als solches genau vor, wie die Kommunikation stattfinden soll. Das Austauschformat ist immer XML. SOAP ist durch seine strenge Regelung sicherer gegen Fehler.
Aufgabe 2
Nennen und erklären Sie 3 REST-Prinzipien.
Zustandslosigkeit:Die Schnittstelle speichert keine Informationen über die Anfrage, daher müssen bei jeder Anfrage alle Daten z.B. Secret Token, Ressourcennamen oder IDS immer mitgeschickt werden. Trennung von Client und Server. Sie sind vollkommen unabhängig voneinenander , der Client fragt beim Server an und der Serverantwortet, d.h die Kommunikation findet nur über Anfrage selbst statt. Einheitliches Interface: alle Anfragen müssen ein bestimmtes Format der Anfrage einhalten.
Aufgabe 3
Geben Sie für die 3 Austauschformate CSV, XML und JSON je 2 typische Merkmale an.
CSV: Daten in Tabellenform, Daten getrennt durch ein bestimmtes Trennzeichen, wenig Overhead, erste Zeile enthält oft Überschriften, Zur Verarbeitung der Daten ist immer die Kenntniss der Reihenfolge der Daten nötig. JSON: Struktur möglich d.h. auch einschachteln ist möglich, Werte sind beschrieben durch Schlüssel-Wert-Paare, es können Objekte und Arrays eingeschachtelt werden, relativ kompaktes Format mit relativ wenig Overhead, Validierung möglich durch Schema, gut für Menschen und Maschinen lesbar XML: Struktur ist möglich, Metadaten in Form von Attributen z.b. für Datentypen, mehr Overhead durch Tags,
b) Nennen Sie je ein typisches Beispiel für den Einsatz von CSV, XML und JSON, wodurch die besondere Eignung für diesen Zweck gut verdeutlicht wird.
c) Erklären Sie was Wohlgeformtheit in Bezug auf XML heißt.
d) Sie haben via REST-API, Daten im JSON-Format abgerufen. Erklären Sie mit eigenen Worten, welche Problemstellungen sich nun beim Verarbeiten und Verwenden der Daten in einer Objektorientierten Sprache ergeben.
Das Problem besteht darin, dass die Textdaten der API-Antwort in eine strukturierte Objektform umgewandelt werden müssen, um sie im Programm effektiv zu verarbeiten. Dies erfordert das Mapping der unterschiedlichen Datentypen und -strukturen aus dem JSON-Format in die entsprechenden Klassen. Fehler in diesem Prozess können zu Laufzeitproblemen führen und zusätzliche Wartung erfordern.