EclipseCon 2007 March 5-8, Santa Clara California





Atom feed

Integrating EMF with JPA--Enabling Enterprise Data Access for RCP Applications

Stephan Eberle (Geensys), Shaun Smith (Oracle)

Modeling · Demo

Wednesday, 16:30, 50 minutes | Room 206

7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18
·
19

Stephan Eberle

Shaun Smith

The Eclipse Modeling Framework (EMF) is used extensively throughout the Eclipse Platform and by applications built on the Rich Client Platform (RCP). And up to this point, the size of EMF models has been relatively small-- tens or hundreds of kilobytes (e.g., various Java EE deployment descriptors). For storing model instances, EMF provides an XML based persistence mechanism which works well for these relatively small models. However enterprise applications (e.g., engineering tools for embedded software, customer relationship management systems) usually involve very large amounts of data-- often hundreds of megabytes--and that data is typically stored in relational databases, not XML.

In this demo we'll present solutions to the problem of persisting EMF models into relational databases using Object/Relational Mapping (O/RM). Arising out of a collaboration between Bosch and Oracle to persist large models of engineering data, the commercial Oracle TopLink framework was extended to support the unique characteristics of EMF models. With the availability of the open source TopLink Essentials Java Persistence API (JPA) reference implementation, we are now migrating to this new standard.

In both cases, TopLink/EMF integration supports model-driven (i.e. generative) creation of object-relational mappings and database schema (top down), a database schema driven approach (bottom up), as well as meet in the middle (mapping between existing models and database schemas). EMF's intrinsic persistence semantics are provided through a new implementation of EMF's Resource interface for JPA. It supports direct interaction with rich client applications and editors as well as retrieval of EMF objects using JPQL queries. Lazy loading is at the granularity of objects rather than entire resources/XML documents to minimize memory usage. Topics we'll cover include the origin of the work at Bosch in the development of a custom IDE for embedded systems design, current project status, the challenges of integrating standard JPA O/RM with EMF generated models, and a comparison with other EMF persistence solutions.

Stephan Eberle works as product development manager at Geensys in France. He is responsible for the new Artop open source project (AUTOSAR TOol Platform) providing building blocks for Eclipse-based design tools for automotive software. He is also committer for the Teneo component of the EMF project in Eclipse. Stephan has 10 years of practical and scientific experience in developing component-based software for embedded systems. Since 5 years, he has been developing model-based design tools for embedded software using Eclipse, EMF, openArchitectureWare, and EclipseLink. Prior to joining Geensys, he was working for Robert Bosch in Germany.

Shaun Smith is co-lead of the Eclipse Dali Java Persistence API (JPA) Tools Project and a product manager for Oracle TopLink, Oracle's JPA implementation and the basis of the open source 'TopLink Essentials' JPA Reference Implementation. He has been building systems using object-relational mapping technologies for almost a decade in both Java and Smalltalk in the banking, telecommunications, and energy industries. Shaun's a frequent conference presenter and has recently spoken at Eclipse Summit Europe, EclipseWorld, The Server Side Symposium, JavaPolis, and JavaOne.

Floor Plan
(go to eclipsezilla submission)

Gold sponsors

IBM logo

Klocwork logo

Ingres logo

BEA logo

Windriver logo

Business Objects logo

Red Hat logo

Actuate logo

Silver sponsors

Innoopract logo

Code Gear

Cloudsmith

Instantiations

Telelogic

Lynux Works

Google logo

Oracle

Activegrid

Nexaweb

Sybase logo

ACCESS

Compuware logo

Genuitec

Media sponsors

SD Times logo

Software Test & Performance logo

ACM Queue logo

Eclipse Magazin logo

TheServerSide Java Symposium

Eclipse Review logo

Eclipse Magazine logo

Embedded Computing logo

Eclipse Source logo

GoingtoMeet.com logo

Methods and Tools logo

Eclipsezone logo

Eclipse Developers Journal logo

Addison-Wesley logo

Enterprise Open Source logo