Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Development/Architecture/EclipseLink"
(→Abstract) |
(→Introduction) |
||
Line 26: | Line 26: | ||
A rough timeline that includes the major enhancements and refactoring to the product architecture follows: | A rough timeline that includes the major enhancements and refactoring to the product architecture follows: | ||
* The Object People | * The Object People | ||
− | ** TopLink Smalltalk 1.0 – Descriptors, Mappings, Session, Accessor (ODBC), Cache, Indirection (proxy), Expressions (arrays) | + | ** TopLink Smalltalk 1.0 – Descriptors, Mappings, Session, Accessor (ODBC), Cache, Indirection (proxy), Expressions (arrays), reflection |
** TopLink Smalltalk 2.0 – Expressions (block), TrackingUpdateManager (backup-clones), prototype of Builder UI | ** TopLink Smalltalk 2.0 – Expressions (block), TrackingUpdateManager (backup-clones), prototype of Builder UI | ||
** TopLink Smalltalk 2.1 - UnitOfWork (edit originals, backup-clones track changes) | ** TopLink Smalltalk 2.1 - UnitOfWork (edit originals, backup-clones track changes) | ||
** TopLink Smalltalk 4.0 – QueryFramework, SessionBroker | ** TopLink Smalltalk 4.0 – QueryFramework, SessionBroker | ||
− | ** TopLink Java 1.0 – Descriptors, Mappings, Session, Accessor (JDBC), Cache, QueryFramework, Expressions (tree), UnitOfWork (edit clones), Builder UI (Smalltalk, INI meta-data), Indirection (value-holders) | + | ** TopLink Java 1.0 – Descriptors, Mappings, Session, Accessor (JDBC), Cache, QueryFramework, Expressions (tree), UnitOfWork (edit clones), Builder UI (Smalltalk, INI meta-data), Indirection (value-holders), reflection |
** TopLink 2.0 – ServerSession, Session API interfaces, RemoteSession, JTS, SessionBroker | ** TopLink 2.0 – ServerSession, Session API interfaces, RemoteSession, JTS, SessionBroker | ||
** TopLink 2.5 – EJB-CMP 1.0 | ** TopLink 2.5 – EJB-CMP 1.0 | ||
* WebGain | * WebGain | ||
** TopLink 3.0 – Cache Synch, SDK, XML, Mapping Workbench UI (Java, XML meta-data), EJB-CMP 1.1, JDO | ** TopLink 3.0 – Cache Synch, SDK, XML, Mapping Workbench UI (Java, XML meta-data), EJB-CMP 1.1, JDO | ||
− | ** TopLink 4.0 – WebGain package rename, CMP 2.0, EJB-QL, internationalization | + | ** TopLink 4.0 – WebGain package rename, CMP 2.0, EJB-QL, internationalization, code generation |
* Oracle | * Oracle | ||
** TopLink 9.0.3 – Oracle package rename | ** TopLink 9.0.3 – Oracle package rename | ||
** TopLink 9.0.4 - Sequencing redesign, JDeveloper UI (+MW) | ** TopLink 9.0.4 - Sequencing redesign, JDeveloper UI (+MW) | ||
− | ** TopLink 10.1.3 - JPA preview, EIS, XML (OX), JAXB 1.0, JDeveloper UI, RCM cache coordination | + | ** TopLink 10.1.3 - JPA preview, EIS, XML (OX), JAXB 1.0, JDeveloper UI, RCM cache coordination, change tracking, weaving |
** TopLink 11 - JPA 1.0, JPQL, JAXB 2.0, SDO, DBWS, Eclipse Dali UI (+MW, JDev) | ** TopLink 11 - JPA 1.0, JPQL, JAXB 2.0, SDO, DBWS, Eclipse Dali UI (+MW, JDev) | ||
* Eclipse | * Eclipse | ||
− | ** EclipseLink 1. | + | ** EclipseLink 1.0M1 - Eclipse package rename, open source |
===Design Approach=== | ===Design Approach=== |
Revision as of 10:30, 22 November 2007
Contents
EclipseLink Architecture
Abstract
This document gives an overview of the EclipseLink architecture. It documents the components and functionality of the EclipseLink product. Its purpose is to give EclipseLink developers an overview and understanding of the EclipseLink architecture and how it evolved to where it is today. Its focus is from the internal technical perspective. This is NOT a user document.
EclipseLink was originally an object-relational mapping runtime. A class library that enables Java developers to map their business object model onto a relational database schema. EclipseLink provides object-level access to the objects stored in a relational database.
EclipseLink also provides EIS, object-relational data-type, XML, WebSevice, and SDO components. These components reuse at a minimum the mapping functionality of the core product.
EclipseLink provides a rich feature set to facilitate:
- Decoupling/flexibility of the object and data models
- Object level processing, data transparency
- Usability
- High performance, scalability, concurrency
- Adherence to standards
- Portability
Code Version
EclipseLink 1.0M1
Overview
Introduction
EclipseLink was first developed through consulting engagements in the early 1990’s in the Smalltalk language. It was developed to meet the needs of object-oriented applications that needed to store and access their data from relational databases. Before its first release it was refactored through several client engagements. It basic design has not changed significantly from the initial release in that its architecture is object-oriented, non-intrusive, plugable and meta-model driven.
A rough timeline that includes the major enhancements and refactoring to the product architecture follows:
- The Object People
- TopLink Smalltalk 1.0 – Descriptors, Mappings, Session, Accessor (ODBC), Cache, Indirection (proxy), Expressions (arrays), reflection
- TopLink Smalltalk 2.0 – Expressions (block), TrackingUpdateManager (backup-clones), prototype of Builder UI
- TopLink Smalltalk 2.1 - UnitOfWork (edit originals, backup-clones track changes)
- TopLink Smalltalk 4.0 – QueryFramework, SessionBroker
- TopLink Java 1.0 – Descriptors, Mappings, Session, Accessor (JDBC), Cache, QueryFramework, Expressions (tree), UnitOfWork (edit clones), Builder UI (Smalltalk, INI meta-data), Indirection (value-holders), reflection
- TopLink 2.0 – ServerSession, Session API interfaces, RemoteSession, JTS, SessionBroker
- TopLink 2.5 – EJB-CMP 1.0
- WebGain
- TopLink 3.0 – Cache Synch, SDK, XML, Mapping Workbench UI (Java, XML meta-data), EJB-CMP 1.1, JDO
- TopLink 4.0 – WebGain package rename, CMP 2.0, EJB-QL, internationalization, code generation
- Oracle
- TopLink 9.0.3 – Oracle package rename
- TopLink 9.0.4 - Sequencing redesign, JDeveloper UI (+MW)
- TopLink 10.1.3 - JPA preview, EIS, XML (OX), JAXB 1.0, JDeveloper UI, RCM cache coordination, change tracking, weaving
- TopLink 11 - JPA 1.0, JPQL, JAXB 2.0, SDO, DBWS, Eclipse Dali UI (+MW, JDev)
- Eclipse
- EclipseLink 1.0M1 - Eclipse package rename, open source