Lesson 4 | What are the Container services? |
Objective | Describe the Services provided by the EJB Container and Server. |
Describe the Services provided by the EJB Container and Server
The container provides services to the bean as part of its contract. These services are described briefly below.
- factory,
- lifecycle,
- state management,
- security,
- naming, and
- transactions
Bean factory
The client of a bean requests the bean factory to create a bean instance with some initial set of values. Each type of bean, not each instance, has its own factory.
Lifecycle of EJB
The lifecycle of the bean starts when the bean instance is created, ends when the instance is removed, and includes all the states in between.
State management
Most beans have state. The container maintains the bean instance's state appropriately,
even if the instance is stored on secondary storage or if the underlying data in the database changes.
Container adds Security Checks
The container verifies that requests to the bean instance are valid based on information about the client that is associated with every message.
The container can add additional security checks if these are built into the container by its vendor. More on this topic later.
Naming of Service Bean
The container is responsible for adding the name of the service the bean provides to the local Name Service.
EJBs use JNDI (Java Naming and Directory Interface). The container will upload the stub and associate it with the name that the client looks up in JNDI.
The only way the client can get access to the bean is to lookup the bean in JNDI and download the stub.
Container starts Transactions
The container intercepts all messages to methods of the bean and looks to see whether the method requires a transaction.
If it does, then the container will start a transaction and propagate it to any transactional resources (such as databases and other beans) the bean uses.
Each of the above will be explained in detail as we explore how to actually program the different aspects of client and a bean.
Container Services - Quiz
Click the Quiz link below to test your understanding of EJB architecture.
Container Services - Quiz
In the next lesson, Session Enterprise JavaBeans will be discussed.