DE553
Information technology

Jakarta EE: Designing and deploying scalable backend applications

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

Objectives

Model a complete backend application with Jakarta EE, combining its main APIs and taking into account performance, maintenance, and integration requirements.

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

Prerequisite

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.

Your benefits

  • 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
  • Content

    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.
    See more + / -

    Loose coupling with Jakarta CDI, Jakarta Interceptors, and EJB

    • Bean declaration and lifecycle.
    • Dependency injection.
    • Interceptors.
    • Event publishing.
    • EJB as an extension to CDI.

    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.

    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.

    Creating user interfaces with Jakarta Faces

    • The model and its lifecycle.
    • Views and access to the model with JSF-EL.
    • Internationalization.
    • Validation.
    • Exception management.

    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.

    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.

    💡 Useful information

    Our training sessions are offered in Montreal or Quebec City, in person or in virtual format. Dates and locations are provided when you select your session below. If you have any questions regarding registration, schedules, the language of instruction, or cancellation policies, please consult our FAQ .

    Duration
    5 days
    Schedule
    9h to 16h
    Regular fee
    $2,395
    Preferential fee A preferential rate is offered to public institutions, to members of certain professional organizations as well as to companies that do a certain amount of business with Technologia. To know more, please read the "Registration and rates" section on our FAQ page. Please note that preferential rates are not available for online training courses. Discounts cannot be combined with other offers.
    $2,155
    Private or personalized training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Request a quote

    Request in-company training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Tell us more
    Added to cart View my cart