| Lesson 2 | Jakarta Enterprise Beans Prerequisites |
| Objective | Ensure you have the foundational skills for developing with Jakarta Enterprise Beans (EJB). |
To get the most from this course, you should have prior experience with the Java Standard Edition (Java SE) platform, including familiarity with classes, interfaces, inheritance, and generics. A working knowledge of networking concepts, such as client/server architecture, HTTP communication, and Java networking APIs (java.net), will also help you better understand how enterprise components interact across distributed systems.
While older technologies like Java RMI (Remote Method Invocation) were historically important in enterprise Java, modern distributed communication in Jakarta EE is handled through lightweight mechanisms such as Jakarta RESTful Web Services (JAX-RS), Jakarta Messaging (JMS), and asynchronous invocations powered by CompletableFuture or ExecutorService. You are not required to know CORBA or COM, as modern Jakarta EE abstracts away most low-level distributed programming details through declarative annotations and dependency injection.
Jakarta EE is platform-independent and runs on any operating system that supports a compatible Java runtime, including Windows, macOS, and Linux. To follow the course exercises, you’ll need access to a Jakarta EE 10–compliant runtime such as:
Each of these servers supports Jakarta Contexts and Dependency Injection (CDI), Jakarta Persistence (JPA), Jakarta Transactions (JTA), and Jakarta Enterprise Beans (EJB). These technologies work together to provide a robust, scalable environment for enterprise applications. If you are using Docker or a cloud-based environment such as Azure App Service or AWS Fargate, Jakarta EE runtimes can also be containerized and deployed easily.
For development, you should have:
This course introduces Jakarta Enterprise Beans (EJB 4.x) as part of the modern Jakarta EE ecosystem. While the original Enterprise JavaBeans model from the J2EE era required complex deployment descriptors and remote interfaces, modern EJBs emphasize simplicity, annotations, and integration with CDI.
Jakarta Enterprise Beans can now be developed and deployed as lightweight components supporting asynchronous processing, transaction management, timers, and secure, container-managed concurrency. The goal of this course is to help developers transition from older EJB versions to Jakarta EE’s simplified architecture and modern best practices.
This course is designed for Java developers who have experience building standalone or web-based applications and want to move toward enterprise-scale development using standards-based APIs.
You’ll gain an understanding of the EJB lifecycle, dependency injection via CDI, and persistence through JPA.
Advanced sections will also demonstrate integration with ManagedExecutorService, CompletableFuture, and virtual threads for concurrent business logic in modern cloud environments.
In the next lesson, we will review the software requirements and project structure for deploying your first Jakarta EJB application using a container-managed runtime.