Design backend applications with Jakarta EE using CDI, JPA, REST, messaging, security, and modern architectures.
Developing backend applications in a Java environment requires mastery of several concepts: data persistence, transactional integration, dependency management, web service exposure (REST, SOAP), asynchronous message exchange, and continuous delivery. To address these issues, Jakarta EE (formerly Java EE) offers a set of standardized specifications that structure the technical layers of an enterprise application.
This training course presents the main Jakarta EE APIs (Jakarta Persistence, RESTful Web Services, Contexts and Dependency Injection, Messaging, etc.) through a modular architecture covering all the fundamental aspects of n-tier applications. It also includes Eclipse MicroProfile extensions and a contextualization of the associated runtimes (application server vs. Quarkus).
Participants consolidate their knowledge of Java backend architecture while practicing building a complete application, from the data access layer to the exposure of REST services. The course includes continuous integration (CI/CD), OCI image containerization, and a discussion of the choice of runtime environments (application server, Quarkus).
Is it for you ?
Experienced backend developers, Java software architects, technical project managers, DevOps engineers wishing to integrate Jakarta EE into a modular or retrospective project (migration from Java EE, evolution to MicroProfile, Quarkus tools).
Prerequisites
This course requires a solid understanding of the fundamentals of Java programming (principles of object-oriented programming, generic types, annotations, lambda expressions), familiarity with Java IDEs (Eclipse or IntelliJ), and principles of layered architecture.
What You'll Walk Away With
- ✓ Implement a multi-tier architecture with Jakarta EE and its key specifications
- ✓ Implement REST APIs and server-side web interfaces
- ✓ Manage data persistence and transactions with Jakarta Persistence
- ✓ Use asynchronous messaging with Jakarta Messaging
- ✓ Explore Eclipse MicroProfile extensions and native builds with Quarkus
Training content
1 Introduction
- Reminder of good design practices.
- Jakarta EE: a set of APIs as a response to backend application issues.
- From Java EE to Jakarta EE: the transition to the Eclipse Foundation.
- Eclipse Microprofile as extensions to the Jakarta EE APIs.
- Presentation of runtime and development environments.
2 Loose coupling with Jakarta CDI, Jakarta Interceptors, and EJB
- Bean declaration and lifecycle.
- Dependency injection.
- Interceptors.
- Event publishing.
- EJB as an extension to CDI.
3 Data access and transactions with Jakarta Persistence
- Data access: introduction, reminders, best practices.
- Mapping between the data model and the object model.
- Create, read, update, and delete operations with EntityManager.
- Entity states: attached, detached, transient.
- Lazy loading.
- Queries with the JPQL language.
4 Publishing and receiving messages with Jakarta Messaging
- Presentation of concepts.
- Message types and their structure.
- Destinations (Topic and Queue).
- Sending messages with JMSContext.
- Receiving messages with message-driven beans.
5 Creating user interfaces with Jakarta Faces
- The model and its lifecycle.
- Views and access to the model with JSF-EL.
- Internationalization.
- Validation.
- Exception management.
6 Creating a REST API with Jakarta RESTful WebServices
- Best practices for designing a REST API.
- Writing an endpoint.
- Managing and routing requests.
- Input data validation.
- Providers for applying cross-cutting processing.
7 Quarkus as an alternative to the application server
- Presentation of the 12-factor app methodology.
- The embedded web server.
- AOT compilation: definition, advantages, and limitations.
- Delivery in the form of an OCI image.
📌 Practical information
Our training sessions are offered in Montreal or Quebec City, in person or in a virtual classroom. Dates and locations are specified when you select your session below. If you have any questions, check out our FAQ.