Enterprise JavaBeans (EJB) 3 und Persistence API
Empfohlene Schulungsdauer: 3 Tage, insgesamt 18 Zeitstunden
Kursziele
Die ›Java Platform, Enterprise Edition (Java EE)‹ von Sun Microsystems unterstützt die Entwicklung von mehrschichtigen, verteilten Anwendungen. Zum Aufbau wieder verwendbarer, verteilter Komponenten dienen die ›Enterprise JavaBeans‹ (EJB). Ein Applikationsserver stellt dabei eine Ablaufumgebung für EJBs bereit und übernimmt Transaktionsmanagement, Sicherheitskontrolle, Verzeichnisdienst, Persistierung und weitere Dienste. Mit den neuen vereinfachten Enterprise JavaBeans der Version 3 (JSR 220) stehen einfache ›Plain Old Java Objects‹ (POJO) wieder in den Mittelpunkt und werden mit Annotationen aus Java 5 zu wiederverwendbaren Komponenten für den Enterprise Application-Server gemacht. Im ersten Teil des EJB 3-Seminars bilden die Teilnehmer die Geschäftslogik mit zustandslosen und zustandsbehafteten Session Beans, Web-Services und Message Driven Beans ab. Im zweiten Teil der EJB-Weiterbildung werden mit der ›Java Persistence API‹ (JPA) Entity Beans modelliert und mit dem Entity-Manager CRUD-Operationen (Anlegen/Lesen/ Aktualisieren/Löschen) durchgeführt. Zudem gibt es aus dem Entwickleralltag effektive Deployment-Strategien, grundlegende Java EE-Entwurfsmuster und Best-Practices zur Pflege großer geschäftskritischer Java-Anwendungen und Tipps zum Aufbau von serviceorientierten Architekturen (SOA).
Zielgruppe
Software-EntwicklerVoraussetzungen
Kenntnisse aus ›Neuerungen in Java 5‹. Vorwissen im Bereich Java EE 1.4 ist nützlich, aber nicht erforderlich.Seminarinhalte
![[LOGO]](../../images/seminare/logos/java.png)
- Einführung in EJB 3 und den Java EE Applikationsserver
- Komponentenorientierung, mehrschichtige Architekturen
- Java EE und EJB-Container
- Bean-Typen und ihre Aufgaben
- Änderungen von EJB 2 zu EJB 3 und von J2EE 1.4 zu Java EE 5
- Java Persistence Spezifikation und Provider
- Konfiguration durch Annotationen und externe Deployment Deskriptoren
- Migration und Interoperabilität vom EJB 2.0-Anwendungen
- Applikationsserver JBoss, Installation, JBoss Installer
- Namensdienst von JBoss, ›Java Naming and Directory Interface‹ (JNDI)
- Deloyment in JBoss - Session Beans
- Stateless Session Bean,@Stateless
- EJB-Name im JNDI
- Lokale und entfernte Beans,@Localund@Remote
- Remote Client
- Stateful Session Bean,@Stateful - Web-Services
- Web-Services, SOAP, WSDL, UDDI
- EJB-Tier Endpoint
- Web Services,@WebService,@WebMethod
- JAXB 2
- Web Services und Interaktionsschichten - Message Driven Beans
- Java Message Service (JMS)
- Queue, Topic, Publish, Subscribe
- Definition einer MDB,@MessageDriven
- Topic- oder Queue-basierte JMS,@ActivationConfigProperty
- Client-Seite mit JMS - Injizierung und Callbacks
- Das Prinzip ›Inversion of Control‹ (IoC) und ›Dependency Injection‹
- EJB-Verweise,@EJB
- Session-Context
- Lebenszyklus der Beans
- Aktivierung, Passivierung
-Interceptor,InvocationContext
-Timer,@Timeout
-DataSourceund Ressourcen spritzen,@Resource
- Datenbankanbindung mit JPA und Entity Beans
- Test-Datenbank
- Modellierung eines Kunden als EJB 3 Entity Bean (einfaches POJO)
- Persistence Unit,META-INF/persistence.xml
- Entity Manager API
- Die Typen Persistence,EntityManagerFactoryundEntityManger
- Suchen von Entities,find(),getReference()
- Direkte Beans und Proxies
-merge(),remove(),flush(),refresh()
- FlushMode
- Autogenerierte Schlüssel,@Idmit@GeneratedValue
- In-Container- und Out-of-Container-Persistence
-META-INF/persistence.xmlmitDataSource - Forgeschrittene Mapping-Technologien
- Physikalisches Mapping (Tabellenname, Spalteneigenschaften)
-@Tableund@Column,@Lobund@Temporal,@Enumeration
- Logisches Mapping
- Komponenten, eingebette Objekte
- Named Queries
- Assoziationen, 1:1, 1:n, n:m
- Vererbung
- CascadeType und FetchType
- Java Persistence Query Language (JPA-QL/JPQL), ehemals EJB-QL
-SELECT,FROM, Einschränkungen durchWHERE
- Gruppierungen durchGROUPBY,HAVING
- Kartesisches Produkt und Joins - Entity Listener
- Entity-Listeners und Callback-Methoden
-@PostLoad,@EntityListeners - Transaktionen und Sicherheit
- ACID-Prinzip
- ›Java Transaction API‹ (JTA)
- Deklarative Sicherheitseinstellungen
- Transaktionsattribute,@TransactionAttribute
- Benutzer und Rollen
- ›Java Authentication and Authorization Service‹ (JAAS)
- Login-Module von JBoss
- Security-Domains
- Annotationen für SecurityDomain, Rechte
- Client
- Programmierte Sicherheit - Pattern, Best-Pracises und EJB Best Practices
- Fundamentale Java EE-Pattern
- Session Beans als Fassaden
- Transferobjekte/Value Object
- Domain Driven Design
- Weitere Bestandteile des Java EE 5 Stack
- Alternativen zu Java EE: Spring Framework
- Ausblick auf EJB 3.1 und Java EE 6
Seminarunterlagen
Deutschsprachige Unterlagen (Kopien der Folien mit Inhaltsverzeichnis und Index), Zertifikat.
Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.5 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen (IntelliJ IDEA, Oracle JDeveloper). Der Java EE-Applikationserver für EJB 3 ist standardmäßig JBoss 5. Die Inhalte sind aber grundsätzlich containerunabhängig und die Anwendungen können auf den unterschiedlichen Java EE 5-Applikationsservern, wie IBM WebSphere, Oracle Application Server, BEA WebLogic oder GlassFish laufen. Als Entwicklungsumgebung wird standardmäßig die ›Eclipse IDE for Java EE Developers‹ eingesetzt.
Schlagwörter
Unternehmen
- JBoss
- Red Hat
tutego™ bietet Ihnen viele weitere Schulungen. Unsere Kategorien: Java, .NET (C#, VB.NET, ASP.NET, ...), Programmiersprachen (iPhone, PHP, ...), Softwaredesign (UML, Pattern, ...), XML (XSLT, Schema), SAP (ABAP, ...), Server Administration (SVN, Apache, ...), Datenbanken (Oracle, MySQL, ...), Web-Programmierung (JavaScript, jQuery, Flex), Microsoft Office, AutoCAD, Sage KHK, Lotus Notes/Domino.
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)