TopLink
   HOME

TheInfoList



OR:

Oracle TopLink is a mapping and persistence framework for
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
developers. TopLink is produced by Oracle and is a part of Oracle's OracleAS,
WebLogic Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation. Oracle acquired WebLogic Server when it purchased BEA Systems in 2008. Application Server versions * WebLogic Server 14c (14.1.1) - March 30, 2020 ...
, and
OC4J The Oracle Application Server 10g (the "g" stands for ''grid'') (short Oracle AS), consists of an integrated, standards-based software platform. It forms part of Oracle Corporation's Fusion Middleware technology stack. The heart of Oracle Applic ...
servers. It is an object-persistence and object-transformation framework. TopLink provides development tools and run-time functionalities that ease the development process and help increase functionality. Persistent object-oriented data is stored in relational databases which helps build high-performance applications. Storing data in either
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
(Extensible Markup Language) or relational databases is made possible by transforming it from object-oriented data. A rich user-interface is possible on TopLink with the help of TopLink Mapping Workbench. This Mapping Workbench makes it possible to carry out the following with ease. * Graphical mapping of an
object model In computing, object model has two related but distinct meanings: # The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. Examples are the object models of ''Java'', ...
to
data model A data model is an abstract model that organizes elements of data and standardizes how they relate to one another and to the properties of real-world entities. For instance, a data model may specify that the data element representing a car be co ...
. * Generation of data model from its object model and vice versa. * Auto-mapping of any existing data models and object models. Oracle's JDeveloper IDE provides easy integration of these functionalities provided by the Mapping Workbench. With the use of TopLink, users can stay more focused on their primary cause and let TopLink handle the integration of persistence and object transformation into their application. Designing, implementing and deploying process is accelerated as TopLink supports a variety of data sources and formats such as
Relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
, Object-relational database,
Enterprise information system An Enterprise Information System (EIS) is any kind of information system which improves the functions of enterprise business processes by integration. This means typically offering high quality of service, dealing with large volumes of data and cap ...
(EIS), XML and many others.


History

Toplink was originally developed by The Object people in Smalltalk. It was ported to Java in 1996-1998 and called "TopLink for Java". In 2002,TopLink was acquired by Oracle Corporation and was developed under the Oracle Fusion Middleware product. The TopLink code was donated to the Eclipse Foundation and the
EclipseLink EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, ...
project was born in 2007. The EclipseLink now provides the functionality of TopLink. Sun Microsystems selected EclipseLink in March 2008, as the implementation for the JPA 2.0, JSR 317 reference. A number of versions of TopLink have been released since and the latest version 12c (12.1.3) is available for free Download.


Key Features

* Rapidly build high-performance enterprise applications that are scalable and maintainable. * Extensive mapping support using relational, object-relational data type and
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
. * Advanced query capability including native SQL, Java Persistence Query Language (
JPQL The Jakarta Persistence Query Language (JPQL; formerly Java Persistence Query Language) is a platform-independent object-oriented query language defined as part of the Jakarta Persistence (JPA; formerly Java Persistence API) specification. JPQL i ...
) and EclipseLink Expressions framework. * RESTful Services * Just-in-time reading.
Tenant Isolation
*
NoSQL A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
* Various Optimistic and pessimistic locking policies and options. *
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other ser ...
* Integration with commonly used application servers and databases. * External Metadata Sources * TopLink Grid.


Key Components


EclipseLink Core and API

The runtime component of TopLink is provided by the EclipseLink Core. This API provides direct access to the runtime, which is embedded into the application. Persistence behavior is enabled by making application calls that invoke EclipseLink API to perform these functionalities which provides safe access to shared databases. Import the following class to use extended functionality of EclipseLink. import org.eclipse.persistence.*


Object-Relational(JPA 2.0) Component

The binding of Java classes to XML schemas is possible with the help of Object-XML, which is an EclipseLink component. By implementing
JAXB Java XML Binding (JAXB; formerly Java Architecture for XML Binding) is a software framework that allows Java EE developers to map Java classes to XML representations. JAXB provides two main features: the ability to ''marshal'' Java objects in ...
, mapping information is provided through annotations. It also provides manipulation of XML.


SDO Component

The
Service Data Objects Service Data Objects is a technology that allows heterogeneous data to be accessed in a uniform way. The SDO specification was originally developed in 2004 as a joint collaboration between Oracle ( BEA) and IBM and approved by the Java Community ...
(SDO) provides with the use of SDO API, use dynamic objects to customize and manipulate XML, use of static data objects and conversion of XML Schema.


Database Web Services Component

Database Web Services (DBWS) facilitates access to relational databases with the help of web service. A database access can be made without the need to write a Java code. The XML SOAP Messages and the databases are connected by the runtime component of DBWS which uses EclipseLink.


TopLink Grid

TopLink Grid is an integration mechanism that provides connection between
Oracle Coherence In computing, Oracle Coherence (originally Tangosol Coherence) is a Java-based distributed cache and in-memory data grid. It is claimed to be "intended for systems that require high availability, high scalability and low latency, particularly in ...
and EclipseLink. An application generally interacts with the relational database, which is its primary database. But with TopLink the application can store data on the Coherence grid called as JPA on the grid. TopLink Grid functionality can be used only if the user has license for Oracle Coherence. This functionality is provided by: toplink-grid.jar To get support for TopLink Grid and EclipseLink, users also need to import the following package of classes. org.eclipse.coherence.*


TopLink Operations (Insert, Update, Delete)

Database operations like
Insert Insert may refer to: *Insert (advertising) *Insert (composites) *Insert (effects processing) *Insert (filmmaking) *Insert key on a computer keyboard, used to switch between insert mode and overtype mode *Insert (molecular biology) *Insert (SQL) *Fi ...
, Update and Delete can also be performed in TopLink. The changes made to the database are reflected in the
Oracle Coherence In computing, Oracle Coherence (originally Tangosol Coherence) is a Java-based distributed cache and in-memory data grid. It is claimed to be "intended for systems that require high availability, high scalability and low latency, particularly in ...
cache. In
Java Persistence API Jakarta Persistence (JPA; formerly Java Persistence API) is a Jakarta EE application programming interface specification that describes the management of relational data in enterprise Java applications. Persistence in this context covers three ...
, an entity is a persistence class. Using TopLink, a number of performance features for writing large amounts of data can be implemented. Batch writing, stored procedure support, parameter binding, statement ordering and other features are offered to satisfy database constraints. The basic operations are


Insert

The EntityManager method persist(Object entity) is used to add an instance and marks it for insertion into the database. entityManager.getTransaction().begin(); Employee newEmployee = new Employee(5); entityManager.persist(newEmployee); entityManager.getTransaction().commit(); On completion of the transaction, the newEmployee data will be inserted into the database.


Update

Updating an entity means simply reading the transaction and updating the properties of this entity. Updating the Employee LastName can be done as follows. entityManager.getTransaction().begin(); Employee existingEmployee = entityManager.find(Employee.class, 5); existingEmployee.setLastName("NewLastName"); entityManager.getTransaction().commit();


Delete

Deleting an entity is the opposite of Insertion and can be one using remove(Object entity) method of the EntityManager. entityManager.getTransaction().begin(); Employee existingEmployee = entityManager.find(Employee.class, 5); entityManager.remove(existingEmployee); entityManager.getTransaction().commit(); The EntityManager method ''flush()'' deletes the entity on completion of the transaction.


Development Tools

Users can use most of the tools in the market and use TopLink along with it. But the following toots provide special integration with TopLink. *
Oracle JDeveloper JDeveloper is a freeware Integrated development environment, IDE supplied by Oracle Corporation. It offers features for development in Java (programming language), Java, XML, SQL and PL/SQL, HTML, JavaScript, BPEL and PHP. JDeveloper covers the f ...
* Oracle Enterprise Pack for Eclipse *
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
*
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...


Supported Database Platforms


See also

*
EclipseLink EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, ...
*
Hibernate (framework) Hibernate ORM (or simply Hibernate) is an object–relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database. Hibernate handles object–relational imp ...
* Apache Cayenne *
IBATIS iBATIS is a persistence framework which automates the mapping between SQL databases and objects in Java, .NET, and Ruby on Rails. In Java, the objects are POJOs ( Plain Old Java Objects). The mappings are decoupled from the application logic b ...


References


External links


Oracle TopLink Official HomeOracle TopLink ForumOracle TopLink WikiTopLink Essentials HomeUnofficial TopLink WikiMaster the New Persistence Paradigm with JPA
{{DEFAULTSORT:Toplink Java platform Object-relational mapping Oracle software Persistence frameworks Oracle acquisitions