Partenaire Premium

ENAPP HS16

Diese Karteikarten ergänzen jene von Adrian Stern mit den neusten oder fehlenden Fragen aus dem HS16

Diese Karteikarten ergänzen jene von Adrian Stern mit den neusten oder fehlenden Fragen aus dem HS16


Fichier Détails

Cartes-fiches 17
Langue Deutsch
Catégorie Informatique
Niveau Université
Crée / Actualisé 22.01.2017 / 21.01.2020
Attribution de licence Non précisé    (Hochschule Luzern - Informatik, Bruno Joho)
Lien de web
https://card2brain.ch/box/20170122_enapp_hs16
Intégrer
<iframe src="https://card2brain.ch/box/20170122_enapp_hs16/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Versuchen sie die Begriffe Tiers und Layers zu erklären

Siehe Folie: Tier to Layer Mapping

Die Schichtenarchitektur ist ein Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell einer Schicht zugeordnet. Die erlaubten Abhängigkeitsbeziehungen zwischen den Aspekten werden bei einer Schichtenarchitektur dahingehend eingeschränkt, dass Aspekte einer „höheren“ Schicht nur solche „tieferer“ Schichten verwenden dürfen.

Durch eine Schichtenarchitektur wird die Komplexität der Abhängigkeiten innerhalb des Systems reduziert und somit eine geringere Kopplung bei gleichzeitig höherer Kohäsion der einzelnen Schichten erreicht.

Ein wichtiger Unterschied zwischen Tiers und Layers ist: Ein Layer ein logischer Strukturmechanismus für die Elemente der SW Lösung, währendem ein Tier ein physikalischer Strukturmechanismus für die Systeminfrastruktur ist.

Welche Möglichkeiten haben sie für das Session Management?

Session Cookies

  • Sehr effektiv
  • ungeeignet bei grossen Session Data
  • am besten nicht über ein paar hundert Bytes

Session ID

  • Best Practice
  • grosse Session Data Volumen möglich
  • Cookies werden „nur“ noch für Session ID, etc. verwendet
  • Unterliegen dem EE Session Management 

Welche Scopes bietet JSF an?

  • Application (javax.enterprise.context.ApplicationScoped): gültig über alle User Aktionen mit der Web Applikation.
  • Session (javax.enterprise.context.SessionScoped): gültig über mehrere HTTP Anfragen in einer Web Applikation.
  • Flow (javax.faces.flows.FlowScoped): Gültig während User Interaktionen mit einem spezifischen „Ablauf“ einer Web Applikation. (JEE7)
  • Request (javax.enterprise.context.RequestScoped): Gültig während einer einzigen HTTP Anfrage in einer Web Applikation.
  • Dependent (javax.enterprise.context.Dependent): Kennzeichnet eine Abhängigkeit von einem anderen Bean.

Auf welchem Design Pattern basiert CDI?

  • Dependency Injection
  • Service Locator

Nennen Sie eine Anwendung von CDI

  • entkoppelt einen Task von seiner Implementation
  • fokussiert ein Modul zur Aufgabe exakt wozu es entworfen wurde.
  • Befreit Module von Annahmen (zB wie andere Systeme machen was sie machen sollten...) und bezieht sich stattdessen auf Verträge* .
  • Verhindert Seiteneffekte wenn Klassen ersetzt werden müssen. 

Zeichnen sie das IoC Design Pattern

Wie wird in der CDI Spezifikation ein „Bean“ definiert?

  • Ein Objekt das an einen Life Cycle Kontext gebunden ist wird Bean genannt.
  • CDI beinhaltet Support für folgende Beans:
    • managed Beans
    • EJB Session Beans
  • managed und session Beans können andere Beans injizieren.
  • Andere Objekte die keine Beans sind können auch Beans via CDI injiziert bekommen. 

Was bedeutet folgender Ausdruck im Zusammenhang mit CDI?
Der Ausdruck CDI bedeutet loose Kopplung und strong Typing

  • Ein Bean definiert nur den Typ und die Semantik von anderen Beans von denen es Abhängigkeiten besitzt.
  • Es muss keine Kenntnisse haben vom Lebenszyklus, konkreter Implementation, threading Modell oder anderen Clients.
  • Die konkrete Implementation, Lebenszyklus, Threading Modell kann je nach Deployment Szenario variieren ohne den Client zu beeinflussen
  • ...das ist echtes „loose coupling“...