Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34."—  Präsentation transkript:

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


Herunterladen ppt "© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34."

Ähnliche Präsentationen


Google-Anzeigen