Kapitel 4 - Java APIs und Frameworks Flashcards Preview

Datenbanken und Webtechnologie > Kapitel 4 - Java APIs und Frameworks > Flashcards

Flashcards in Kapitel 4 - Java APIs und Frameworks Deck (29)
Loading flashcards...
1

Was ist JDBC?

  • Schnittstelle für Verbindung und Interaktion mit Datenbanken
  • Datenbankspezifische Datentypen werden gleich in das Typ-System der Programmiersprache umgewandelt
  • Vorgang
    • Aufbau der DB-Verbindung
    • Weiterleitung der SQL-Befehle
    • Verarbeitung von Ergebnissen in Java-Typen

2

Was ist Lazy Loading?

  • Beim Lazy Loading werden @ToMany Beziehungen erst referenziert, wenn diese gezielt aufgerufen werden
  • Ansonsten nur @ToOne Beziehungen direkt geladen
  • Vorteil: Performance

3

Was ist die Persistence Unit?

  • Verbindung zwischen Entity-Klassen und Datenbankverbindung

4

Was steht in der persistence.xml?

  • Persistence Unit wird benannt
  • Klassen, die Entitys in Persistence Unit darstellen
  • Providerübergreifende Parameter

5

Was ist der Persistence Context?

  • Geltungsbereich, innerhalb dessen Operationenzwischen Entitys und der Datenbank synchronisiert werden
  • Jede Methode wird im Context überwacht
  • JPA sychronisiert Änderungen und versucht diese zu bündeln
    • damit so wenig DB-Aufrufe wie möglich
  • Dadurch ist Zustand erst beim Verlassen des Contextes garantiert sychronisiert und committed

6

Welche Zustände des Persistence Contextes gibt es?

  • new --> persist
  • managed --> refresh, remove
  • detached --> merge
  • removed --> persist

7

Merkmale von JDBC

  • Einheitliche API Definition für die Anbindung relationaler DBs
  • Vorgehen
    • Aufbau der DB Verbindung
    • Weiterleitung von SQL Befehlen
    • Verarbeitung der Ergebnisse in Java-Typen
  • JDBC Treiber werden dynamisch zur Laufzeit geladen
    • keine Installation
    • Treiber müssen im Classpath vorhanden sein
  • Verbindungsaufbau wird durch spezielles URI Format sichergestellt

8

Was ist die Funktion von EJB (Enterprise Java Beans)?

  • Java-Klassn, deren Lifecycle durch den Applicationsserver gesteuert wird
  • dadurch Hochverfügbarkeit und Lastverteilung durch App Server möglich

9

Was ist die Funktion von JSF (Java Server Faces)?

Komponentenbasiertes Webframework

10

Was sind EJB (Enterprise Java Beans)?

  • Grundlage zur Implementierung der Business Logik in Java Enterprise Anwendungen
  • Genügen Anforderungen von Java-Beans (Leerer Konstruktor, getter und setter)
  • werden in JavaEE Laufzeitumgebung ausgeführt
  • Sind mittelsDependency Injection verknüpft
  • Werden durch Applicationsserver gemanaged

11

Welche zwei Arten von EJB gibe es?

  • Single Beans --> Implementieren Business-Logik
  • Message Driven Beans --> Behandeln Nachrichten

12

Für welche zwei Dinge sind Baking Beans verantwortlich?

 

  • Halten von Daten im Kontext des entsprechenden Scopes
    • Bsp. Warenkorb Onlineshop
  • Ausführen von Business Logik

13

Welche Scopes gibt es bei den Baking Beans?

  • request --> Nur für einen einzigen Request-Response Zyklus
  • session --> Gilt nur für eine ganze Session
  • application --> Gilt für die gesamte Anwendung
  • view --> so lange, wie Client auf dieser Seite ist
  • flash --> wie request, nur mit redirects

14

Was sind die Vorteile von JSF?

  • wiederverwendbare Webkomponenten
  • Dynamische Navigationslogik
  • Entkopplung von View, Model und Business-Logik
  • Hilfe bei der Validierung von Eingaben
  • Support für AJAX

15

Was sind die Vorteile von JSF?

  • Wiederverwendbare Webkomponenten
  • Dynamische Navigationslogik
  • Entkopplung von View, Model und Business-Logik
  • Hilfe bei der Validierung von Eingaben
  • Support für AJAX

16

Spezifikation von JAX-RS

  • API zur Erzeugung von URLs
  • Binden von Ressourcen an URLs
  • Kontrolle über HTTP-Header
  • API zum Bauen von clientseitigen Java-Anwendungen für REST Backends

17

Wie bindet JAX-RS Metainfos an den Code?

Über Annotations.

18

Kümmert sich JAX-RS um die Repräsentationsformate?

Nein --> JAXB oder JSONB kümmern sich um die Repräsentationsformate.

19

Was ist die Funktion von JNDI (Java Naming and Directory Interface)?

  • Verzeichnisdienst, der verschiedene Ressourcen zur Laufzeit verwaltet und zur Verfügung stellt

20

Was ist die Funktion von JPA (Java Persistence API)?

Objekt-relationales Mapping für die Java EE Plattform

21

Was bedeutet objektrelationales Mapping?

  • Relationale Datenstrukturen aus Datenbanken werden so aufbereitet, dass sie in einer opjektorientierten Sprache verwendet werden können, als wären sie Objekte dieser Sprachdomäne

22

Wie kann JPA konfiguriert werden?

  • Annotations
  • XML

23

Welche Entity-Mapping Typen kennen Sie um Vererbungen darstellen zu können?

  • SINGLE_TABLE
  • TABLE_PER_CLASS
  • JOINED

24

Merkmale JPA

  • Abbildung relationaler DB Strukturen auf Java Objekte
  • Zustandsüberwachung und Synchronisierung der Entity-Objekte mit der DB
  • Opjektorientierte Abfragesprache JPQL

25

Was sind Merkmale von JPA (Java Persistence API)?

  • Abbildung relationaler DB Strukturen auf Java Objekte
  • Zustandsüberwachung und Synchronisierung der Entity-Objekte mit der DB
  • Objektorientierte Abfragesprache JPQL

26

Welche Klassifizierungen des Session Beans gibt es?

  • Stateful
    • Zustände für Client-Sitzung werden über mehrere Request-Zyklen gehalten
    • Werden für jeden Client instanziiert
  • Stateless
    • Zustände werden nur in Businessmethode verwaltet
    • Können von verschiedenen Clients gleichzeitig verwendet werden
    • Applicationsserver verwaltet eigenständig anhand des Lastverhaltens den Pool der Session Beans
  • Singleton
    • Werden nur einmalig in Anwendung instanziiert
    • Leben genauso lange wie die Anwendung

27

Warum sollte man keine Stateful-Bean in eine Stateless-Bean injizieren?

Zustandsfreiheit der Stateless-Bean wird unterbrochen.

28

Beschreiben Sie die einzelnen JSF Phasen

  1. Komponentenbaum aufbauen
    • Parsen des View-Models
    • Initialisierung der Backing Beans
  2. Request Parameter auslesen
    • Die Daten aus einem POST Formlar extrahieren und JSF zur Verfügung stellen
  3. Request Parameter validieren
    • Gewonnene Dateien validieren mit Views oder Baking Beans
  4. Modell aktualisieren
    • neue Werte werden in Baking Beans gesetzt
  5. Business-Logik ausführen
    • Wenn Action-Methode eine Baking Bean aufgerufen wurde, wird dieser ausgeführt
    • Entscheidung, welche View als nächstes kommt
  6. Antwort rendern
    • ggf. neue View parsen
    • Komponentenbaum aufbauen
    • Markup zum Client ausgeben

29

Nennen Sie die sechs Schritte der Interaktion eines Clients mit Webserver über Servlet Container.

  1. HTTP Request (Anfrage an Web Server)
  2. Forward Request (Anfrage von Webserver an Servlet Container)
  3. Load Servlet
  4. Init Servlet
  5. Process Request
  6. HTTP Response (Von Servlet Container an Webserver und weiter zum Client)