This illustration shows how Oracle Application Server TopLink fits into a typical J2EE architecture made up of an Application Server, OracleAS TopLink, an optional J2EE Container, and a Datasource. OracleAS TopLink is made up of a Session front-end and a Data Access back-end. The Session and Data Access components make use of Mappings (project XML meta-data), Query framework, Cache, and Transaction components. Client applications (such as JSP, Servlet, and Struts) access OracleAS TopLink by way of the Session. The Session provides access to the Query framework and Transaction component. Both these components benefit from the Cache to minimize trips to the Datasource. In a J2EE Container architecure, the Transaction component can be integrated with JTA. The Data Access component accesses the Datasource by way of JDBC in both J2EE Container and non-J2EE Container architectures. Client Application entities (such as Java Objects and EJB Entity Beans) can take advantage of OracleAS TopLink's J2EE Container support for both Container and Bean Managed Persistence.