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-Entwickler

Kursvoraussetzungen

Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse sowie Grundlagen der ›Java Enterprise Edition‹ (Java EE).

Seminarinhalte

[LOGO]
  • 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>)
    - Dateien build.xml und xdoclet.xml
    - Subtasks: <session/>, <remoteinterface/>, ...
    - MDA (Model Driven Architecture)
    - Blick auf den Deployment-Deskriptor
  • Session Beans

    - create() und ejbCreate()
    - Lebenszyklus Stateless Session Bean
    - Der EJBContext
    - Die Schnittstelle EnterpriseBean
    - Methoden der Home-Schnittstelle, die Schnittstelle EJBHome
    - Methoden der Remote-Schnittstelle, die Schnittstelle EJBObject
    - 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

    - Der view-type in XDoclet und generierte Dateien [PDF]
    - EJBLocalObject und EJBLocalHome
    - jndi-name und local-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 von ejbTimeout() auf den unterschiedlichen EJBs
    - TimerService
    - Timer-Typen und Ausfallschutz
    - Die Schnittstelle Timer und Zusatzinfos
    - TimerHandle
  • Transaktionen und Sicherheit

    - ACID-Prinzip
    - ›Java Transaction API‹ (JTA)
    - Deklarative Transaktionseinstellungen
    - Transaktionsattribute NotSupported, 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.

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

5
142