Grundlagen von RESTful Services
1. Worauf baut REST auf? Nennen sie die 5 Grundprinzipien und erläutern Sie diese in einem Satz.
- Adressierbarkeit, eindeutige URI
- Zustandslosigkeit
- Unterschiedliche Repräsentationen
- Operationen
- Verwendung von Hypermedia
2. Was kennzeichnet eine Restful Ressource?
- Eine Ressource hat mindestens ein URI
- Einzigartig und eindeutig
3. Welche HTTP-Methode sollte man in einem RESTful-Service meiden und warum?
- POST
SOA und Services
4. Nenne 3 Stichpunkte wann SOA sinnvoll ist.
- Unterschiedliche Eigentümer
- Heterogenität
- Komplexe verteilte Systeme
5. Zähle 3 Punkte auf „Was SOA nicht ist“.
- Kein Produkt
- Kein Werkzeug
- Kein Framework
- Keine konkrete Architektur
6. Konzipiere eine Service Schnittstelle.
Die lose Kopplung
7. Was ist das Prinzip einer losen Kopplung?
- Die Minimierung der Abhängigkeiten möchte man erreichen.
8. Nennen Sie Vor- und Nachteile der losen Kopplung!
Vorteile:
- Die Flexibilität des Systems steigt.
- Der bürokratische Aufwand der System-Koordination wird vergleichsweise geringer.
Nachteile:
- das Funktionieren des Systems ist schwer zu kontrollieren.
- die Redundanz im System lässt keine optimale Ressourcennutzung zu.
9. Nennen Sie ein Beispiel für die lose Kopplung!
- …
Ohne die lose Kopplung hätte der Vertriebsmitarbeiter keinen Vertrag abschließen können.
10. Wie funktioniert die asynchrone Kommunikation?
- Die Asynchrone Kommunikation besagt dass sowohl der Sender als der Empfänger nicht gleichzeitig (synchron) tätig sein müssen. Der Sender und der Empfänger werden zeitlich entkoppelt.
11. In welchen Fällen würde man sich gegen eine lose Kopplung entscheiden?
- In der Realität ist es so, dass Produktionsprobleme anhand unerwartete Service-Laufzeiten verursacht wurden (sogenannten: Race-Conditions). Man hat die Priorität an die Wartbarkeit der Systeme als wichtiger empfunden, daher möchte man dieses Risiko nach Möglichkeit vermeiden.
- Dieser Beschluss leitet zu einer engeren Kopplung, dass die Verfügbarkeit an beiden System eine Voraussetzung ist.
- Unerwünscht ändert sich dadurch die Performance ins Negative.
Klassifizierung von Services
12. Welche Arten von Services gibt es? Nenne jeweils ein Beispiel.
- Basis-Daten Service:
Kunden in einer Datenbank anlegen
- Composed-Service:
Geldbetrag wird auf einem Konto abgehoben
und auf einem anderen wieder gut geschrieben
- Prozess-Service:
Genehmigung eines Bankkredites
13. Zu welchem Typ Service gehört ein Service der das Passwort in einer Datenbank ändert?
- Er gehört zum Typ des Basis-Daten Service
SOA und Sicherheit
14. Nennen Sie den Unterschied zwischen „Point-to- Point“ und „End-to-End Security“!
- “Point-to-Point”-Verbindung ist nur zwischen zwei Systemen nützlich, da Verschlüsselungen über die Netzwerkebene (bspw. SSL) transportiert werden. So kann jedes dazwischenliegende System mitlesen.
- Bei einer „End-To-End“-Verbindung wird die Sicherheit auf der Nachrichtenebene gewährleistet, so dass die im Frontend verschlüsselten Daten erst im Backend entschlüsselt werden und alle dazwischenliegenden System nur zum Transport dienen.
15. Erörtern Sie das Basiskonzept der Interoperabilität und nennen Sie hierbei Vor- und Nachteile!
- Effiziente und nahtlose Zusammenarbeit in unabhängigen Systemen mit dem Ziel der problemlosen Verbindung zwischen allen Systemen. Hohe Interoperabilität führt zu geringerer Sicherheit.
OpenStreetMap RESTful API
16. Welche Eigenschaften haben Changesets?
- Nicht atomar (identische Elemente können nacheinander in parallelen Cs bearbeitet werden)
- Nicht transaktional (jede Änderung einzeln in Datenbank gespeichert)
17. Welche Datentypen gibt es bei osm?
- Node
- Tag
- Way
- Relation
18. Was bewirkt das "optimistic locking„ ?
- Zur Vermeidung von Änderungskonflikten wird das „optimistic locking“ eingesetzt.
Bei jeder Änderung am Datenbestand muss dem Server die Versionsnummer des entsprechenden Objektes mitgeteilt werden, welches verändert werden soll.
Sollte sich das zu ändernde Objekt bereits mit einer neueren Version auf dem Server befinden, so wird die Änderung mit dem Fehlercode 409 zurückgewiesen, da es sich auf einen alten Datenbestand bezieht.
19. Welche Informationen liefert eine capabilities-Anfrage und wofür dient sie?
- Diese API-Funktion dient zur Funktionsunterstützung des Servers.
- Es werden folgende Informationen vom Server übermittelt:
- Versionsnummer der API, welche vom Server unterstützt werden
- Maximale Fläche der "Bounding Box“ in Quadrat Grad
- Systemparameter
Entwurfsprinzip – Serviceverträge
20. Nennen sie mind. Drei Punkte die im Servicevertrag definiert werden müssen?
- Im Servicevertrag müssen alle relevanten Informationen zu Schnittstellen, Funktionen sowie technischen Einschränkungen festgehalten werden.
21. Was ist ein SLA?
- Service-Level-Agreement (Dienstgütevereinbarung)
- Nichttechnischer Bestandteil eines Servicevertrags.
- Regeln über die technischen Anforderungen hinaus
- Eigenschaften wie Erreichbarkeit, Genauigkeit und Geschwindigkeit der Fehlerbehebung.
Autonomie von Services
22. Welche Entwurfsmerkmale besitzen Services?
- Services besitzen einen Vertrag mit einer fest definierten Funktionsgrenze, die sich nicht mit anderen Services überschneidet
- Services haben ein hohen Maß an Kontrolle
- Es werden Serviceinstanzen in einer Umgebung bereitgestellt
23. Nennen sie die Grade der Serviceautonomie
- Servicevertrag
- Geteilte Autonomie
- Servicelogik
- Reine Autonomie
24. Welche Nachteile kann die Autonomie der Servicelogik haben
- Laufzeitprobleme einer dedizierten Datenzugriffsebene
- Unerwartet starker paralleler Zugriff
- Sperrung von Datensätzen oder Seiten
- Längere Ausführungszeiten von Abfragen
- Performance leidet mit unzumutbar langen Antwortzeit
- Keine optimale Skalierbarkeit
Entwurfsprinzip – Zustandslosigkeit von Services
25. Wann ist ein Service zustandslos?
- Im Leerlauf
- Bei kompletter Verschiebung der Zustandsdaten
26. Welche Mittel hat ein Service um Zustandsdaten zu verschieben oder abzulegen?
- Nachrichten
- Datenbanken
27. Wie heißen die Grade der Zustandsverwaltung?
- Nicht verschobene Zustandsverwaltung
- Teilweise verschobene Zustandsverwaltung
- Komplett verschobene Zustandsverwaltung
SOAP und C++
28. Wo ist der Einsatz von C++ und SOAP denkbar?
29. Nennen sie 3 Transportprotokolle von gSOAP.
30. Für was benotigt man das Tool WSDL2WS?
AJAX
31. Warum ist asynchrone Abhandlung von Anfragen die elegante Variante?
- Die Anwendung wird während der Abfrage nicht blockiert. Ein Programm das im Hintergrund arbeitet bietet immer mehr Benutzerfreundlichkeit.
32. Welche vier Fähigkeiten erhält XMLHttpRequest nach einer abgeschlossenen Anfrage?
- Status
- responseXML
- responseText
- getResponseHeader
33. Welcher Struktur ähneln Ajax Anwendungen?
- Desktopanwendung, da Ajax Struktur über ähnliche GUI Elemente und ähnlichen, aber simpleren Eventloop verfügt.
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
|