Jakarta EE 9 - Backendentwicklung mit EJB und JPA
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 3 Tage
Ziele
Sie erhalten Know-How für Techniken der serverseitigen Java Softwareentwicklung. Speziell die Techniken im Backend haben sich innerhalb der Java/Jakrta EE Versionen stark geändert. Während die früheren EJBs 2.x noch als schwergewichtig und überladen kritisiert wurden, hielt ab EJB 3.0 ein komplett neu designtes Modell Einzug, in dem die EJBs sehr leichtgewichtige Objekte geworden sind, welche in den folgenden Releases noch verfeinert wurden, z.B. kann man man jetzt Session Beans auch asynchron aufrufen. Mit sehr wenig Overhead kann man die umfangreichen Services wie Pooling, Transaktionalität und Absicherung erhalten. XML-Konfigurationsdateien werden nur noch an wenigen Stellen benötigt.
Für das Zusammenspiel mit relationalen Datenbanken innerhalb der EE ist JPA zuständig, hier werden speziell auch die Punkte behandelt, die neu dazugekommen sind, beispielsweise die Attribute Converter, mit denen man etwa die Date/Time Klassen aus Java 9 in Entities verwenden kann. JPA kann zwar auch unabhängig von EJB verwendet werden, doch im Zusammenspiel erhält man Erleichterungen wie automatische Transaktionen bei den Methoden der EJBs.
Somit kennen die Teilnehmer nach dem Kurs die eleganten und leistungsfähigen Möglichkeiten, das Backend einer Jakarta EE 9 - Anwendung zu gestalten. Als Server wird Wildfly eingesetzt, per Vereinbarung sind auch andere möglich.
Zielgruppe
Softwareentwickler mit Java Kenntnissen
Voraussetzungen
- Routinierte Java 8 Kenntnisse
- Grundkenntnisse SQL und Client-Server-Entwicklung
Agenda
Einführung
- Entwicklung der Mehrschichtenarchitektur
- Historie der Java Enterprise Edition - von J2EE zur Java EE
- Einordnung im Vergleich zum Spring Framework
- Marktübersicht Application Server
Session Beans
- Zustandslose Session Beans als Hauptkomponente
- Deploymentoptionen
- Interceptoren für aspektorientierte Konzepte
- Zustandsbehaftete Session Beans
- Singleton Beans
- Remote und Web Clients
- Das reduzierte Webprofil der Java EE
Entities
- ORM: Von Entity Beans zu Entities
- Persistente Objekte
- Die Beziehungen zwischen Entities
- Nicht alles ist eine Entity: Einbettung
- Mehr Flexibilität durch Value Converter
- Eigene Klassen für den Primary Key
Weitere JPA Features
- Abbildung von Collections
- Problematik Lazy Loading
- Entity Graph
- Die umfangreiche Query Language
- Locking Strategien
- Transaktionen
- Injektionsmöglichkeiten mit CDI
Asynchronität
- Message Driven Beans und JMS
- Client Standalone oder Session Bean
- TimerService
- Scheduling
Sicherheit
- Konfiguration
- Absicherung auf Web Ebene
- Absicherung auf EJB Ebene
Web Services
- Bestandteile der klassischen Art: SOAP, WSDL
- JAX-WS
- Generierter Client
- REST Services
- Datenformat XML mit JAXB
- Datenformat JSON mit JSON-P und JSON-B
Ziele
Sie erhalten Know-How für Techniken der serverseitigen Java Softwareentwicklung. Speziell die Techniken im Backend haben sich innerhalb der Java/Jakrta EE Versionen stark geändert. Während die früheren EJBs 2.x noch als schwergewichtig und überladen kritisiert wurden, hielt ab EJB 3.0 ein komplett neu designtes Modell Einzug, in dem die EJBs sehr leichtgewichtige Objekte geworden sind, welche in den folgenden Releases noch verfeinert wurden, z.B. kann man man jetzt Session Beans auch asynchron aufrufen. Mit sehr wenig Overhead kann man die umfangreichen Services wie Pooling, Transaktionalität und Absicherung erhalten. XML-Konfigurationsdateien werden nur noch an wenigen Stellen benötigt.
Für das Zusammenspiel mit relationalen Datenbanken innerhalb der EE ist JPA zuständig, hier werden speziell auch die Punkte behandelt, die neu dazugekommen sind, beispielsweise die Attribute Converter, mit denen man etwa die Date/Time Klassen aus Java 9 in Entities verwenden kann. JPA kann zwar auch unabhängig von EJB verwendet werden, doch im Zusammenspiel erhält man Erleichterungen wie automatische Transaktionen bei den Methoden der EJBs.
Somit kennen die Teilnehmer nach dem Kurs die eleganten und leistungsfähigen Möglichkeiten, das Backend einer Jakarta EE 9 - Anwendung zu gestalten. Als Server wird Wildfly eingesetzt, per Vereinbarung sind auch andere möglich.
Zielgruppe
Softwareentwickler mit Java Kenntnissen
Voraussetzungen
- Routinierte Java 8 Kenntnisse
- Grundkenntnisse SQL und Client-Server-Entwicklung
Agenda
Einführung
- Entwicklung der Mehrschichtenarchitektur
- Historie der Java Enterprise Edition - von J2EE zur Java EE
- Einordnung im Vergleich zum Spring Framework
- Marktübersicht Application Server
Session Beans
- Zustandslose Session Beans als Hauptkomponente
- Deploymentoptionen
- Interceptoren für aspektorientierte Konzepte
- Zustandsbehaftete Session Beans
- Singleton Beans
- Remote und Web Clients
- Das reduzierte Webprofil der Java EE
Entities
- ORM: Von Entity Beans zu Entities
- Persistente Objekte
- Die Beziehungen zwischen Entities
- Nicht alles ist eine Entity: Einbettung
- Mehr Flexibilität durch Value Converter
- Eigene Klassen für den Primary Key
Weitere JPA Features
- Abbildung von Collections
- Problematik Lazy Loading
- Entity Graph
- Die umfangreiche Query Language
- Locking Strategien
- Transaktionen
- Injektionsmöglichkeiten mit CDI
Asynchronität
- Message Driven Beans und JMS
- Client Standalone oder Session Bean
- TimerService
- Scheduling
Sicherheit
- Konfiguration
- Absicherung auf Web Ebene
- Absicherung auf EJB Ebene
Web Services
- Bestandteile der klassischen Art: SOAP, WSDL
- JAX-WS
- Generierter Client
- REST Services
- Datenformat XML mit JAXB
- Datenformat JSON mit JSON-P und JSON-B