Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Heinz Lichtenberg Geändert vor über 8 Jahren
1
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34
2
© 2012 TravelTainment Agenda Motivation Java Enterprise Edition Enterprise JavaBeans SessionBeans Lifecycle Callbacks Business Interfaces Beispiel Verwendung der EJBs MessageDrivenBeans Fazit Folie 2 von 34
3
© 2012 TravelTainment Motivation Folie 3 von 34
4
© 2012 TravelTainment Motivation Folie 4 von 34
5
© 2012 TravelTainment Enterprise Edition Folie 5 von 34
6
© 2012 TravelTainment Enterprise Edition Erste Version 1999 als J2EE veröffentlicht Erweiterung der Standard Edition Sammlung von Standardimplementierungen Entwickler sollen sich ganz auf die eigentliche Problemstellung konzentrieren Austauschbarkeit und Wiederverwendbarkeit Folie 6 von 34
7
© 2012 TravelTainment Enterprise Edition keine einfache Bibliothek Spezifikation Funktionalität Schnittstelle Aktuelle Version Java EE 6 (2009) Folie 7 von 34
8
© 2012 TravelTainment Enterprise Edition Implementierung durch Application Server Laufzeitumgebung Container Web-Container EJB-Container (Business-Container) Hersteller Oracle Glassfish (Referenzimplementierung) JBoss Application Server IBM WebSphere Standalone-Module (z.B. Java Persistence API) Folie 8 von 34
9
© 2012 TravelTainment Enterprise Edition Folie 9 von 34
10
© 2012 TravelTainment Enterprise JavaBeans Folie 10 von 34
11
© 2012 TravelTainment Enterprise JavaBeans Abkürzung „EJB“ Werden im EJB-Container ausgeführt Einfache Java-Klassen Plain Old Java Objects (POJOs) Standardkonstruktor ist Pflicht „Convention over Configuration“ Konfiguration bei Abweichung Annotationen Deployment-Deskriptoren Folie 11 von 34
12
© 2012 TravelTainment SessionBeans Folie 12 von 34
13
© 2012 TravelTainment Stateless SessionBeans Keinen Zustand bzw. Identität Alle Beans identisch Pool aus EJBs im Application Server konfigurierbar Lastverteilung und Skalierung @Stateless Beispielanwendung: Suchmechanismus Folie 13 von 34
14
© 2012 TravelTainment Stateful SessionBeans Identität assoziiert mit Client Client bekommt „sein“ Bean Kein Pool Hoher Ressourcenverbrauch Ein- und Auslagerung Serializable-Interface @Stateful Beispielanwendung: Warenkorb Folie 14 von 34
15
© 2012 TravelTainment Singleton SessionBean Design Pattern nur ein Objekt pro Anwendung Nur ein EJB pro Anwendung Alle Clients kommunizieren mit diesem Objekt Flaschenhals Existiert die komplette Anwendung über @Singleton Beispielanwendung: Cache Folie 15 von 34
16
© 2012 TravelTainment Lifecycle Callbacks Folie 16 von 34
17
© 2012 TravelTainment Lifecycle-Callbacks StatelessStatefulSingleton @PostConstructxxx @PreDestroyxxx @PostActivatex @PrePassivatex @Removex @Startupxxx Beliebiger Zugriffsmodifizierer Rückgabetyp: void Keine Parameter Folie 17 von 34
18
© 2012 TravelTainment Business Interfaces Folie 18 von 34
19
© 2012 TravelTainment Business Interfaces Java-Interface mit den Geschäftsmethoden @Remote Zugriff aus anderer JVM Parameter und Rückgabewerte werden serialisiert @Local Zugriff nur aus gleicher JVM Referenzübergabe @LocalBean Zugriff nur aus gleicher JVM No-Interface View Folie 19 von 34
20
© 2012 TravelTainment Beispiel Folie 20 von 34
21
© 2012 TravelTainment Beispiel Folie 21 von 34
22
© 2012 TravelTainment Beispiel Folie 22 von 34
23
© 2012 TravelTainment Verwendung der EJBs Folie 23 von 34
24
© 2012 TravelTainment Verwendung der EJBs Java Naming and Directory Interface (JNDI) Für lokalen und entfernten Zugriff Dependency Injection (DI) Nur lokaler Zugriff Folie 24 von 34
25
© 2012 TravelTainment Java Naming and Directory Interface Dienst im Application Server Eine Art DNS-Server für Objekte www.traveltainment.de? 80.87.174.174 DNS-ServerClient Folie 25 von 34
26
© 2012 TravelTainment Java Naming and Directory Interface Dienst im Application Server Eine Art DNS-Server für Objekte JNDIKomponente Objekt mit dem Namen xyz? Objektreferenz Folie 26 von 34
27
© 2012 TravelTainment Dependency Injection @EJB Instanzvariable Setter Container injiziert passende Referenz „Inversion of Control“ Hollywood-Prinzip: „Don‘t call us, we‘ll call you!“ Folie 27 von 34
28
© 2012 TravelTainment MessageDrivenBeans Folie 28 von 34
29
© 2012 TravelTainment MessageDrivenBeans Asynchrone Nachrichtenverarbeitung Java Message Service (JMS) Kommunikationsarten Point-To-Point (Queue) Public-Subscribe (Topic) MessageListener-Interface onMessage-Methode Folie 29 von 34
30
© 2012 TravelTainment Fazit Folie 30 von 34
31
© 2012 TravelTainment Fazit Enterprise Edition und Application Server erleichtern die Entwicklung deutlich EJBs einfach zu verwenden Minimum an Konfiguration Komplexe Anwendungen lassen sich schnell entwickeln Folie 31 von 34
32
© 2012 TravelTainment Fazit Ressourcenverbrauch im Auge behalten Standardimplementierungen meist langsamer als native Implementierung Ungeeignet für hochperformante Systeme Folie 32 von 34
33
© 2012 TravelTainment Fragen? Folie 33 von 34
34
© 2012 TravelTainment Vielen Dank! Folie 34 von 34
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.