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

7,120 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,120
On SlideShare
0
From Embeds
0
Number of Embeds
780
Actions
Shares
0
Downloads
116
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. <ul>What every Eclipse Developer should know about EMF </ul><ul>Jonas Helming <li>Maximilian Koegel
  2. 2. EclipseSource </li></ul>?
  3. 3. More speakers Eike Stepper Mariot Chauvin Nitesh Narayan Otto Wesendonk Saurav Sakar Cedric Brun
  4. 4. Why so many speakers? EMF EMFStore CDO EDAPT GMF EEF EMF Query EMF Compare EMF Client Platform
  5. 5. EMF Which persistency framework should we use? Ignite Talks
  6. 6. Hands-on Tutorial - Installation <ul><li>Get a (fresh) instance of Eclipse Helios Modeling Edition for your OS
  7. 7. Copy exampleSolution.zip (will be used later) </li></ul>
  8. 8. Agenda <ul><li>Start installation (5 minutes)
  9. 9. Introduction (10 minutes)
  10. 10. EMF modeling (1 hour) </li><ul><li>Ignite: EDAPT </li></ul><li>EMF API (30 minutes)
  11. 11. Data-Management for EMF models (15 minutes) </li><ul><li>Ignites: EMFStore, CDO </li></ul><li>User interfaces for EMF models (15 minutes) </li><ul><li>Ignites: EEF, EMF Client Platform, GMF </li></ul><li>Advanced Technology Overview (5 minutes) </li><ul><li>Ignites: EMF Compare, EMF Query </li></ul></ul>
  12. 12. What is EMF? <ul>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 . </ul>
  13. 13. What is EMF? <ul><li>Pragmatic Modeling Framework
  14. 14. Code Generation
  15. 15. Structured data model
  16. 16. Java classes
  17. 17. Adapter classes </li><ul><li>Viewing
  18. 18. Command-based editing </li></ul><li>Basic editor
  19. 19. + Stable standard for many model-related technologies </li></ul>
  20. 20. When to use EMF? <ul>For any structured data-model in Eclipse application which might <li>Get stored
  21. 21. Displayed in a UI
  22. 22. Modified in a UI </li></ul>
  23. 23. EMF workflow Ecore Model Java Code EPackage EClass EAttribute EReference Package Class Attribute Reference Code generation
  24. 24. IDE vs. Runtime IDE Runtime starts
  25. 25. Example Model: Bowling
  26. 26. Containment in EMF
  27. 27. BUT... <ul><li>Why is this better than writing POJOS?
  28. 28. Where is the source code? </li></ul>Warning: Marketing ahead
  29. 29. EDAPT Ignite
  30. 30. Agenda <ul><li>Introduction (5 minutes)
  31. 31. EMF modeling (1 hour)
  32. 32. EMF API (30 minutes)
  33. 33. Data-Management for EMF models (15 minutes) </li><ul><li>Ignites: EMFStore, CDO </li></ul><li>User interfaces for EMF models (15 minutes) </li><ul><li>Ignites: EEF, EMF Client Platform, GMF </li></ul><li>Advanced Technology Overview (5 minutes) </li><ul><li>Ignites: EMF Compare, EMF Query </li></ul></ul>
  34. 34. Let`s look at the source code
  35. 35. EMF API <ul><li>Code Walk-Through
  36. 36. Create and modify EObjects
  37. 37. Use Reflective API
  38. 38. Validation
  39. 39. Utilities </li></ul>
  40. 40. Agenda <ul><li>Introduction (5 minutes)
  41. 41. EMF modeling (1 hour)
  42. 42. EMF API (30 minutes)
  43. 43. Data-Management for EMF models (15 minutes) </li><ul><li>Ignites: EMFStore, CDO </li></ul><li>User interfaces for EMF models (15 minutes) </li><ul><li>Ignites: EEF, EMF Client Platform, GMF </li></ul><li>Advanced Technology Overview (5 minutes) </li><ul><li>Ignites: EMF Compare, EMF Query </li></ul></ul>
  44. 44. Break / Please import example model <ul><li>Switch to a fresh workspace
  45. 45. Import exampleSolution.zip </li></ul>
  46. 46. Concept of AdapterFactories Generated by EMF: ... You need this
  47. 47. Data-Management <ul><li>Load EObjects from a XMI Ressource
  48. 48. Serialize EObjects to a XMI Ressource
  49. 49. Use EMF Commands
  50. 50. Ignite talks: </li><ul><li>EMFStore
  51. 51. CDO </li></ul></ul>
  52. 52. User Interfaces <ul><li>Notification
  53. 53. Creating a TreeView </li><ul><li>Content Provider
  54. 54. Label Provider </li></ul><li>Ignites: EEF, EMF Client Platform, GMF </li></ul>
  55. 55. How does a TreeViewer work? Input
  56. 56. Advanced Technology Overview <ul><li>Teneo
  57. 57. XText
  58. 58. Ignite: EMF Compare
  59. 59. Ignite: EMF Query </li></ul>
  60. 60. More Information about EMF <ul><li>http://eclipse.org/modeling/emf/
  61. 61. Newsgroups: </li><ul><li>eclipse.tools.emf
  62. 62. eclipse.technology.emft </li></ul><li>This tutorial will be blogged: </li><ul><li>http://eclipsesource.com/blogs/author/jhelming </li></ul></ul>

×