Kapitel 4 - Java APIs und Frameworks Flashcards
(29 cards)
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
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
Was ist die Persistence Unit?
- Verbindung zwischen Entity-Klassen und Datenbankverbindung
Was steht in der persistence.xml?
- Persistence Unit wird benannt
- Klassen, die Entitys in Persistence Unit darstellen
- Providerübergreifende Parameter
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
Welche Zustände des Persistence Contextes gibt es?
- new –> persist
- managed –> refresh, remove
- detached –> merge
- removed –> persist
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
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
Was ist die Funktion von JSF (Java Server Faces)?
Komponentenbasiertes Webframework
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
Welche zwei Arten von EJB gibe es?
- Single Beans –> Implementieren Business-Logik
- Message Driven Beans –> Behandeln Nachrichten
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
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
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
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
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
Wie bindet JAX-RS Metainfos an den Code?
Über Annotations.
Kümmert sich JAX-RS um die Repräsentationsformate?
Nein –> JAXB oder JSONB kümmern sich um die Repräsentationsformate.
Was ist die Funktion von JNDI (Java Naming and Directory Interface)?
- Verzeichnisdienst, der verschiedene Ressourcen zur Laufzeit verwaltet und zur Verfügung stellt
Was ist die Funktion von JPA (Java Persistence API)?
Objekt-relationales Mapping für die Java EE Plattform
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
Wie kann JPA konfiguriert werden?
- Annotations
- XML
Welche Entity-Mapping Typen kennen Sie um Vererbungen darstellen zu können?
- SINGLE_TABLE
- TABLE_PER_CLASS
- JOINED
Merkmale JPA
- Abbildung relationaler DB Strukturen auf Java Objekte
- Zustandsüberwachung und Synchronisierung der Entity-Objekte mit der DB
- Opjektorientierte Abfragesprache JPQL