Dealing with conditionals - $

From: Date: Tue, 10 Jul 2012 18:25:52 +0000
Subject: Dealing with conditionals - $
Groups: php.qa 
Request: Send a blank email to php-qa+get-66658@lists.php.net to get a copy of this message
Was kennzeichnet eine RESTful Ressource? Nennen Sie drei Punkte. - Adressierbarkeit - Unterschiedliche Repräsentationen - Eindeutig/einzigartig - Verwendung von HyperMedia - Operationen Nennen und erläutern Sie stichpunktartig drei Szenarien wann SOA sinnvoll ist. Heterogenität: Verschiedene Systemarten Komplexe verteilte Systeme: Kunde hat mehrere Systeme an verschiedenen Standorten mit verschiedenen Systemen Unterschiedliche Eigentümer: Verschiedene Firmen haben einen Serverpool Welche drei Klassifizierungen von Services gibt es? Nennen Sie alle drei und geben Sie zu einer eine Erläuterung mir einem Beispiel an. (6P) -> 6P Basis-Daten Service: - Eintrag in einer Datenbank ändern z.B. der Name Composed Serive: - Bankguthaben von einem Konto abheben und auf einem anderen Konto gutschreiben - Daten werden über mehrere Backends verändert. Was ist ein SLA? Nennen und erläutern Sie diesen Begriff stichpunktartig. Ein SLA ist ein Service Level Agreement. - Nicht technische Vereinbarung über o Erreichbarkeit o Schnelligkeit der Fehlerbehebung o Genauigkeit Nennen Sie die Grade der Serviceautonomie und geben Sie jeweils stichpunktartig eine Beschreibung an. Servicevertrag: -Vertragliche Erläuterung des Services mit Funktionen, Schnittstellen und technischen Einschränkungen Geteilte Autonomie: -Hier Teilen sich der Service die Logik sowie die Daten mit anderen Diensten im Unternehmen Servicelogik: -Hier wird die Logik des Service isoliert, die Daten werden mit anderen Diensten genutzt. Reineautonomie: -Hier sind die Daten und die Logik des Service isoliert und vollkommen autonom. Der SOAP Kommunikationsstandard erlaubt zwei Modi der Kommunikation zwischen einem Web Service. Nennen Sie diese und beschreiben Sie deren Unterschiede stichpunktartig. RPC-Style: • Ruft eine Methode auf einem anderen Computer auf • Nachricht enthält eine Referenz auf die Methode • Parameter werden als Wert übergeben • Zielmethode wird ausgeführt und eine Antwort wird sofort zurück gesendet • Fest gekoppelte synchrone Kommunikation • Nachrichtenaufbau ist abhängig von der aufzurufenden Methode Document-Style: • Wohlgeformte XML Nachrichten werden verschickt • XML-Daten können mittels XML Schemata validiert werden • Synchrone und asynchrone Kommunikation • Gut, wenn bereits existierende Datenmodell genutzt werden sollen • Mit einem eindeutigen Identifizieren können auch Antworten zu Anfragen zugeordnet werden --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 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 Hyper-Media 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. - Die Kompetenz der Subsysteme werden optimal genutzt sodass man lokale Lösungen entwickeln kann. - Externe Turbulenzen und strategische Fehlentscheidungen im System können weniger durchschlagen als bei einer „enger Kopplung“. Nachteile: - Programmlogik des Service-Nutzers wird unüberschaubar. - das Funktionieren des Systems ist schwer zu kontrollieren. - die strategische Steuerung des Gesamtsystems wird erschwert. - die Redundanz im System lässt keine optimale Ressourcennutzung zu. 9. Nennen Sie ein Beispiel für die lose Kopplung: Ein Vertriebsmitarbeiter schließt außerhalb seines Büros einen Vertrag mit seinem Kunden, jedoch ist der Vetriebsmitarbeiter nicht im Firmen-Netz verbunden. Aufgrund der im Vorabend aktualisierten Stammdaten (Bestand und Preis) in dem Firmen-Programm, bestellt der Kunde 10 000 Kugellager zu je 4 Euro. Das macht für den Kunden 40 000 Euro. In der Zwischenzeit erhöht der Vertriebschef die Preise um 15 cent. Als der Vertriebsmitarbeiter wieder in sein Büro kehrt und seine Vertriebsanwendung startet, erkennt die Anwendung einen Konflikt zwischen dem lokal erfassten Auftrag und den globalen Stammdaten. Die Rechnung von dem Kunden beträgt nicht mehr 40 000Euro sondern 41 500 Euro.  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. Z.B.: System A sendet System B eine Nachricht („Anfrage“). In der Zeit wo System A die Nachricht verschickt muss System B (der Empfänger) nicht anwesend sein. Sobald die Nachricht versendet wurde, kann System A (der Sender) weiter arbeiten. Wenn System B wieder verfügbar ist, wird die Nachricht bearbeitet und wird im Anschluss an System A verschickt. Auch hier muss System A wie System B nicht anwesend sein. Sobald System A wieder verfügbar ist, wird die Antwort bearbeitet, wenn es passend ist. 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: o Versionsnummer der API, welche vom Server unterstützt werden o Maximale Fläche der "Bounding Box“ in Quadrat Grad o 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. - Beispiele: - Welche Eingabeparameter erwartet der Service? - welche Daten liefert der Service zurück? - wie verhält sich der Service bei Fehlern? - wie Zuverlässig soll der Service sein? 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 AJAX 28. 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. 29. Welche vier Fähigkeiten erhält XMLHttpRequest nach einer abgeschlossenen Anfrage? - status, responseXML, responseText, getResponseHeader 30. Welcher Struktur ähneln Ajax Anwendungen? - Desktopanwendung, da Ajax Struktur über ähnliche GUI Elemente und ähnlichen, aber simpleren Eventloop verfügt.

« previous php.qa (#66658) next »