Java EE Topics - Beginner to Mid-Advanced Level
1. Introduction to Java EE
- Java EE Overview and Architecture
- Java EE Application Servers (e.g., GlassFish, WildFly, TomEE)
- Java EE Development Environment Setup
2. Core Concepts
- Servlets and JavaServer Pages (JSP)
- Java API for RESTful Web Services (JAX-RS)
- Java API for XML Web Services (JAX-WS)
- Contexts and Dependency Injection (CDI)
3. Enterprise Java Beans (EJB)
- EJB Basics (Stateless, Stateful, Singleton)
- EJB Interceptors
- Transactions and Security with EJB
- Asynchronous EJB
4. Persistence with JPA (Java Persistence API)
- ORM Concepts and Entity Management
- JPA Entities, Relationships, and Queries
- JPA Annotations and XML Mappings
- JPQL (Java Persistence Query Language)
- Criteria API and Named Queries
5. Java Messaging Service (JMS)
- JMS Basics and Messaging Models (Point-to-Point, Publish-Subscribe)
- JMS Queue and Topic
- Message Producers and Consumers
- JMS and EJB Integration
6. Java Transaction API (JTA)
- Transaction Management in Java EE
- Container-Managed Transactions
- Bean-Managed Transactions
- Distributed Transactions
7. JavaServer Faces (JSF)
- JSF Basics and Component-Based Architecture
- Managed Beans and Facelets
- JSF Lifecycle
- PrimeFaces/other JSF Component Libraries
8. Security in Java EE
- Java EE Security Architecture
- Authentication and Authorization
- Role-Based Access Control (RBAC)
- Java EE Security API and Annotations
9. Microservices in Java EE
- Introduction to Microservices with Java EE
- Building REST APIs with JAX-RS
- Inter-Process Communication with JMS and REST
- Configurations for Microservices (MicroProfile Config)
10. Java EE Concurrency Utilities
- Using Java EE Concurrency Utilities
- Managed Threads and Thread Pools
- Scheduling and Concurrent Tasks
11. WebSockets and JSON Processing
- Building Real-Time Web Applications with WebSocket
- JSON-P (JSON Processing) and JSON-B (JSON Binding) APIs
12. Testing Java EE Applications
- Unit Testing with JUnit and Mockito
- Integration Testing for EJBs, JPA, and RESTful Services
- Arquillian for Java EE Testing
13. Java EE Best Practices and Design Patterns
- Layered Architecture and MVC Pattern
- Dependency Injection Best Practices
- Common Patterns (e.g., Singleton, DAO, Factory)
- Exception Handling and Logging