Dynamic Rebinding Of EMF Objects

Cameron Bateman (Oracle )

Modeling · Long
Thursday, 15:10, 40 minutes | Silchersaal


EMF is an excellent tool for creating new models, but it can also be used to impose modeling semantics on existing systems that don't support it, like DOM. We will explore how to use EStore and feature delegation to dynamically rebind EMF objects to different sources of data. As a case study, we will explore the problem of editing XML files in the Eclipse Web Tools Project (WTP). WTP needs to support editing JavaEE artifacts using both DOM and EMF objects simultaneously. The current solution to this problem is to load both the DOM and EMF objects with the same data. This causes a lot of concurrency issues since two copies of every piece of data must be maintained in two different formats and constantly synchronized back and forth as changes in one copy get propagated to the other. There is a better way. In this talk you will learn how to use EStore and feature delegation to dynamically bind your EObjects to different data sources. You will see how to propagate data and change events between clients of your EObjects and the underlying data store. Code for a basic framework that makes it easier to write EStore's will be made available with the presentation materials.

Cameron is the technical lead for Webtier Tools on Oracle Enterprise Pack for Eclipse (OEPE) and a committer on the JSF sub-project under the Eclipse WTP project. He has over 12 years of experience in software development with more than 5 years working on Eclipse tool products. Cameron's current role on OEPE includes semantic modeling of JavaEE web artifacts using EMF. Cameron is a regular technical speaker at EclipseCon and has also given talks on JSF and Facelet tooling at Eclipse Summit Europe and JavaOne.

brox logo

bandxi logo

empolis logo

ibm logo

ww-im logo

sigsdatacom logo

bsi logo

purple scout logo

froglogic logo

microsoft logo

Eclipse Magazin logo

osbf logo

bredex logo

sopera logo

microdoc logo

oreilly logo

instantiations logo

cloudsmith logo

compeople logo

itemis logo

dpunkt logo

eclipsesource logo

sap logo

oracle logo

vogel logo

open-xchange logo

Actuate logo

report a problem with this page