EJB container
An EJB container is software that runs on a Java EE server and manages so-called Enterprise JavaBeans (EJB). The container takes care of both the persistent storage of the states and the availability of the EJB components for each authorized client . The tasks that an EJB container has to fulfill are defined by Sun in the EJB specification.
The EJB container also works as a network layer between client and server, which is why it is called middleware . The client receives the user input and sends it to the EJB container, where it is processed in a suitable form by the beans and the result is sent back to the client, who presents it to the user. The advantage of this solution is that the client can be exchanged almost at will without having to change anything in the application logic.
In practice, web frontends are very often used for customers on the World Wide Web or for their own employees on the intranet (occasionally also Java Swing clients) that communicate with the same EJB container. This means that you only need to develop the network layer once. On the other hand, there is also the possibility of exchanging dependent systems such as a database system without having to adapt the various clients.
EJB containers are usually not independently executable software, but part of an application server based on the Java specification. However, there are also some variants that can be used without an application server.
There are several application servers available on the market, which EJB containers each support the current version of the EJB standard. The best known are WildFly , GlassFish and Apache Geronimo , all of these products are free software . There are also various other, mostly proprietary products to choose from.
literature
- Linda G. DeMichiel: Enterprise JavaBeans ™ Specification, Version 2.1 . Sun Microsystems, November 12, 2003 ( online [PDF; 3.2 MB ; accessed on May 24, 2007]).
- JSR 220: Version 3.0 of the EJB standard
- JSR 318: Current version 3.1 of the EJB standard