Containers provide runtime support for Java EE application components. They also implement the required protocols and mechanisms, so that application components can communicate with the other components and services.
As a fully Java EE compliant GlassFish, GlassFish implements a container-based architecture, as illustrated in the following figure.
GlassFish implements a web container and an EJB container. The web container provides an environment to run Java servlets and JavaServer Pages (JSP) files, and it relies on the HTTP services to allow web components to be accessed through the HTTP and HTTPS protocols. The EJB container is responsible for hosting EJB components, and it uses the ORB service to allow EJB clients to access enterprise beans remotely.
Furthermore, GlassFish also implements a container mechanism for Java EE application clients. This mechanism, called the Application Client Container (ACC) can be used to quickly set...