Tutorials EMF, GMF, CDO

The EMF (Eclipse Modeling Framework) 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.
GMF (Graphical Modeling Framework) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF (Graphical Editing Framework).
The CDO (Connected Data Objects) Model Repository is a distributed shared model framework for EMF models and meta models. CDO is also a model runtime environment with a focus on orthogonal aspects like model scalability, transactionality, persistence, distribution, queries and more.
CDO has a 3-tier architecture supporting EMF-based client applications, featuring a central model repository server and leveraging different types of pluggable data storage back-ends like relational databases, object databases and file systems. The default client/server communication protocol is implemented with the Net4j Signalling Platform.

Build your EMF Parsley application

Introduction In a previous article we have seen how to create from scratch a web application example with EMF Parsley. Now we’ll go a step further and in particular we will see how to: make some little tweaks to make … Continue reading

EMF Parsley: a web application in a few steps

Introduction With EMF Parsley you can quickly build and easily maintain a web application. Let’s see how. Indeed Parsley allows you to build both desktop and web applications from the same code (single-sourcing), leveraging on Eclipse RCP platform and using … Continue reading

Single sourcing for databases management with RAP, EMF and Teneo

In the previous article Single sourcing with Eclipse RAP we have seen how to develop an Eclipse project and then run it both as a Desktop (RCP) Application an as a Web (RAP) Application. Now we will see how to … Continue reading

Eclipse GMF: a graphical editor for EMF models

Now we are going to see how to generate a complete graphical editor for the EMF model we created in preceding tutorials, Library.ecore. For this purpose, we need to work with another framework, Graphical Modeling Framework (GMF), currently included in … Continue reading

WindowBuilder: advanced databinding with CDO

Now we will see how, starting from previous tutorial, we can handle the management of the data showed into the table. Let’s get back to the Design tab and set a GridLayout, picking it up from the palette and dropping … Continue reading

WindowBuilder: installing and EMF databinding

In the tutorial Eclipse EMF: an out-of-the-box CRUD for a database we saw how to, starting from an EMF model, we can automatically generate a database-aware application. The advantage is clear: we do not need to write code, aside from … Continue reading

CDO – Connected Data Objects

An introduction to CDO This framework, which is a component of the EMF project, allows the sharing of an EMF model. Whereas with Teneo we can make each client access a database (implementing a two-tier client/server solution), with CDO we … Continue reading

Eclipse EMF: updating the Model

Now we will see how to handle a Model update. Let’s say we want to add the “surname” attribute to Author entity. Open the model diagram (Library.ecorediag) and add the new attribute still of EString type Save the changes (Ctrl-S), … Continue reading

EMF Development

This section was designed with the aim to be a practical path for learning how to quickly develop Eclipse RCP application based on EMF (Eclipse Modeling Framework) (work is in progress …) First steps How to create an RCP application … Continue reading

Eclipse EMF: an out-of-the-box CRUD for a database

This tutorial assumes that you have followed these other tutorials in the specified order: Eclipse EMF: Designing the Model Eclipse EMF: a CRUD at no-cost the goal here is to show how, with just some extra lines of code added … Continue reading