The Eclipse Modeling project provides a huge variety of modeling technologies for almost every use case. At its core lies a common language and stable standard for Eclipse models, the Eclipse Modeling Framework (EMF).
Our course introduces the basics of EMF and enables participants to create models in EMF, generate code and build applications based on these models. Course participants will iteratively create a model and generate code from it. In parallel, an application based on this model will be developed.
Furthermore, the course provides an overview of important additional frameworks in the Eclipse Modeling Projects, which can be used in combination with EMF. EMF Forms, the framework for the development of form-based UIs, is covered in-depth in the EMF Forms Training.
The course is designed by project leads and committers of different Eclipse Modeling Projects, with many years of experience with the technologies. Keeping a small class format (max. 6-8 participants) ensures that participants gain a broad understanding of the Eclipse Modeling Framework and get plenty of individual support from our experts.
Duration: 2 days
Dates and Registration
For dates of public trainings in Munich and exclusive onsite trainings please get in contact with us.
Course Goals, Audience and Prerequisites
Course Goals
- Understand fundamental concepts of Modeling and EMF in particular
- Apply these concepts in EMF, learn how to create models and generate code
- Learn how to build custom applications based on EMF
- Experience the improved efficiency provided by modeling
- Gain an overview of available modeling technologies and frameworks in the Eclipse ecosystem
Target Audience
- Developers, who have not utilized modeling or EMF in their projects
- Developers, who want to transfer their modeling knowledge from modeling technologies other than EMF
- Architects and tool-chain managers who want to apply modeling in their software projects
Prerequisites
- Knowledge of Java and object-oriented programming
- Experience using the Eclipse IDE is beneficial
- Basic knowledge of any abstract language, such as UML, is beneficial
Course Outline
Introduction to EMF
- History of Modeling and EMF, example applications
- Workflow overview from modeling to running source code
- Architectural overview
EMF Modeling – basics
- Creation of an EMF model in Ecore
- Generating source code
- Creating model instances
- Iterative adaptation of the model and regeneration of source code
EMF Runtime API
- Instantiation of entities
- Modification of entities
- Reflective access
- EMF Commands
- Best practices of API usage
EMF Persistence
- XMI Serialization
- Persistence framework overview: CDO, EMFStore, Teneo
User interface
- Usage and adaptation of generated UI providers
- Creation of tree-, table- and form-based views
- EMF Databinding
- Notification and listener concepts
- UI framework overview: GMF, EEF, EMFCP
EMF Modeling – Advanced
- Advanced modeling concepts and options
- Advanced modeling tools (Ecore Tools, EMFCompare)
- Configuration of the code generation
- URI handling
- Defining constraints for EMF models in Java
Additional Eclipse Modeling Frameworks
- Graphical Modeling Framework (GMF) – Overview
- Textual Modeling (XText) – Overview
More Info
Format
- Course duration: 2 days
- Course structure: instructor led with at least 50% hands-on labs and tutorials
- Learn better in a small group: maximum 6-8 participants per instructor
- Equipment: participants supply their own computer with an up-to-date installation of Eclipse
Languages
Classes in Germany are held in German. All other courses are held in English. Other languages are available on request.