what every eclipse developer should know about emf - tutorial at eclipsecon
TRANSCRIPT
Graph Based Views: Adding a little Zest to your next RCP application
What every Eclipse Developer should
know about EMF
Jonas HelmingMaximilian KoegelEclipseSource
?
More speakers
Eike Stepper
Mariot Chauvin
Nitesh Narayan
Otto Wesendonk
Saurav Sakar
Cedric Brun
Why so many speakers?
EMF
EMFStore
CDO
EDAPT
GMF
EEF
EMF Query
EMF Compare
EMF Client Platform
Which persistency frameworkshould we use?EMF
Ignite
Talks
Hands-on Tutorial - Installation
Get a (fresh) instance of Eclipse Helios Modeling Edition for your OS
Copy exampleSolution.zip (will be used later)
Agenda
Start installation (5 minutes)
Introduction (10 minutes)
EMF modeling (1 hour)Ignite: EDAPT
EMF API (30 minutes)
Data-Management for EMF models (15 minutes)Ignites: EMFStore, CDO
User interfaces for EMF models (15 minutes)Ignites: EEF, EMF Client Platform, GMF
Advanced Technology Overview (5 minutes)Ignites: EMF Compare, EMF Query
What is EMF?
The EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, along with a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor.
What is EMF?
Pragmatic Modeling Framework
Code Generation
Structured data model
Java classes
Adapter classesViewing
Command-based editing
Basic editor
+ Stable standard for many model-related technologies
When to use EMF?
For any structured data-model in Eclipse application which might
Get stored
Displayed in a UI
Modified in a UI
EMF workflow
Ecore Model
Java Code
EPackage
EClass
EAttribute
EReference
Package
Class
Attribute
Reference
Code generation
IDE vs. Runtime
Model
Model InstancestartsIDE
Runtime
Example Model: Bowling
Containment in EMF
:Game:Game:Tournament:Matchup:Tournament
BUT...
Why is this better than writing POJOS?
Where is the source code?
Warning:Marketingahead
EDAPT Ignite
Agenda
Introduction (5 minutes)
EMF modeling (1 hour)
EMF API (30 minutes)
Data-Management for EMF models (15 minutes)Ignites: EMFStore, CDO
User interfaces for EMF models (15 minutes)Ignites: EEF, EMF Client Platform, GMF
Advanced Technology Overview (5 minutes)Ignites: EMF Compare, EMF Query
Let`s look at the source code
EMF API
Code Walk-Through
Create and modify EObjects
Use Reflective API
Validation
Utilities
Agenda
Introduction (5 minutes)
EMF modeling (1 hour)
EMF API (30 minutes)
Data-Management for EMF models (15 minutes)Ignites: EMFStore, CDO
User interfaces for EMF models (15 minutes)Ignites: EEF, EMF Client Platform, GMF
Advanced Technology Overview (5 minutes)Ignites: EMF Compare, EMF Query
Break / Please import example model
Switch to a fresh workspace
Import exampleSolution.zip
Concept of AdapterFactories
ILabelProvidergetText()LeagueItem
ProvidergetText()AdapterFactoryLabelProvidergetText()PlayerItemProvidergetText()AdapterFactory
You need thisGenerated by EMF:
...
Data-Management
Load EObjects from a XMI Ressource
Serialize EObjects to a XMI Ressource
Use EMF Commands
Ignite talks:EMFStore
CDO
User Interfaces
Notification
Creating a TreeViewContent Provider
Label Provider
Ignites: EEF, EMF Client Platform, GMF
How does a TreeViewer work?
ContenProvidergetChildren(Object o)LabelProvidergetText(Object o)getImage(Object o)
Input
Advanced Technology Overview
Teneo
XText
Ignite: EMF Compare
Ignite: EMF Query
More Information about EMF
http://eclipse.org/modeling/emf/
Newsgroups:eclipse.tools.emf
eclipse.technology.emft
This tutorial will be blogged:http://eclipsesource.com/blogs/author/jhelming
2011 EclipseSource | February 4th 2011 | http://eclipsesource.com
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource
Presentation Title | Presentation Subtitle | 2008 EclipseSource