ppls

ppls

ppls


D. R.
Diese Lernkarten bieten eine grundlegende Einführung in die Architektur und Entwicklung von Java-basierten Anwendungen. Sie behandeln zentrale Konzepte wie Transaktionen, Session Beans, Enterprise Java Beans (EJB), und verschiedene Architekturansätze. Die Karteikarten sind ideal für Entwickler, die sich mit der Implementierung und dem Design von skalierbaren, transaktionssicheren und wiederverwendbaren Applikationen beschäftigen.
Karten
58
Lernende
2
Sprache
Deutsch
Kategorie
Chemie
Stufe
Grundschule
Erstellt / Aktualisiert
31.03.2018 / 31.03.2018

Lernkarten

Was heißt Bounded Context?

  • kein universelles Datenmodell zwischen Microservices
  • vertikale Aufteilung von Funktionen und Daten

Wie ist die Architektur von JEE?

  • Web Browser kommuniziert mit Web Container (HTTP)
  • Web Container besteht aus Servlet und Java Server Faces
  • Web Containter kommuniziert mit EJB Container
  • Java Application kommuniziert mit EJB Containter (RMI)

Was weißt du zu Enterprise Java Bean? Und welche Arten davon gibt es?

  • serverseitiges Komponentenmodell zur Realisierung der Geschäftslogik
  • realisieren
    • skalierbare
    • transaktionale
    • sichere
    • und wiederverwendbare Applikationen
  • Entity (Bean) - persistentes, fachliches Object
  • Session Bean
    • Stateless Session Bean
    • Stateful Session Bean
    • Singleton Session Bean
  • Message-driven Bean (asynchrone Kommunikation)

Wie ist das Packaging bei JEE?

  • Enterprise Archive (ear) - enthält .war .jar .rar
  • EJB-JAR (Enterprise Java Bean Archive, jar) - enthält EJBs
  • Web Application Archive (war) - Web-basierten Komponenten

Erzähl was über Session Beans. Wie lauten die Annotationen?

  • Session Bean implementiert Use Cases
  • musste bis Version 2.x eine Reihe von Interfaces implementieren
  • ab 3.0 durch POJO realisiert, Annotations werden verwendet

Entfernter Zugriff erfolgt mehr RMI (Remote Method Invocation).

Annotationen (Folie 28ff)

  • @Stateless für Stateless Bean
  • @Remote für das Interface welches Remote verwendet werden soll (die EJB implementiert dann das Interface)
  • @Local für das Interface welches Lokal verwendet werden soll
  • @EJB an eine Variable injiziert dann die lokale EJB in die Variable

Erzähle was über Stateless Session Beans.

Wie lauten die Zustände?

  • beliebige Zuweisung aus Pool
  • Instanzvariablen können, sollten aber besser nicht belegt werden
  • Geschäftslogik sollte in einem Methodenaufruf erledigt werden
  • Vorteile Pooling:
    • kleine Anzahl Beans kann theoretisch größere Anzahl von Clients bedienen
    • benötigen weniger Server Ressourcen
    • Hohe Skalierbarkeit
    • Auslastung des Application Server sinkt

 

Erzähle was über Stateful Session Beans.

Erkläre die Zustände.

  • haben einen Client bezogenen Zustand
  • wird nicht persistent gehalten
  • kein Pooling möglich

Erzähle was über Singleton Seassion Bean

Sowie über die Zustände

  • es existiert nur eine Session
  • Einsparung von Ressourcen
  • nicht thread-safe
  • Methoden zur Unterbindung nicht performant
  • gut für gleichzeitige Lesezugriffe mit wenigen Updates

Lösung (Folie 30)

  • synchronized -> inperformant
  • Alternativ `@ConcurrencyManagement?
  • Vorteil: Read-Lock und Write-Lock
  • Read-Lock beliebig viele, aber nicht wenn Write-Lock vorhanden
  • Write-Lock nur genau einmal

Was bedeuted ACID?

  • Atomicity; nicht zerlegbar; entweder ganz oder gar nicht
  • Consistency; eine Transaktion hinterlässt einen konsistenten Datenbankzustand
  • Isolation; nebenläufige Transaktionen beeinflussen sich nicht
  • Durability; Wirkung einer erfolgreichen Transaktion bleibt dauert in der DB erhalten

Was weißt du über Transaktionen?

Nenne auch die Transaktionsattribute

  • Problem: Aus einer Transaktion können weitere Methoden anderer Session Beans aufgerufen werden; Gültigkeitsbereich einer Transaktion?
  • Abhängig von Transaktionsattributen
    • REQUIRED (Default) - neue Transaktion in gleicher Transaktion
    • REQUIRES_NEW - neue Transaktion in eigener Transaktion
    • MANDATORY - neue Transaktion in eigener Transaktion; wenn keine Transaktion existiert -> FEHLER

Lernen