HomeSeminareJavaEJB3

Enterprise Anwendungen mit Jakarta EE

Die ›Jakarta EE‹ unterstützt die Entwicklung von mehrschichtigen, transaktionalen und verteilten Unternehmensanwendungen. Zum Aufbau wiederverwendbarer serverseitiger Komponenten dienen die ›Enterprise Java Beans‹ (EJB). Ein Applikationsserver stellt dafür eine Ablaufumgebung bereit und übernimmt zentrale Dienste wie Transaktionsmanagement, Sicherheitskontrolle, Ressourcenverwaltung, Nebenläufigkeit, Timer-Dienste, Messaging und Integration mit Persistenzlösungen. Das Seminar stellt Enterprise Java Beans als Bestandteil des Jakarta-EE-Stacks vor und zeigt, wie Geschäftslogik mit Session Beans, Message Driven Beans, Transaktionen, Security und JPA umgesetzt wird. Die Teilnehmer entwickeln komponentenbasierte Anwendungen, binden Datenbanken über ›Jakarta Persistence‹ ein, nutzen CDI und Ressourceninjektion und lernen Deployment, Testing und Best Practices für wartbare Enterprise-Anwendungen kennen.
[LOGO]
[decoration]

Inhalte des Seminars

Einführung in Enterprise Java Beans

  • Komponentenorientierung und mehrschichtige Architekturen
  • Jakarta EE und EJB-Container
  • Aufgaben von Enterprise Java Beans im Jakarta-EE-Stack
  • Bean-Typen und ihre Einsatzgebiete
  • Session Beans und Message Driven Beans
  • Jakarta Persistence Spezifikation und Provider
  • Konfiguration durch Annotationen und Deployment Deskriptoren
  • Applikationsserver wie WildFly, Payara oder JBoss EAP
  • Namensdienst über ›Java Naming and Directory Interface‹ (JNDI)
  • Deployment und Paketierung von Enterprise-Anwendungen

Session Beans

  • Stateless Session Bean, @Stateless
  • Stateful Session Bean, @Stateful
  • Singleton Session Bean, @Singleton
  • Lokale und entfernte Business-Interfaces, @Local und @Remote
  • Optionale Business-Interfaces
  • Remote Clients
  • Asynchrone Methoden
  • Kalenderbasierte Timer
  • Nebenläufigkeit und Zugriffsschutz bei Singleton Beans

Messaging mit Message Driven Beans

  • Jakarta Messaging
  • Queue, Topic, Publish, Subscribe
  • Definition einer Message Driven Bean, @MessageDriven
  • Topic- und Queue-basierte Kommunikation
  • @ActivationConfigProperty
  • Client-Seite mit Jakarta Messaging
  • Transaktionales Messaging
  • Fehlerbehandlung und Wiederzustellung

Injektion, CDI und Callbacks

  • Das Prinzip ›Inversion of Control‹ (IoC) und ›Dependency Injection‹
  • Contexts and Dependency Injection (CDI)
  • EJB-Verweise, @EJB
  • Ressourceninjektion, @Resource
  • DataSource und weitere Serverressourcen
  • SessionContext und Zugriff auf Containerdienste
  • Lebenszyklus der Beans
  • Callback-Methoden
  • Interceptors, @Interceptor, InvocationContext
  • Timer, @Timeout

Datenbankanbindung mit Jakarta Persistence

  • Test-Datenbank
  • Modellierung von Entitäten als einfache Java-Klassen
  • Persistence Unit, META-INF/persistence.xml
  • Entity Manager API
  • Die Typen Persistence, EntityManagerFactory und EntityManager
  • Suchen von Entities, find, getReference
  • Direkte Objekte und Proxys
  • persist, 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

  • Physisches Mapping mit Tabellen und Spalten
  • @Table und @Column, @Lob, @Temporal, @Enumerated
  • Logisches Mapping
  • Komponenten und eingebettete Objekte
  • Named Queries
  • Assoziationen, 1:1, 1:n, n:m
  • Vererbung
  • CascadeType und FetchType
  • Optimistic Locking
  • Jakarta Persistence Query Language (JPQL)
  • Criteria API
  • SELECT, FROM, Einschränkungen durch WHERE
  • Gruppierungen durch GROUP BY, HAVING
  • Joins und Fetch Joins

Entity Listener

  • Entity Listener und Callback-Methoden
  • @PrePersist, @PostPersist, @PreUpdate, @PostLoad
  • @EntityListeners

Transaktionen und Sicherheit

  • ACID-Prinzip
  • ›Jakarta Transactions‹ (JTA)
  • Container Managed Transactions
  • Bean Managed Transactions
  • Transaktionsattribute, @TransactionAttribute
  • Rollback-Verhalten und Exception Handling
  • Deklarative Sicherheit
  • Benutzer und Rollen
  • Jakarta Security
  • Rollenbasierte Zugriffskontrolle
  • Programmierte Sicherheit

REST, Integration und Services

  • RESTful Webservices mit Jakarta RESTful Web Services
  • Ressourcenklassen und HTTP-Methoden
  • JSON Binding und JSON Processing
  • Client APIs
  • Integration externer Dienste
  • SOAP-Webservices als Legacy-Integration
  • Schnittstellen zwischen EJB, CDI, JPA und REST

Testing, Deployment und Betrieb

  • Lokale Entwicklung mit Applikationsservern
  • Deployment auf WildFly, Payara oder JBoss EAP
  • Konfiguration von Datenquellen
  • Logging und Fehlersuche
  • Integrationstests
  • Testcontainers und containernahe Tests
  • Packaging als WAR oder EAR
  • Grundlagen für Containerisierung mit Docker

Pattern, Best Practices und Architektur

  • Fundamentale Jakarta-EE-Pattern
  • Session Beans als Fassaden
  • Trennung von Geschäftslogik, Persistenz und Schnittstellen
  • Domain Driven Design
  • DTOs und Projektionen
  • Transaktionsgrenzen sinnvoll schneiden
  • Best Practices für wartbare Enterprise-Anwendungen
  • Weitere Bestandteile des Jakarta-EE-Stacks
  • Alternativen und Ergänzungen wie Spring Framework und MicroProfile

Die Fakten

  • Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
  • Gesamtumfang: 24 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Softwareentwickler
  • Vorkenntnisse: Robuste Java-Kenntnisse.
  • Schulungsunterlagen: Umfassende Seminarunterlagen und Referenzdokumentation
  • Softwareumgebung: Java 25 ist die verwendete LTS Standardversion. Als Entwicklungsumgebung dient standardmäßig IntelliJ IDEA. Alternativ können auch die Eclipse IDE oder Visual Studio Code verwendet werden. Als Applikationsserver kommen standardmäßig WildFly oder Payara zum Einsatz. Die Inhalte sind grundsätzlich kompatibel zu Jakarta-EE-konformen Servern. Als Entwicklungsumgebung wird typischerweise IntelliJ IDEA oder Eclipse IDE for Enterprise Java Developers verwendet.

Termine / Kontakt

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).

Weiterführende Seminare

JBoss 6 Administration und Konfiguration, Jakarta Server Pages (JSP) und Servlets, Jakarta Faces, Spring-Framework, Refactoring, Design Pattern (Entwurfsmuster) in Java, Effektiv Java programmieren, Java Enterprise Architektur und Design Patterns

Verweise

Was Teilnehmer sagen