Java Enterprise Edition Flashcards

1
Q

Welche Beantypen gibt es bei JEE?

A

Stateless Session Bean
Stateful Session Bean
Message Driven Bean
Persistent Entities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was zeichnet eine Stateless Session Bean aus?

A

kapseln Geschäftslogik einer JEE-Anwendung in serviceorienterter Schnittstelle
beinhaltet beliebige Funktionen die Client aufrufen kann
Annotation: @Stateless
Objektinstanzen werden zwischen Aufrufern geteilt ==> kein Kontext, keine Objektattribute in Bean

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was zeichnet eine Statefull Session Bean aus?

A

jede Objektinstanz ist einem Clienten zugeordner ==> Kontext und Objektattribute möglich
Binden mehr Ressourcen als Stateless
nicht für Webservices geeignet
Annotation: @Statefull

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was zeichnet eine Message Driven Bean aus?

A

nimmt Nachrichten von Message Server entgegen
müssen “Message Listener-Interface” von JMS implementieren
Methode “onMessage()” wird aufgerufen wenn neue Nachricht aus Warteschlange abgerufen wurde

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was zeichnet Persistent Entities aus?

A

Datentransferklasse, deren Objekte einzelne Datensätze einer Datenbanktabelle darstellen (Beans aus Webprojekt)
Annotation: @Entity
Verhalten kann über weitere Annotationen genau gesteuert werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Aus welchen Containern besteht eine JEE-Anwendung?

A

Webcontainer

EJB-Container

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Teile einer JEE-Anwendung beinhaltet der Webcontainer?

A

Front-End, JSPs und Servlets

Benutzeroberfläche des Webbrowsers etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Teile einer JEE-Anwendung beinhaltet der EJB-Container?

A

Back-End
Alles was auf dem Applikationsserver läuft
Datenbankzugriffe etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nenne einige Einschränkungen bei der Entwicklung von Java Enterprise.

A

Alle statischen Variablen müssen “final” sein
es dürfen keine eigenen Threads gestartet werden
keine Verwendung von Swing o.Ä.
Zugriff auf Dateien und Verzeichnisse nur über Servermethoden
keine eigenen ServerSockets
kein Zugriff auf native Systembibliothek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie geht man bei der Entwicklung einer EJB vor?

A

Business Interface definieren, falls benötigt
Local Interface definieren, falls benötigt
Beanklasse der Implementierung ausprogrammieren
Deployment Descriptor schreiben, falls benötigt
Anwendung verpacken und auf den Server kopieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was definiert das Business Interface?

A

definiert entfernt aufrufbare Methoden

Annotation: @Remote

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was definiert das Local Interface?

A

definiert lokal aufrufbare Methoden

Annotation: @Local

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche Lebenszyklus-Annotationen kennen Sie?

A

@PostConstruct
@PrePassivate (bevor Bean aus Speicher verdrängt wird)
@PreDestroy (bevor Bean aufgeräumt wird)
@PostActivate (wird nach laden von passiver Bean in Speicher ausgeführt)
@Remove (zerrstört Bean nach Aufruf)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Annotationen bei EJBs als Webservice kennen Sie?

A

@WebService (über Klasse)
@WebMethode (über Methode)
@WebResult
@WebParam (in Klammer von Parametern einer Methode)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was unterscheidet einfaches von verteiltem Deployment?

A

Einfaches Deployment:
Alle EJBs, Hilfsklassen und Webdateien auf einem Applikationsserver

Verteiltes Deployment:
Trennung der Webanwendung von der Geschäftslogik in Webcontainer und Applikationsserver

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was unterscheidet einfaches von verteiltem Deployment?

A

Einfaches Deployment:
Alle EJBs, Hilfsklassen und Webdateien auf einem Applikationsserver

Verteiltes Deployment:
Trennung der Webanwendung von der Geschäftslogik in Webcontainer und Applikationsserver

17
Q

Was bezeichnet man als Dependency Injection?

A

Automatische Befüllung von Variablen
Annotationen der Variablen: @EJB oder @Resource
kein expliziter Zugriff auf Namensdienst nötig
automatischer JNDI-Lookup im Hintergrund

18
Q

Was unterscheidet einen Container von einer Softwarekomponente?

A

Container:
fertiges Programm ohne Funktion
wird durch Softwarekomponente erweitert
verwaltet die Komponenten, indem es bspw. Objekte erzeugt oder zerstört
bietet Komponenten verschiedene Services an

Softwarekomponente:
kapseln Funktionen zu Anwendung
Methoden vom Container vorgeschrieben
Aufruf der Methoden ebenfalls vom Container