what every eclipse developer should know about emf - tutorial at eclipsecon

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

If you can't read please download the document

Upload: jonashelming

Post on 16-Apr-2017

7.109 views

Category:

Technology


0 download

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