When we talk about Object Relational Mapping Frameworks or ORM frameworks we’re talking about mapping relational data to an object-oriented programming language.
The ORM framework will hold features such as support for JPA (Java Persistency API); database access control mechanisms such as JNDI, JTA, JDBC; distributed processes, 2 phase commit, etc.
So on the hand you need to be able to map your relational data to object relational data and on the other hand you need to have a clear view on your persistency layer.
How are you going to manage the different transactions in your application, how are you going to deal with distributed transactions, etc.
In Oracle Toplink 11g or the Oracle Toplink Grid you have the marriage of the ORM Framework and Coherence which offers you the power to control your transaction based application.
In other words you can hand over the persistency management to coherence instead of giving your architect and developers the burden of solving this puzzle themselves.
When using Toplink Grid you can choose to have Coherence manage the persisting of new and modified Entities. This integrated solution involves a layer between JPA and the data store where the grid can be leveraged to scaling beyond the database bound operations.
In other words you’re application doesn’t need to wait for your database transaction to return an answer before it can proceed. Using asynchronous processing in your application will be a huge improvement for the end users’ experience and will leave the responsability to the JPA layer were it needs to reside.
For more information regarding the Toplink Grid, read the following article.
This is a whole new way of thinking about persistency and data centric web applications which will have a great influence on as well the software architects as the end users’ experience.
Will we still have the so called ‘slow java web apps’ versus ‘data centric web apps’ which can lead to huge discussions amongst ‘client-server developers’ and ‘web developers’ ?
Douglas Clark, Director of Product Management, has recently participated in a discussion with Oracle ACE’s regarding the key differentiators of Oracle Toplink versus other ORM Mappings.
This is a very interesting discussion for key decision makers who are thinking about ORM Solutions for their existing or new JEE Applications.
The key differentiators according to Doug Clark:
- Performance and scalability: Our out of the box caching architecture is allows us to minimize object creation and share instances. The caching offers out of the box support for single node and clustered deployments. We have been involved in many internal and external benchmarking efforts that maintain our confidence that we have the best performing and scaling ORM solution available.
- Support for leading relation databases: We continue to support all leading relational databases with extensions specific to each. We are also the best ORM solution for the Oracle database. We continue to enhance this support in 11gR1 and EclipseLink.
- A comprehensive persistence solution: While we offer industry leading object-relational support we have also leveraged our core mapping functionality to deliver object-XML (JAXB), Service Data Object (SDO), as well as non-relational (EIS via JCA) and Database Web Services. Depending on your requirements you can use one or more of the persistence services based on the same core persistence engine.
- Donated to Open Source Community: Full functionality of Oracle TopLink now available in open source EclipseLink project. OracleAS/SOA customers will continue to leverage the functionality of TopLink now developed in open source. Those looking for an open source solution can now choose to use EclipseLink and gain the benefits of our long commercial usage and our ongoing development efforts.
- JPA Support: As the JPA 1.0 specification co-leads Oracle and the TopLink/EclipseLink team has been focussed on delivering a JPA compliant solution with supporting integration with JDeveloper, ADF, Spring, and the Elcipse IDE (Dali project). We have delivered the JPA 1.0 reference implementation and with EclipseLink will now deliver the JPA 2.0 reference implementation. We are focussed on standards based development while still offering many advanced capabilities as well.While Hibernate may have the current lead in developer mind-share we are focussed on continuing to deliver our world-class functionality to the entire Java community.