Java Enterprise Edition Flashcards
Welche Beantypen gibt es bei JEE?
Stateless Session Bean
Stateful Session Bean
Message Driven Bean
Persistent Entities
Was zeichnet eine Stateless Session Bean aus?
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
Was zeichnet eine Statefull Session Bean aus?
jede Objektinstanz ist einem Clienten zugeordner ==> Kontext und Objektattribute möglich
Binden mehr Ressourcen als Stateless
nicht für Webservices geeignet
Annotation: @Statefull
Was zeichnet eine Message Driven Bean aus?
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
Was zeichnet Persistent Entities aus?
Datentransferklasse, deren Objekte einzelne Datensätze einer Datenbanktabelle darstellen (Beans aus Webprojekt)
Annotation: @Entity
Verhalten kann über weitere Annotationen genau gesteuert werden
Aus welchen Containern besteht eine JEE-Anwendung?
Webcontainer
EJB-Container
Welche Teile einer JEE-Anwendung beinhaltet der Webcontainer?
Front-End, JSPs und Servlets
Benutzeroberfläche des Webbrowsers etc.
Welche Teile einer JEE-Anwendung beinhaltet der EJB-Container?
Back-End
Alles was auf dem Applikationsserver läuft
Datenbankzugriffe etc.
Nenne einige Einschränkungen bei der Entwicklung von Java Enterprise.
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
Wie geht man bei der Entwicklung einer EJB vor?
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
Was definiert das Business Interface?
definiert entfernt aufrufbare Methoden
Annotation: @Remote
Was definiert das Local Interface?
definiert lokal aufrufbare Methoden
Annotation: @Local
Welche Lebenszyklus-Annotationen kennen Sie?
@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)
Welche Annotationen bei EJBs als Webservice kennen Sie?
@WebService (über Klasse)
@WebMethode (über Methode)
@WebResult
@WebParam (in Klammer von Parametern einer Methode)
Was unterscheidet einfaches von verteiltem Deployment?
Einfaches Deployment:
Alle EJBs, Hilfsklassen und Webdateien auf einem Applikationsserver
Verteiltes Deployment:
Trennung der Webanwendung von der Geschäftslogik in Webcontainer und Applikationsserver