20 Jahre Erfahrung FreeCall 0800 tutegos

EJB und JPA

[LOGO]

Die ›Java Platform, Enterprise Edition (Java EE)‹ 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 ab Version 3 stehen einfache ›Plain Old Java Objects‹ (POJO) wieder in den Mittelpunkt und werden mit Annotationen 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).

Inhalte des Seminars

Einführung in EJB

  • 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
  • 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
  • Profile, EJB Lite/Java EE Web Profile, EJB 3 Embeddable Container
  • Vereinfachte Paketierung

Session Beans

  • Stateless Session Bean, @Stateless
  • EJB-Name im JNDI, globale JNDI-Namen
  • Lokale und entfernte Beans, @Local und @Remote
  • Remote Client
  • Stateful Session Bean, @Stateful
  • Optionale Session Bean Business-Interfaces
  • Singleton, Asynchrone Session Beans
  • Kalender-basierter Timer

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
  • DataSource und 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, EntityManagerFactory und EntityManager
  • Suchen von Entities, find, getReference
  • Direkte Beans und Proxies
  • merge, remove, flush, refresh
  • FlushMode
  • Autogenerierte Schlüssel, @Id mit @GeneratedValue
  • In-Container- und Out-of-Container-Persistence
  • META-INF/persistence.xml mit DataSource

Fortgeschrittene Mapping-Technologien

  • Physikalisches Mapping (Tabellenname, Spalteneigenschaften)
  • @Table und @Column, @Lob und @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 durch WHERE
  • Gruppierungen durch GROUPBY, 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 Practices und EJB Best Practices

  • Fundamentale Java EE-Pattern
  • Session Beans als Fassaden
  • Transferobjekte/Value Object
  • Domain Driven Design
  • Weitere Bestandteile des Java EE Stack
  • Alternativen zu Java EE: Spring Framework

Neuerungen aus Java EE 7

  • CDI 1.1
  • EJB 3.2
  • JPA 2.1
  • Concurrency Utilities for Java EE 1.0
  • Batch Applications for the Java Platform 1.0
  • Weiters aus Java EE 7

Termine / Kontakt

Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.

Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.

Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).

Die Fakten

  • Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Software-Entwickler
  • Vorkenntnisse: Kenntnisse aus ›<<<JAVA5>>>‹. Vorwissen im Bereich Java EE 1.4 ist nicht erforderlich.
  • Schulungsunterlagen: Deutschsprachige Unterlagen (Kopien der Folien mit Inhaltsverzeichnis und Index), Zertifikat
  • Seminar-Software: Java 21 ist die Standardversion, die in Verbindung mit der IntelliJ IDEA (Community-Edition) verwendet wird. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹) oder andere Entwicklungsumgebungen (NetBeans, Oracle JDeveloper) und JDK 8. Der Java EE-Applikationserver für EJB 3.2 und JPA 2.2 ist standardmäßig WildFly 29.0 (bzw. JBoss EAP 7.4). Die Inhalte sind aber grundsätzlich containerunabhängig und die Anwendungen können auf den unterschiedlichen Java EE-Applikationsservern, wie IBM WebSphere, Oracle Application Server, BEA WebLogic oder GlassFish/Payara Server laufen. Als Entwicklungsumgebung wird standardmäßig die ›Eclipse IDE for Enterprise Java Developers‹ eingesetzt.

Weiterführende Seminare

JBoss 6 Administration und Konfiguration, JavaServer Pages (JSP) und Servlets, JavaServer Faces 2, Web 2.0-Applikationen mit JBoss Seam, Spring-Framework, Refactoring, Design Pattern (Entwurfsmuster) in Java, Effektiv Java programmieren, Java EE Architektur und Design Patterns

Einige Kunden
Kassenärztliche Bundesvereinigung (KBV), infas TTR, Euroimmun, LogicaCMG, T-Systems, Offis, 1&1 Internet AG, der heisse draht (dhd24), ivv GmbH, Wincor Nixdorf, …
Verweise

Alle Kategorien

Was Teilnehmer sagen