Kapitel 5 - Programmierpatterns Flashcards
1
Q
Was sind die Vorteile von REST?
A
- Lose Kopplung von Client und Server
- Clientseitige Technologien können verwendet werden
- Fördert Aufbau von verteilten Systemen
- Fördert Modularisierung der IT Infrastruktur und Technologie
2
Q
Was sind Ressourcen in REST?
A
- Kleinste unteilbare Einheit von Infos
- Besteht aus Attributen, Relationen und Beziehungen
3
Q
Welche Ressourcen kennt REST?
A
- Single Ressources
- Collections
- Stores –> wie Collections, nur Verantwortung liegt bei Client
- Controller
4
Q
Welche Repräsentationsformate kennt REST?
A
- JSON
- XML
- Andere: PDF, CSV, HTML
5
Q
Was ist HATEOAS?
A
- Design Pattern hinsichtlich Zustandsautomaten
- Zustandsübergänge werden durch Links generiert
- HTTP Response Protokolle liefern Info über aktuellen Zustand
- und über mögliche Folgezustände mit CRUD-Operationen für aktuellen Zustand
- welchen Link kann ich nun folgen und was passiert dann
6
Q
Was ist das besondere an REST?
A
- Ressourcen, die durch Links erreichbar sind
7
Q
Was sind die beteiligte Komponenten von AJAX?
A
- DOM - Dokumentenstruktur
- JavaScript
- XmlHttpRequest
8
Q
Wie ist das Vorgehen beim entkoppelten HTML-Aufruf (bspw. mit AJAX)?
A
- Nach dem Laden einer Seite wird ein Skript im Webbrowser ausgeführt
- dieses baut eine Verbindung zur DB auf
- Fragt Daten ab
- Verarbeitet die Ergebnisse in den DOM, ohne diesen komplett neu aufzubauen
- Serverkommunikation wird asynchron
9
Q
Aktuelle Spezifikationen im Zuge der Standardisierung von HTML5?
A
- Web Storage
- Daten können an Domain Namen gespeichert werden
- Offline Web Applikation
- Welche Assets werden im Offlinebetrieb zwischen gespeichert im Browser Cache
- Web Workers
- Tasks werden parallel und im Hintergrund ausgeführt
- Web Sockets
- Asynchrone Server-Client-Kommunikationskanäle möglich
10
Q
Was sind die Besonderheiten von Single-Page Applikationen?
A
- Nur ein HTML Dokument
- Notwendige DOM-Elemente und JavaScripts werden beim 1. Aufruf bereits geladen
- somit nur ein synchroner HTTP GET Request
- alles weitere ist asynchron
- Session-Management und Controller-Aktionen werden im Browser ausgeführt
- Benutzersitzung komplett Clientseitig
- Serverseitige Validierung
- Wegen Angreifern durch Manipulationsmöglichkeiten
- Da Business-Logik und Daten offen zur Verfügung stehen