136

wba2 (Fach) / Vokabeln (Lektion)

lerne

Diese Lektion wurde von bsx_36 erstellt.

Lektion lernen

Anzeige
  • Was versteht man unter Kohärenz? dieser Begriff besagt, dass die Softwarekomponenten so zusammen wirken , dass dem Benutzer ein konsistentes Benutzungserlebnis geboten wird → es gibt keine Anwendungsteile , die nicht miteinander zusammenhängen
  • Was sind Softwarekomponente und benenne ihre Eigenschaften Abhängigkeiten und Zusicherung: Softwarekomponenten sollen so stabil sein, dass der Anbieter dieser Komponente , die Eigenschaften der Softwarekomponente/ der Schnittstelle in der Art eines Vertrages zusichern kann Verteilung und Integration : Softwarekomponente können als ein isoliertes verteilbares Stück Code weitergegeben werden sie können isoliert, installiert werden  und mit anderen Softwarekomponenten integriert werden  statisch und programmierbar und veränderbar
  • Was ist eine Schnittstelle (Interface)? Teil des Systems , dass für den Austausch von Information mit anderen Systemen/Systemkomponenten dient → es liegt eine Beschreibung der einzelnen Funktionen dieser Schnittstelle vor . → Beschreibung muss durch Regeln so beschrieben sein, dass sie für einen Anderen als den Programmierer , benutzbar ist → Semantik der Funktionen (Kontrakt) auch wichtig : was passiert wenn man eine Funktion aufruf
  • Was versteht man unter einem Dienst (API)? der Begriff des Dienstes bezeichnet, ein ablaufendes, auf einer bestimmten Netzwerkadresse / auf einem bestimmten Rechner, kontinuierlich betriebenes Softwaresystem → dynamisch, laufend, ein Prozess (mechanism) → unter einer bestimmten Netzwerkadresse erreichbarer Prozess → muss vertraglich zugesicherte Schnittstellen (definierte Schnittstellen) beinhalten → Regulierung des Zugriffs : z.b. wie kontinuierlich ist ein Dienst erreichbar? (..) : Rechte an den Daten
  • Was sind Paradigmen? sind bildhafte Vorstellung von Abläufen in einem verteilten System
  • Erkläre das Paradigma „Synchronität“ Gleichzeitigkeit zeitliche Koordination von Nebenläufigen Aktivitäten
  • Erkläre das „Publish-Subscribe“ Paradigma asynchrone Kommunikation → hier wird nicht auf die Bestätigung einer Nachricht gewartet → Sendeaktivität ist umgedreht → der Anbieter publiziert Nachrichten in ein Kommunikationssystem während Abonnenten Abonnements an das System übergeben und beides, Nachrichten und Abonnements, haben Attribute und basierend auf den Attributen stellt das System fest wer welche Nachrichten erhält
  • Das Web wird als was betrachtet ? das Web wird als eine Vernetzung von Informationen, Daten , Diensten und Dingen (...) betrachtet
  • Web Anwendung als verteiltessystem qelche Komponenten gibt es und von welcher Organisation werden sie betrieben? - Welche Funktionen stellen sie bereit aus? - Über welche Protokolle kommunizieren sie? - Welche Daten - Strukturen und - Formate werden verwendet?
  • Was versteht man unter einem Webservice ? als die im Web bereitgestellte Programmierschnittstelle, die anderen Softwarekomponenten im Web zur Verfügung gestellt wird → werden nicht direkt von Endnutzern benutzt , sondern von Programmierern und Softwaresystemen
  • Anzeige
  • Was versteht man unter einem Endpunkt eines Dienstes? Dienste werden im Netz an einem oder mehreren sogenannten „Endpunkten“ (engl.: endpoint) im Web zur Verfügung gestellt → Ein Endpunkt wird oft durch eine URI identifiziert und angesprochen → Die Dokumentation (beschreibt die Operationen des Dienstes) eines Dienstes kann über den gleichen oder einen anderen Endpunkt abgerufen werden →DEFINITION VOM DIENST: Mechanismus, der auf einer konkreten Maschine im Web zur Verfügung gestellt wird und über eine konkrete Netzwerkadresse angesprochen werden kann → Netzwerkadresse ist der Endpunkt
  • Was versteht man unter Mash Up? darunter versteht man , dass ein Dienst in Wirklichkeit ein Netzwerk von Diensten ist , auf die man zugreifen kann
  • Was versteht man unter Microservices ? Ein Dienst der als Mittel zur Strukturierung eigener Anwendungen entwickelt wird → macht Anwendungen flexibler, schneller und transparenter
  • Erklären Sie kurz was man unter JMS versteht ! Java Message System (JMS) → ist eine Programmierschnittstelle(API) → Wichtig hier : JMS Client und JMS Provider → JMS Client ist entweder der Sender oder der Empfänger ist der Nutzer dieses Nachrichtenübermittlungsdienstes → JMS Provider ist die Message Oriented Middleware (MOM), das System, welches diesen Nachrichtenübermittlungsdienst bereitstellt → JMS hat das Ziel, lose gekoppelte, verlässliche und asynchrone Kommunikation zwischen den Komponenten einer verteilten Anwendung zu ermöglichen → wird noch durch ein administrations Tool unterstützt → die Benennung passiert durch eine Java Technologie : JNDI Namespace
  • Was ist Push? Push (drücken, stoßen, schieben) → Echtzeit Kommunikation → Initiiert vom Client → Client sagt, dass er etwas empfangen möchte, ausgelöst vom Server → dauerhafte Verbindung(en) zwischen Client und Server → Immer wenn es „zeitkritisch“ ist → Bei ereignisorientierten Anwendungsfällen -> verbunden mit der asychronen kommunikation
  • Nenne Gründe , weswegen es von Vorteil ist, bei der Entwicklung einer webbasierten Anwendung auf Webservices anderer Organisationen zuzugreifen ? Zugriff auf aktuelle Informationen, e.g. Wetterdaten, Verkehrsdaten, Fahrplandaten → Kommunikation, e.g. Social Media, Gruppenchat → Online synchrone Zusammenarbeit, e.g. dropbox, open street map → Teilung und Flexibilisierung von Ressourcen, e.g. Netzwerkdrucker → man will nicht zu jedem System einen eigenen Drucker aufstellen → Bei Cloud Services: Minimierung von Investition und administrativem Aufwand → Effizienz → weniger Aufwand → Schnelligkeit
  • Nenne Hinderungsgründe für die Nutzung von Diensten Abhängigkeit von Unternehmen, u.a. bzgl. Dauerhaftigkeit, Vertragskonditionen, Zuverlässigkeit : Was macht der Dienst mit meinen Daten ? → Potenzielle Bedrohung der Vertraulichkeit der Daten
  • Nenne Hinderungsgründe für die Nutzung von Diensten Abhängigkeit von Unternehmen, u.a. bzgl. Dauerhaftigkeit, Vertragskonditionen, Zuverlässigkeit : Was macht der Dienst mit meinen Daten ? → Potenzielle Bedrohung der Vertraulichkeit der Daten
  • Beschreibe die Konzeption eines Dienstes An erster Stelle steht die Entwicklung eines Modells der Domäne (domain model, DM) → Dieses Modell dient als gemeinsame Sprache für Entwickler und Anwender → Das Modell ist zunächst nicht an der Realisierung orientiert, etwa ER-Diagramm oder Objektmodell, und auch nicht an eine Sprache wie UML gebunden → man legt in einer nicht formal festgelegten Sprache fest, was sind die wesentlichen Begriffe der Anwendungsdomäne → spracht erfassen : Um was geht es überhaupt? Welche Konzepte gibt es und wie stehen sie zueinander? Was sind die Begriffe und die Objekte? (domain driven design)
  • Was ist ein Domänenmodell? Ist bei nicht-trivialen Anwendungen immer der Ausgangspunkt → Etabliert eine gemeinsame Sprache → Unterliegt Änderungen so wie sich das Wissen und das gemeinsame Verständnis der Anwendungsdomäne entwickelt → Ist Ausgangspunkt für die Ableitung von User Interface Modellen und Schnittstellen im verteilten System
  • Welchen Zweck verfolgt das Domain Model ? Ziel : eine Sprache zu entwickeln , die dem Verständnis aller an dem Projekt beteiligten Personen dient
  • Worin liegt der Unterschied zwischen einem Domänenmodell und einem User Interface Model? Entitäten auf die man sich konzentriert , sind ganz andere als in einem Domänenmodell. → man konzentriert sich bei einem User Interface Model auf : Frames, Icons, Menüs, Navigationsmöglichkeiten , ... → es geht um das Benutzungserlebnis → wie wird ein Benutzer durch diese Anwendung geführt → ein Domänenmodell kann mehrere User Interface Modelle besitzen wegen der großen Vielfalt an Endgeräten
  • Was Versteht man unter Anwendungslogik und Präsentationslogik? Anwendungslogik → darunter versteht man den Teil einer verteilten Anwendung, der ein Modell der (Geschäfts-)Objekte der realen Welt beinhaltet (Domänenmodell), → in dem codiert ist, wie Objekte gespeichert werden und miteinander interagieren und → in dem codiert ist, wer auf Objekte zugreifen und sie ggfs. ändern darf. → Präsentationslogik → darunter versteht man den Teil einer verteilten Anwendung, in dem codiert ist, wie Objekte mit ihren Interaktionsmöglichkeiten für den Nutzer dargestellt werden. → Die konsequente Trennung von Anwendungs- und Präsentationslogik ist ein Kennzeichen einer „guten“ Architektur
  • Logik auf dem Client oder auf dem Server? Im ursprünglichen WWW ist alle Logik auf dem Server, der Browser dient nur dem Rendering. → Installierte Anwendungen („Apps“) realisieren Präsentationslogik und meist auch Anwendungslogik. → Über JS wird im Browser zunehmend Präsentationslogik und teilweise Anwendungslogik realisiert.
  • mashup bezüglich wba Viele Web basierte Anwendungen bestehen aus einer Vernetzung von Diensten → Dienste , die auf anderen Diensten aufbauen
  • Was versteht man unter einer Application Programming Interface (API) ? Der Begriff Application Programming Interface wird traditionell für lokale Schnittstellen von Anwendungssystemen verwendet (z.B. Photoshop API für PlugIns) → Er wird aber auch für Schnittstellen von Diensten im Web verwendet → Wenn man zb ein PlugIn von einer Software benutzt → geht man eine Lizenzvereinbarung ein → Während man beim Dienst eine Nutzungsvereinbarung eingeht , bei der ich unter Umständen sogar meine Daten übergeben muss
  • Worauf achtet man bei einem Webservice ? Welche Organisation bietet den Service an → Was ist die hauptsächliche Funktionalität des Service → Was sind die wesentlichen Elemente des Domänenmodells → Was sind wesentliche Elemente des Vertrages: z.B. Kosten, Datenschutz, Nutzungsrechte → URIs für Dokumentation und Endpunkt → Detailliertere Beschreibung von einigen zentralen Funktionen des Service
  • Was versteht man unter einem Bounding Context? a specific responsibility enforced by explicit boundaries“ → ein Dämonenmodell durch die vielen Entitäten schnell komplex werden kann und man dadurch leicht die Übersicht verliert → fasst die Entitäten zusammen , die viel miteinander zu tun haben ,aber nur eine abgegrenzte Abhängigkeit von der Umgebung besitzen
  • Was ist hier mit einer Schnittstelle gemeint ? in unserem Beispiel von RESTbucks → bietet , diese Schnittstelle, dem Kunden eine Möglichkeit an mit dem System zu interagieren , ohne , dass der Kunde das Innere des Geschäftes wirklich sieht
  • Geteiltes und Verstecktes in Modellen Die Entitäten im Domänenmodell sind bei der Konzeption einer Anwendung oft Ausgangspunkt für die Definition von Objekten. → Die Grenzen der „Bounded Contexts“ sind oft Ausgangspunkt für die Definition von Schnittstellen bzw. auch Web Services. → Eine wesentliche Frage bei der Konzeption ist, : : Welche Objekte zwischen Kontexten geteilt werden sollen und : Welche Information und welche Funktionalität von Objekten über Kontextgrenzen hinweg preisgegeben werden soll.
  • Anzeige
  • Nenne Kriterien zur Konzeption von Dienstschnittstellen starken fachlichen Zusammenhang lose Koppelung Technologie frei Synchrone Interaktion (wenn nötig) leicht verständliche Schnittstelle nur notwendige Informationen mehrere Schnittstellen = mehrere Domänenmodel Interaktion zwischen den einzelnen Domänenmodellen schaffen
  • Objektorientierte Integration Methoden auf entfernten PC ausführen Analog zum RPC (Remote Procedure Call) Technologieabhängigkeit enge Kopplung
  • URN: Uniform Ressource Name Einheitlicher Name für Ressourcen (dauerhafter, ortsunabh.ngiger Bezeichner für eine Ressource)  Nicht direkt aufgerufen sondern durch URL übersetzt  Bsp: google.de/bla?als+o
  • Proof of Concept Meilenstein, an dem die prinzipielle Durchführbarkeit eines Vorhabens belegt ist
  • Softwarekomponente Teil einer Software, der mit anderen Softwareteilen gemäß den Regeln eines Komponentenmodells zusammenwirken kann.
  • Webservice • Dienst der über das Netzwerk angesprochen werden kann • Maschine-zu-Maschine-Kommunikation • Basis von HTTP oder HTTPS über Rechnernetze wie das Internet. • Datenaustausch auf entfernten Computern
  • Publish/Subscribe • Publizierer erstellen Topics(Synchron), welcher die Subscriber abbonieren k.nnen, um infos zu erhalten(gibt es neues oder Änderungen?)(asynchron) • Publiziereradressiert nicht konkret, sondern sendet einfach nur alle, die es interessiert
  • Nennen Sie Beispiele für Publish/Subscribe Systeme!" • JMS, XMPP(Protokoll), SQS(Amazon)
  • Microservice Komplexe Anwendungssoftware aus unabh.ngigen Prozessen, welche untereinander Kommunitzieren Die Dienste erledigen alle eine kleine Aufgabe
  • Integrity (Datenintegrität) • Geschützte Daten k.nnen w.hrend der Verarbeitung nicht durch unautorisierte Personen ver.ndert oder entfernt werden
  • Identity Fähigkeit in einer Interaktion beteiligten Parteien zu authentifizieren
  • Trust • Authentifizierung: Beweisen, dass jemand auch tats.chlich derjenige ist, der er zu sein vergibt • Autorisierung: entscheidet ob das Recht zur Ausführung einer bestimmten Aktion vorliegt • Autorisierung einer Partei, mit einem System in einer vorgeschriebenen weise zu interagieren
  • Challenge-Response-Authentifizierung Die Antwort auf einen Zugriff auf eine Ressource, für die der Servereine Authentifizierung erwartet • sicheres Authentifizierungsverfahren eines Teilnehmers auf Basis von Wissen. Hierbei stellt ein Teilnehmer eine Aufgabe (engl. challenge), die der andere l.sen muss (engl. response), um zu beweisen, dass er eine bestimmte Information (Shared Secret) kennt, ohne diese Information selber zu übertragen. Dies ist ein Schutz dagegen, dass das Passwort von Angreifern auf der Leitung mitgeh.rt werden kann.
  • Base64 Verfahren • Verfahren zur Kodierung von 8-Bit-Bin.rdaten • Zeichenkette wird auf Standartalphabet aus Buchstaben, Ziffern und Sonderzeichen abgebildet
  • JMS (Java Message System) • JMS ist eine API zum Senden und Empfangen von Nachrichten aus einem Client heraus • Geschrieben in Java • Ziel, lose gekoppelte, verl.ssliche und asynchrone Kommunikation zwischen den Komponenten einer verteilten Anwendung zu ermöglichen • Clients kein n.heres wissen über den Sender (keine TCP oder Sockets..) • Funktion: Nachrichtenwarteschlange für Point-to-Point-Verbindung • Funktion: Anmelde-Versendesystem (Topic) für Pub/Sub
  • JMS Funktionsweise 1.Warteschlange • Sende sendet Queue an Empf.nger • Kein Empf.nger Verfügbar? Nachricht gespeichert Empf.nger kann abholen
  • JMS Funktionsweise 2.Anmelde-Versendesystem • Nachrichten werden an ein Topic (beliebige Empf.nger h.ren) geschickt • Kein Empf.nger angemeldet an Topic? Niemand erh.lt Nachricht • Bsp: Broadcast -> TV nicht eingeschaltet = Serie verpasst
  • REST (Representational State Transfer) • Web eine verteilte Hypermedia-Anwendung • verknüpfte Ressource kommunizieren durch den Austausch von Repräsentationen des Ressourcenzustands Programmierparadigma für verteilte Systeme, insbesondere für Webservices. REST ist eine Abstraktion der Struktur und des Verhaltens des World Wide Web. • REST hat das Ziel, einen Architekturstil zu schaffen, der die Anforderungen des modernen Web besser darstellt
  • Rest-Prinzipien • Ressourcen mit eindeutiger Identifikation    • Im Web sind URIs eine eindeutige ID    • URIs verwendet um alle instanzen zu identifizieren • Verknüpfungen/Hypermedia    • Links werden verwendet um Ressourcen miteinander zu Verknüpfen • Standartmethoden    • Jede Ressource unterstützt die gleiche Schnittstelle, gleicher Satz von Methode    • Damit Clients mit ihren Ressourcen kommunizieren k.nnen, sollten alle Ressourcen   Standardverwendungsprotokoll(HTTP) korrekt implemetieren • Ressourcen und Repräsentationen    • Es sollte unterschiedlichen Repr.sentationen von Ressourcen für unterschiedliche. Anforderungen zur Verfügung stehen    • Vorteil: von jedem Sandartbrowser erreichbare Information • Statuslose Kommunikation     • Kopplung des Clients an den Server, da 2 Aufeinanderfolgende Anfragen nicht von der gleichen Serverinstanz bearbeitet werden müssen • Domänenmodell     • In einem DM werden Entit.ten der realen welt modelliert    • Durchg.ngige Sprache bei der Entwicklung     • Gilt als Basis für Entwicklung
  • Ressourcen • Müssen mind. einen Identifikator aufweisen um im Web adressierbar zu sein und jeder Identifikator ist mit einer weiteren Repr.sentation verknüpft • In der Webarchitektur bezeichnet Ressource allgemein alles, was Identit.t hat (dargestellt z. B. als URL) in dem Sinne, dass es eine Quelle für Beschreibungen über sich sein kann.