This course on "Jakarta EE 11" provides a comprehensive introduction to developing enterprise applications using the Jakarta EE platform. Starting with the architecture and evolution of Jakarta EE, participants will learn to deploy and configure applications effectively. Key topics include integrating Jakarta Servlet 6.0, using Contexts and Dependency Injection (CDI), and implementing Jakarta Persistence (JPA). The course also covers building RESTful APIs with JAX-RS, JSON processing, and data validation with Bean Validation. Further, students will explore Jakarta Faces for web UI creation and implement security measures for applications. The course culminates in a hands-on project, FitChallenge, where students apply their skills to develop a fitness platform.
Overview
Syllabus
- Course Introduction
- Explore Jakarta EE's architecture, core components, and historical evolution from Java EE to modern enterprise Java solutions.
- Deploy and Configure Jakarta EE Applications
- Learn to package, configure, and deploy Jakarta EE apps as WAR files on WildFly, using correct Maven settings, deployment descriptors, and logs to confirm successful deployment.
- Introduction to Jakarta Servlet 6.0
- Explore the fundamentals of Jakarta Servlet 6.0, including servlet architecture, lifecycle, request/response handling, and basic web application integration.
- Build Web Applications with Servlets
- Learn to manage user sessions in Jakarta Servlets by building a visit counter, using HttpSession to track, store, and update session data across multiple requests.
- Introduction to Jakarta CDI (Contexts and Dependency Injection)
- Get introduced to Jakarta CDI, including its core concepts, context management, and dependency injection in Java enterprise applications.
- Implement Dependency Injection with CDI
- Learn to use Jakarta CDI for dependency injection: configure beans.xml, apply scopes, inject beans, and observe how CDI manages lifecycles for application and session data.
- Introduction to Jakarta Persistence (JPA) in Jakarta EE
- Explore Jakarta Persistence (JPA) in Jakarta EE, covering its core concepts, configuration, and basic CRUD operations for managing relational data in Java applications.
- Implement Basic JPA Operations in Jakarta EE
- Learn to annotate a Product entity and implement basic JPA CRUD operations in Jakarta EE using EntityManager, @PersistenceContext, and @Transactional in a container-managed environment.
- Introduction to Jakarta RESTful Web Services (JAX-RS)
- Explore the basics of Jakarta RESTful Web Services (JAX-RS), including REST concepts, resource design, and building APIs using Java.
- Build RESTful APIs with JAX-RS
- Learn to build RESTful APIs in Java using JAX-RS. Implement CRUD endpoints for a Book Catalog with correct HTTP methods, status codes, dependency injection, and response handling.
- Introduction to Jakarta JSON Processing and Binding
- Explore the basics of Jakarta JSON Processing and Binding, learning how to read, write, and manipulate JSON data in Java applications.
- Implement JSON Processing and Binding
- Explore JSON-P for manual JSON parsing/building and JSON-B for object mapping in Jakarta EE, including annotations, serialization, and deserialization with practical exercises.
- Introduction to Jakarta Bean Validation
- Discover the basics of Jakarta Bean Validation, its core concepts, constraints, and practical application for ensuring data integrity in Java applications.
- Implement Data Validation with Bean Validation
- Learn to apply Bean Validation constraints and custom password rules to a Java User Registration API, ensuring robust data validation and clear error responses for invalid input.
- Introduction to Jakarta Faces (JSF)
- Explore Jakarta Faces (JSF): its architecture, key components, UI building blocks, and how it simplifies Java web application development.
- Create Web UIs with Jakarta Faces
- Build a user registration form with Jakarta Faces: create beans, bind fields to UI, handle actions, and show a confirmation, all using Facelets and JSF best practices.
- Introduction to Jakarta Security
- Discover Jakarta Security basics, including its core concepts and features for securing Java EE applications effectively.
- Implement Authentication and Authorization
- Learn to secure JAX-RS endpoints using @PermitAll, @RolesAllowed, and @DenyAll, understanding 401 vs 403 responses and enforcing role-based access in Jakarta EE APIs.
- Introduction to Jakarta EE Application Deployment
- Explore the basics of deploying Jakarta EE applications, including deployment descriptors, packaging, and running apps on enterprise servers.
- Package and Deploy Enterprise Applications
- Learn to configure deployment descriptors and build settings in a Jakarta EE project to package and deploy enterprise applications on WildFly.
- Introduction to Legacy Java EE Technologies
- Explore foundational Java EE technologies, including their architecture, core components, and relevance for enterprise application development.
- Analyzing and Modernizing Legacy Java EE Patterns
- Learn how to refactor legacy Java EE EJB patterns to modern CDI with explicit transactions, annotation updates, and improved dependency injection.
- Course Conclusion
- Project: FitChallenge - A Jakarta EE 11 Enterprise Fitness Platform
- Build FitChallenge, a full-stack fitness app with Jakarta EE 11. Create, join, and track challenges, log progress, and deploy securely with REST APIs, validation, and authentication.
Taught by
Kaoutar Zaia