J2EE Enterprise Architecture with In-Line Updates
This architecture shows two existing relational databases being used by a J2EE application server. One database is being accessed using JDO and the other by JDBC. A third database is being used in the middle tier as an EJB accelerator.
The database used as an EJB accelerator could hold data that is unique to the needs of the EJB components, a copy of the data that is updated in the relational database, or both types of data. This is referred to as having "in-line updates" because any updates by EJB components are made directly, or in-line, to the underlying relational database. This is in contrast to "staged updates".
Object databases make for an excellent middle-tier database for use with EJB components. This is because the object model used by EJB components is the same model used by object databases. For more information, see:
- Middle-Tier Architecture
- The importance of a lack of impedance mismatch for performance
- When to Use EJB Accelerators with Java Application Servers
This architecture using an object database will likely provide better performance than if no database or a relational database was used in the middle tier. In either case, the objects in the EJB components would need to be mapped to some degree to the relational model -- either in the middle tier or in the EIS Tier. This is most likely true even with the SQLJ using the SQL:1999 object model. See Part 2 in SQLJ. For an even higher-performing architecture, see "staged updates".
Multiple components use JDO to access the relational database. JDO allows the mapping between Java objects and tables to be defined in one place for use by the multiple components. See JDO Data Conversion.
The JDBC interface is used by the Web Server to access simple data. See When to Use JDBC with Java Application Servers.
- Using JDBC with Application Servers
- Using JDO with Application Servers
- Using EJB Accelerators with Application Servers
More on the general topic: Architectures Using Databases in the Middle Tier
- J2EE Enterprise Architecture with Staged Updates
- J2EE Website Architecture
- Benchmark Using a Transaction Accelerator