Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
IBM Software Group /Model-Driven Code Development using EMF andJET Michail Matjuchin IBM Software Group, Rational Austria ...
IBM Software Group /2                      Michail Matjuchin   ©© 2010 IBM Corporation                                    ...
IBM Software Group /A little bit about JET History3                                Michail Matjuchin   ©© 2010 IBM Corpora...
IBM Software Group /    Agenda Short JET Overview JET Demo How IBM extends EMF with UML Front-End Standard Transformat...
IBM Software Group /What you will see in the Demo     Simplest Way to use JET from Java Code     Develop and Run JET Tra...
IBM Software Group /JET Installation on Eclipse6                             Michail Matjuchin   ©© 2010 IBM Corporation  ...
IBM Software Group /How Does JET work ?     Originally built from the source code of Tomcat’s JSP compiler     JET works...
IBM Software Group /Simplest Way to use JET8                         Michail Matjuchin   ©© 2010 IBM Corporation          ...
IBM Software Group /JET Installation on Eclipse9                             Michail Matjuchin   ©© 2010 IBM Corporation  ...
IBM Software Group /JET Installation on Eclipse10                            Michail Matjuchin   ©© 2010 IBM Corporation  ...
IBM Software Group /What are JET, JET2, EMFT JET, …      JET 1 = Java Emitter Templates.       – Started out as separate ...
IBM Software Group /Simplest Way to use JET12                        Michail Matjuchin   ©© 2010 IBM Corporation          ...
IBM Software Group /Simplest Way to use JET     Out-of-the-Box Loaders:      EMF based: org.eclipse.jet.emf      XML: or...
IBM Software Group /Simplest Way to use JET14                        Michail Matjuchin   ©© 2010 IBM Corporation          ...
IBM Software Group /You need a little bit more in “real life”15                                          Michail Matjuchin...
IBM Software Group /JET Authoring TheoryNormal                             Pattern RecognizeddevelopmentBuild a Reference ...
IBM Software Group /JET Transformation using Authoring Tool in RSA17                                         Michail Matju...
IBM Software Group /Model-to-Text Transformation / Steps „Backward“ move from the   Reference Solution to a JET   Transfor...
IBM Software Group /Important Caveats      JET does not help you recognize a pattern. Possible clues you have:        – “...
IBM Software Group /Steps to a complete solution                                     1. Jet Authoring                     ...
IBM Software Group /Model-to-Text Transformation / Steps      Create a Reference Solution (Exemplar)      Identify Patte...
IBM Software Group /“Out-of-the-Box” JET Functionality22                                   Michail Matjuchin   ©© 2010 IBM...
IBM Software Group /JET & UML23                     Michail Matjuchin   ©© 2010 IBM Corporation                           ...
IBM Software Group /What about Code-Merge24                      Michail Matjuchin   ©© 2010 IBM Corporation              ...
IBM Software Group /What about Code-Merge25                      Michail Matjuchin   ©© 2010 IBM Corporation              ...
IBM Software Group /26                     Michail Matjuchin   ©© 2010 IBM Corporation                                    ...
IBM Software Group /Transformations in MDDSource Model (UML)                   Transformations                            ...
IBM Software Group /Standard Transformations provided by RSA      UML-to-EJB 3      UML-to-JPA (Java Persistence API)   ...
IBM Software Group /RSA provides “Transformation Authoring Framework” tochange/modify existing Transformations      Model...
IBM Software Group /30                     Michail Matjuchin   ©© 2010 IBM Corporation                                    ...
Upcoming SlideShare
Loading in …5
×

Model driven code development using emf and jet

1,183 views

Published on

Vortrag von Michal Matjuchin beim Eclipse DemoCamp November 2012/Vienna

  • Be the first to comment

  • Be the first to like this

Model driven code development using emf and jet

  1. 1. IBM Software Group /Model-Driven Code Development using EMF andJET Michail Matjuchin IBM Software Group, Rational Austria © 2012 IBM Corporation
  2. 2. IBM Software Group /2 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  3. 3. IBM Software Group /A little bit about JET History3 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  4. 4. IBM Software Group / Agenda Short JET Overview JET Demo How IBM extends EMF with UML Front-End Standard Transformation in Rational Software Architect (RSA) How to use JET in order to extend standard RSA behavior4 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  5. 5. IBM Software Group /What you will see in the Demo  Simplest Way to use JET from Java Code  Develop and Run JET Transformation (using Authoring Tool in RSA)  Create UML Model as Front-End for EMF Model  Create UML-to-EMF Transformation5 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  6. 6. IBM Software Group /JET Installation on Eclipse6 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  7. 7. IBM Software Group /How Does JET work ?  Originally built from the source code of Tomcat’s JSP compiler  JET works similar to JSP – Templates are to JET what JSP’s are to J2EE – Generators are to JET what JSP-generated Servlets are to J2EE – Generated source code is to JET what HTML output is to J2EE7 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  8. 8. IBM Software Group /Simplest Way to use JET8 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  9. 9. IBM Software Group /JET Installation on Eclipse9 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  10. 10. IBM Software Group /JET Installation on Eclipse10 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  11. 11. IBM Software Group /What are JET, JET2, EMFT JET, …  JET 1 = Java Emitter Templates. – Started out as separate component of the Eclipse Modeling Project (EMF) - 2004  JET 2 – An initiative to unify Design Pattern Toolkit (DPTK) and the JET component of EMF – Lives in EMF Technology (EMFT) project, hence the name EMFT JET – JET 2 = EMFT JET11 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  12. 12. IBM Software Group /Simplest Way to use JET12 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  13. 13. IBM Software Group /Simplest Way to use JET Out-of-the-Box Loaders:  EMF based: org.eclipse.jet.emf  XML: org.eclipse.jet.emfxml13 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  14. 14. IBM Software Group /Simplest Way to use JET14 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  15. 15. IBM Software Group /You need a little bit more in “real life”15 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  16. 16. IBM Software Group /JET Authoring TheoryNormal Pattern RecognizeddevelopmentBuild a Reference Solution Build a JET Transformation16 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  17. 17. IBM Software Group /JET Transformation using Authoring Tool in RSA17 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  18. 18. IBM Software Group /Model-to-Text Transformation / Steps „Backward“ move from the Reference Solution to a JET Transformation that can Reference produce it Solution Actions and Templates Generated Input Model Solution18 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  19. 19. IBM Software Group /Important Caveats  JET does not help you recognize a pattern. Possible clues you have: – “I keep doing the same thing over and over again.” – You find yourself copying code.  JET does not help you build a reference solution. This is the job of the ADC tooling. A good reference solution: – Reflects domain knowledge. – Employs best practices. – Identifies and (as much as possible) separates areas where the solution is incomplete (and would require user customization). – Works19 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  20. 20. IBM Software Group /Steps to a complete solution 1. Jet Authoring Reference Solution User Input Front-end JET Transformation Model Model 2. Model-to-model authoring20 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  21. 21. IBM Software Group /Model-to-Text Transformation / Steps  Create a Reference Solution (Exemplar)  Identify Patterns in your Reference Implementation  Use JET Tooling to produce „Code Generator“ – Create EMF Model of your Reference Solution – Create JET Templates If graphic front-end is needed  Identify the graphical model (UML + Profiles) or UML-based DSL  Build a Model-to-Model Transformation using Mapping Editor  Invoke JET Transformation21 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  22. 22. IBM Software Group /“Out-of-the-Box” JET Functionality22 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  23. 23. IBM Software Group /JET & UML23 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  24. 24. IBM Software Group /What about Code-Merge24 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  25. 25. IBM Software Group /What about Code-Merge25 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  26. 26. IBM Software Group /26 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  27. 27. IBM Software Group /Transformations in MDDSource Model (UML) Transformations JET & UML API Model-to-Model Transformations Mapping Editor JET Transformations Intermediate ECORE Model Target Source Code27 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  28. 28. IBM Software Group /Standard Transformations provided by RSA  UML-to-EJB 3  UML-to-JPA (Java Persistence API)  UML-to-WSDL (Web Services)  UML-to-SCA (Service Component Arcitecture)  UML-to-SOA (WSDL, XSD, BPEL)  UML-to-XSD (XML Schema Definition)  UML-to-REST (JSON)  C#, C++ und VB28 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  29. 29. IBM Software Group /RSA provides “Transformation Authoring Framework” tochange/modify existing Transformations  Model-to-Text Transformations  Model-to-Model Transformations  Transformations – Extensions29 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation
  30. 30. IBM Software Group /30 Michail Matjuchin ©© 2010 IBM Corporation 2012 IBM Corporation

×