Enterprise JavaBeans (EJB 2.1) mit XDoclet
Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
Kursziele
Die ›Java 2 Platform Enterprise Edition‹ von Oracle 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. Der Kurs vermittelt, wie EJB 2.1-Komponenten unter Verwendung des offenen Applikations-Servers JBoss erstellt werden. Ausführlich lernen die Teilnehmer die drei Bean-Typen des Standards kennen: Statusbehaftete und statuslose Session-Beans, Message-Driven-Beans und Entity-Beans. In praktischen Übungen modellieren sie Geschäftslogiken in Session-Beans, speichern Geschäftsdaten in Entity-Beans und verarbeiten asynchrone Nachrichten über Message-Driven-Beans. Zudem gibt es aus dem Entwickleralltag effektive Deployment-Strategien, grundlegende J2EE-Entwurfsmuster und Best Practices für Aufbau und Pflege großer geschäftskritischer Java-Anwendungen. Die Inhalte bauen auf den EJB 2.1-Standard auf, der Teil der J2EE 1.4-Spezifikation ist.
Zielgruppe
Software-EntwicklerKursvoraussetzungen
Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse sowie Grundlagen der ›Java Enterprise Edition‹ (Java EE).Seminarinhalte
![[LOGO]](../../images/seminare/logos/java.png)
Einführung in ›Enterprise JavaBeans‹
- Komponentenorientierung und mehrschichtige Architekturen
- J2EE 1.4 Container, Bestandteile eines Applikationsservers, EJB-Container
- Rollen
Applikationsserver JBoss
- JBoss Lizenzmodell
- Bezug und Installation
- Verwaltung mit MBeans
Bean-Typen
- Session Beans, Entity Beans, Message Driven Beans
- Bestandteile einer Bean-Beschreibung (Deployment Deskriptor)
- Component- und Home-Interface
Die erste Session Bean mit XDoclet und Client
- Installation und Einrichtung der Entwicklungsumgebung
- Ein EJB-Projekt aufbauen
- Erste Session Bean,@ejb.bean
- Deklarationsorientierte Programmierung
- XDoclet und erzeugte Dateien, Packaging
- Deployment in JBoss
- Der erste Client, Ausblick auf Service-Locator-Pattern
XDoclet und der Deployment-Deskriptor
- XDoclet-Tags und -Namensräume
- Ant und XDoclet-Tasks (<ejbdoclet>)
- Dateienbuild.xmlundxdoclet.xml
- Subtasks:<session/>,<remoteinterface/>, ...
- MDA (Model Driven Architecture)
- Blick auf den Deployment-Deskriptor
Session Beans
-create()undejbCreate()
- Lebenszyklus Stateless Session Bean
- DerEJBContext
- Die SchnittstelleEnterpriseBean
- Methoden der Home-Schnittstelle, die SchnittstelleEJBHome
- Methoden der Remote-Schnittstelle, die SchnittstelleEJBObject
- Remote- und Home-Handle
- Lebenszyklus Stateful Session Bean (Aktivierung, Passivierung)
- Wann Stateless- und Stateful Session Beans?
- J2EE-Pattern Business Interface.remote-business-interface
- Neue Datenquellen eintragen.@ejb.resource-ref,@jboss.resource-ref
Lokale EJBs
- Derview-typein XDoclet und generierte Dateien![[PDF]](../../images/pdfSmall.png)
-EJBLocalObjectundEJBLocalHome
-jndi-nameundlocal-jndi-name
- Ortstransparenz, Semantik bei Übergabe und Rückgabe
- Kriterien für lokale und entfernte EJBs
- Zusammenhang: Remote-Zugriffe über RMI und entfernte EJBs
- Parameterübergabe bei RMI-Aufrufen, Remote-Ausnahmen
- Einsatzgebiet RMI-IIOP für CORBA
Entity Beans
- Lebenszkylus einer Entity Bean
- Schlüssel
- Persistente Attribute
-ejbCreate(), Löschen,ejbPostCreate()
- ›Container Managed Persistence‹ (CMP)
- ›Bean Managed Persistence‹ (BMP)
- Eigene Schlüsselklassen
- Relationen 1:1, 1:n, n:m zwischen Entity-Beans
- Relationen mit ›Container Managed Relations‹ (CMR) umsetzen
- Transfer Object ›Data Transfer Object‹ (DTO) und ›Service Data Objects‹ (SDOs)
- J2EE Pattern Session Fassade
Die Anfragesprache EJB Query Language
- Aufgaben der ›Enterprise JavaBeans Query Language‹ (EJB QL)
- Finder- und Select-Methoden
- Parametrisierte Anfragemethoden
›Bean Managed Persistence‹ (BMP)
- BMP versus CMP
- Datenbankanbindung mit JDBC
- BMP programmieren, Lebenszyklus
Message Driven Beans
- Java Message Service (JMS)
- Modelle Point-to-Point (Nachrichtenwarteschlangen) und Publish-Subscribe (Anmelde-Versendesystem)
- Schnittstellen und Listener
- Lebenszyklus einer MDB
Die Timer-API
- Der Timer-Dienst eines Applikationsservers
-TimedObject
- Verhalten vonejbTimeout()auf den unterschiedlichen EJBs
-TimerService
- Timer-Typen und Ausfallschutz
- Die SchnittstelleTimerund Zusatzinfos
-TimerHandle
Transaktionen und Sicherheit
- ACID-Prinzip
- ›Java Transaction API‹ (JTA)
- Deklarative Transaktionseinstellungen
- TransaktionsattributeNotSupported,Required,Supports,RequiresNew,Mandatory,Never
-SessionSynchronization
- Isolationsgrade
- Sicherheitsarchitektur
- Deklarative Sicherheitseinstellungen
Ausblick auf Java EE 5/6 und EJB 3, Alternativen
- Änderungen beim Java EE-Standard
- Der EJB 3-Standard
- Müssen es immer EJBs sein? (Persistenz-Alternative Hibernate), JPA
- IoC-Container, Dependency-Injection, Spring-Framework
Schulungsunterlagen
Deutschsprachige Unterlagen (Kopien der Folien), Zertifikat.
Eingesetzte Seminar-Software
Als Laufzeitumgebung wird standardmäßig Java SE 7 von Oracle zusammen mit der Entwicklungsumgebung Eclipse 4.2 bzw. Eclipse 3.7.2 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 7 oder andere Entwicklungsumgebungen (IntelliJ IDEA, Oracle JDeveloper). Der EJB-Applikationserver ist standardmäßig JBoss 7.1. Die Inhalte sind aber grundsätzlich containerunabhängig und die Anwendungen können auf den unterschiedlichen 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.
Unternehmen
Weiterführende Seminare
IBM WebSphere Application Server V8.5 Administration, Neuerungen in Java 5, Java und XML, JavaServer Pages (JSP) und Servlets, JavaServer Faces (JSF), Apache Struts, Java EE 6, EJB und JPA, Spring-Framework, OR-Mapping mit Hibernate und JPA, Nebenläufige Programmierung mit Threads, Oracle Certified Professional Java Programmer (OCPJP), Refactoring, Design Pattern (Entwurfsmuster) in Java, Effektiv Java programmieren