What every Eclipse developer should know about EMF - Tutorial at EclipseCon

Download What every Eclipse developer should know about EMF - Tutorial at EclipseCon

Post on 16-Apr-2017

7.094 views

Category:

Technology

0 download

Embed Size (px)

TRANSCRIPT

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

Recommended

View more >