The Enterprise JavaBeans specification [1] defines EJB as "a component architecture for the development and deployment of component-based distributed business applications. Enterprise beans are components of distributed transaction-oriented enterprise applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi- user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification."
In practice, this translates into a number of concrete features:
Enterprise Java Beans are but one type of component in the bigger J2EE architecture picture of things. Figure 9-1 illustrates the relationship to other components, such as in the Web tier . Figure 9-1. EJBs as server-side business logic in the classical J2EE Architecture.
There are currently three types of enterprise beans that model typical but fairly different and technically relatively unrelated requirements of modern enterprise software, see also Figure 9-2:
Figure 9-2. Types of EJB components.
Of these three types, one is related to persistence and thus overlaps with JDO. The other two types of EJBs represent service-oriented interfaces that, in order to do their tasks , often rely on and thus interface with a persistence API, such as JDBC, entity beans, JDO, or others. The point to remember is that these three enterprise bean types do not depend on each other in any way, but offer different features. We look at the role of JDO with each throughout this chapter. |