J2EE EJB Server or Container
The EJB server provides an environment that supports the execution of applications developed using Enterprise JavaBeans™ (EJB) components. It manages and coordinates the allocation of resources to the applications. Enterprise beans typically contain the business logic for a J2EE application.
The EJB server must provide one or more EJB containers. An EJB container manages the enterprise beans contained within it. For each enterprise bean, the container is responsible for registering the object, providing a remote interface for the object, creating and destroying object instances, checking security for the object, managing the active state for the object, and coordinating distributed transactions. Optionally, the container can also manage all persistent data within the object.
Enterprise JavaBeans technology supports both transient and persistent objects. A transient object is called a session bean, and a persistent object is called an entity bean.
A session bean exists only for the duration of a single client/server session. A session bean performs operations such as accessing a database or performing calculations. Session beans can be transactional, but normally are not recoverable following a system crash. Session beans can be stateless, or they can maintain conversational state across methods and transactions. A session bean must manage its own persistent data. More on Session Object Persistence.
An entity bean is an object representation of persistent data maintained in a permanent data store, such as a database. An entity object can manage its own persistence, or it can delegate its persistence to its container. See:
More detail for the current topic: J2EE EJB Server or Container
More on the general topic: Application Server Definition