1 Introduction
TopLink provides APIs and a run-time environment for implementing the persistence layer of Java Platform, Standard Edition (Java SE platform), and Java Platform, Enterprise Edition (Java EE platform) applications.
TopLink's core functionality is provided by EclipseLink, the open source persistence framework from the Eclipse Foundation. EclipseLink implements Java Persistence API (JPA), Java Architecture for XML Binding (JAXB), and other standards-based persistence technologies, plus extensions to those standards. TopLink includes all of EclipseLink, plus additional features, including Oracle TopLink Grid, which integrates EclipseLink JPA with the Oracle Coherence cache..
For more information about the EclipseLink project, see Eclipse Persistence Services Project (EclipseLink) home at http://www.eclipse.org/eclipselink/
.
About This Guide
This guide, Solutions Guide for Oracle TopLink, documents a number of scenarios, or use cases, that illustrate TopLink features and typical TopLink development processes. These are not tutorials that lead you step-by-step through every task required to complete a project. Rather, they document general processes and key details for solving particular problems and then provide links to other documentation for more information.
About the Terminology Used in this Documentation
"Oracle TopLink" and "TopLink" describe the full Oracle product, including all the included EclipseLink libraries, features, and APIs, plus the additional Oracle features. The names "Oracle TopLink" and "TopLink" are used in a general way in this documentation to refer to the whole product and at times more specifically to the Oracle-only features. The term "EclipseLink" is used when referring to the EclipseLink features included in TopLink.
What You Need to Know First
To make good use of this guide, you should already be familiar with the following:
-
The concepts and programming practices of the Java SE platform and the Java EE platform. In the current release, TopLink supports Java EE 6. For more information, see the following.
Java
-
Java home page:
http://www.oracle.com/us/technologies/java/index.html
-
Java EE 5 Tutorial:
http://download.oracle.com/javaee/5/tutorial/doc/bnbpy.html
-
Java EE 6 Tutorial:
http://download.oracle.com/javaee/6/tutorial/doc/bnbpy.html
-
Any of the thousands of books and websites devoted to Java.
Oracle Java EE Application Servers
-
Oracle WebLogic Server home page:
http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html
-
Oracle GlassFish Server home page:
http://www.oracle.com/technetwork/middleware/glassfish/overview/index.html
Oracle Java EE Integrated Development Environments
-
Oracle JDeveloper:
http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html
-
Oracle Enterprise Pack for Eclipse:
http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.html
-
-
If you are working with EclipseLink JPA, you should be familiar with the concepts and programming practices of JPA 2.1, as specified in the Java Persistence API, Version 2.1 specification at
http://jcp.org/en/jsr/detail?id=338
. -
If you are working with EclipseLink JAXB, you should be familiar with the concepts and programming practices of JAXB 2.0, as specified in the The Java Architecture for XML Binding (JAXB) 2.0 specification at
http://jcp.org/en/jsr/detail?id=222
. -
If you are using JSON data-interchange format, you should be familiar with the concepts and programming practices of JSON, as described at
http://www.json.org/
. For XML, seehttp://www.w3.org/XML/
-
If you are working with EclipseLink DBWS, you should be familiar with the concepts and programming practices of JAX-WS 2.0, as specified in the Java API for XML-Based Web Services (JAX-WS) 2.0 specification at
http://jcp.org/en/jsr/detail?id=224
. -
If you are working with REpresentational State Transfer (REST) service, you should be familiar with concepts and programming practices of REST, as specified in "JSR 311: JAX-RS: The Java API for RESTful Web Services" at
http://jcp.org/en/jsr/detail?id=311
.
The Use Cases
The use cases documented in this guide are as follows:
-
Installing Oracle TopLink - How to download and install standalone TopLink.
-
Installing Oracle TopLink - How to download and install EclipseLink.
-
Using TopLink with WebLogic Server - How to use TopLink with WebLogic Server.
-
Using TopLink with GlassFish Server - How to use TopLink with GlassFish Server.
-
Using TopLink with JBoss 7 Application Server - How to use TopLink with JBoss 7 Application Server.
-
Using TopLink with IBM WebSphere Application Server - How to use TopLink with IBM WebSphere Application Server.
-
Migrating from Native TopLink - How to how to migrate applications using native TopLink object-relational mapping (ORM) API to the current EclipseLink API.
-
Migrating from Hibernate to TopLink - How to migrate applications from using Hibernate JPA to using EclipseLink JPA.
-
Using Multiple Databases with a Composite Persistence Unit - How to expose multiple persistence units (each with unique sets of entity types) as a single persistence context.
-
Scaling Applications in Clusters - How to configure EclipseLink applications to ensure scalability in clustered application server environments.
-
Providing Software as a Service - Overview of TopLink Software as a Service (SaaS) features..
-
Providing Software as a Service - Overview of EclipseLink Software as a Service (SaaS) features..
-
Making JPA Entities and JAXB Beans Extensible - How to make JPA entities or JAXB beans extensible.
-
Using an External MetaData Source - How to use an external metadata source.
-
Tenant Isolation Using TopLink - How to support multiple application tenants who share data sources, including tables and schemas.
-
Mapping JPA to XML - How to map JPA entities to XML using EclipseLink JAXB.
-
Mapping JPA to XML - How to map JPA entities to XML using EclipseLink MOXy.
-
Testing JPA Outside a Container - How to test your EclipseLink JPA application outside the container.
-
Enhancing Performance - Getting the best performance out of TopLink.
-
Exposing JPA Entities Through RESTful Data Services - How to expose entities through RESTful services using EclipseLink Java Persistence API for RESTful Services (JPA-RS).
-
Scaling JPA Applications Using TopLink Grid with Oracle Coherence - How to use TopLink Grid to achieve high availability and increase performance.
-
Using Database Events to Invalidate the Cache - How to use EclipseLink Database Change Notification (DCN) for caching with a shared database in JPA.
-
Using TopLink with NoSQL Databases - How to use EclipseLink to map objects to non-relational (that is, no SQL) data sources.