Java Containers
Start course

This course takes an introductory look at Java Enterprise Edition and explains its main characteristics. We then continue to show you how to set up a Java EE 6 environment, which will be useful when following along with our Oracle Java EE 6 Programmer learning path.

Learning Objectives

  • Obtain a foundational understanding of Java EE 6
  • Learn how to install the necessary programs to begin using Java EE 6

Intended Audience

This course is intended for anyone who already has basic knowledge of Java and now wants to learn about Java EE 6.


Basic knowledge of Java programming.




Hello dear friends. In this video, we will examine the Java Enterprise Edition containers, let's begin. Normally, multi-tiered applications are hard to write, because they involve many lines of intricate code to handle transaction and state management, multi-threading, resource pulling and other complex low-level details. The component based and platform independent Java EE architecture makes Java EE applications easy to write, because business logic is organized into reusable components. In addition, the Java EE server provides underlying services in the form of a container for every component type. Because you do not have to develop these services yourself, you are free to concentrate on solving the business problem at hand. The Java EE infrastructure is partitioned into logical domains called containers.

Each container has a specific role, supports a set of APIs and offers services to components like security, database access, transaction handling, naming directory, resource injection. As you can see, there are four containers in Java Enterprise Edition: Applet container, Application Client container, Web container, and Enterprise Java Beans container also known as EJB container. Applet containers are provided by most web browsers to execute applet components. When you develop Applets, you can concentrate on the visual aspect of the application, while the container gives you a secure environment. The Applet container uses a sandbox security model, where code executed in the sandbox is not allowed to play outside the sandbox. This means that the container prevents any code downloaded to your local computer from accessing local system resources such as processes or files.

The Application Client container, also known as ACC includes a set of Java classes, libraries and other files required to bring injection, security management, and naming service to Java SE applications. ACC communicates with the EJB container using RMI-IIOP and the Web container with http. The Web container provides the underlying services for managing and executing web components like servlets, JSPs, filters, listeners, JSF pages and web services. It is responsible for instantiating, initializing and invoking servlets and supporting the http and https protocols. It is the container used to feed web pages to client browsers. The EJB container is responsible for managing the execution of the enterprise beans containing the business logic tier of your Java EE application. It creates new instances of EJBs, manages their lifecycle and provides services such as transaction, security, concurrency, distribution, naming service or the possibility to be invoked asynchronously. Container's high technical complexity and enhance portability.

Depending on the kind of application you want to build, you will have to understand the capabilities and constraints of each container in order to use one or more. For example, if you need to develop a web presentation layer, you will develop a JSF application and deploy it into a web container, not in EJB container. But if you want a web application to invoke a business tier, you might need both the Web and EJB containers. Containers provide underlying services to their deployed components. As a developer, you can concentrate on implementing business logic rather than solving technical problems faced in enterprise applications. Let's look at the image that shows us the services provided by each container. For example, Web and EJB containers provide connectors to access EIS, but not the Applet container or the ACCs. Let's take a little break here. In the following video, we will continue explaining the Java EE container services illustrated in this image. See you in the following video.


About the Author
Learning Paths

OAK Academy is made up of tech experts who have been in the sector for years and years and are deeply rooted in the tech world. They specialize in critical areas like cybersecurity, coding, IT, game development, app monetization, and mobile development.

Covered Topics