Skip Headers

# Session Types

Previous

Next

Table: TopLink Session Types lists the session types that you can use in a non-CMP TopLink application and classifies them as basic or advanced. See "Sessions and CMP" for information on using Oracle TopLink with CMP.

TopLink Session Types

Session Type | Description | Type | TopLink Workbench | Java
--- | --- | --- | --- | ---

Server and Client Sessions

Server sessions provide session management to a single data source (including shared object cache and connection pools) for multiple clients in a three-tier architecture using database or EIS platforms. This is the most flexible, scalable, and commonly used session.

You acquire a client session from a server session at run time to provide access to a single data source for each client.

Basic

Unit of Work Sessions | Acquired from any session type (directly, or by way of an external transaction controller) to transactionally modify objects. | Basic |  |
Isolated Client Sessions | A special type of client session that uses a session cache isolated from the shared object cache of its parent server session. | Advanced |  |
Historical Sessions | A special type of client session that provides a read-only snapshot of object versions as of a specified time and uses a session cache isolated from the shared object cache of its parent server session. | Advanced |  |
Session Broker and Client Sessions | Provides session management to multiple data sources for multiple clients by aggregating two or more server sessions (can also be used with database sessions). You acquire a client session from a session broker at run-time to provide access to all the data sources managed by the session broker for each client. | Advanced |  |
Database Sessions | Provides session management to a single database for a single client suitable for simple or two-tiered applications. Oracle does not recommend this session type in three-tiered applications because it does not offer the same flexibility and scalability as the server session. | Basic |  |
Remote Sessions | A client-side session that communicates over RMI with a corresponding dedicated client session and shared server session. Remote sessions handle object identity and marshalling and unmarshalling between client-side and server-side. | Advanced |  |

For more information, see the following:

- "Creating Sessions"

- "Configuring a Session"

- "Acquiring and Using Sessions at Run Time"