Using EJB Accelerators with Application Servers
EJB accelerators exist primarily in the middle tier of a J2EE architecture. Their role is to accelerate the performance of storing data needed for Enterprise Java Beans (EJBs). By speeding up the performance of the data storage, the performance of EJBs are accelerated in general. There are four ways that this can be done.
- The first way is with a transparent interface such as Java Data Objects (JDO)
coupled with an object database. In this case, there is no need for a mapping
layer because the Java object model is the same model used by the object
database. See transparent
persistence in object databases.
The lack of a mapping layer is show in this diagram.
- The second way is with a transparent interface such as Java Data Objects (JDO) coupled with a relational database. In this case, there is a need for a mapping layer because the Java object model may not match the model used by the relational database. Nevertheless, the mapping can be moved to one location as described in JDO Data Conversion. Also see transparent persistence in object-relational mapping.
- The third way is with a call-level interface such as JDBC coupled with a
relational database. In this case, there is a need for a mapping layer
because the Java object model may not match the model used by the relational
database. The mapping would need to be done at the application level as
described in JDBC Data Conversion. Be sure to take a look at transparent persistence vs. JDBC call-level interface. This outlines some
disadvantages of using JDBC that you should consider when designing
persistence for J2EE.
- The fourth way is with SQLJ and a relational database. This would be useful primarily if the relational database does not contain any existing data. This would make it possible to minimize the mapping described in SQLJ Data Conversion. Also see SQLJ and mapping SQL and Java data types.
Also, be sure to check out how EJB accelerators can be part of integrated J2EE Architecture Solutions.
Using JDO, as shown in this diagram, will not require data conversion between the interface and the database. See EJB Accelerator Data Conversion.
More detail for the current topic: Using EJB Accelerators with Application Servers
More on the general topic: Application Server Architectures
- Using JDBC with Application Servers
- Using SQLJ with Application Servers
- Using JDO with Application Servers