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 it easier the development customize the application Internal or External browser? In order to test the application you can use both the internal browser (the one that opens inside Eclipse IDE by default when you launch the application) or any other browser (external) you wish, as far as you point to the same URL. Using RAP you may see often [...]

2017-08-13T09:37:38+00:00 By |

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 RAP for the web, but for the purpose of this article we will focus only on the web side. Setting up the environment First of all ensure you have a recent Eclipse IDE installed and running on a brand new workspace. If you downloaded the Eclipse Modeling Package then you already have EMF Parsley installed, otherwise you can install it [...]

2017-08-13T09:27:40+00:00 By |

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 go further and develop a database Application with the same dual approach. We will use EMF and Teneo for this, in the same way showed in the series of tutorials "From Model to Persistence" at page EMF Development. In the following instructions we must make a clear distinction between installing some feature into the IDE or into the Target Platform [...]

2012-08-15T16:06:27+00:00 By |

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 a broader set of Eclipse Projects, Graphical Modeling Project (GMP). A s the official Wiki states, GMF ÔÇ£provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEFÔÇØ, that is it acts like a bridge between EMF (that allows the model definition) and GEF (a lightweight graphical framework, based on MVC architecture), generating the complete [...]

2012-06-08T11:16:22+00:00 By |

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 make each client access a server which shares them the same model instance. In this tutorial we will see how to: install CDO create a CDO server create a CDO client You can find a detailed documentation about CDO at the following link http://www.eclipse.org/cdo/documentation/ While you can download the various versions here http://www.eclipse.org/cdo/downloads/ Installing CDO Let's see now how to [...]

2014-12-22T17:02:55+00:00 By |

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), re-open file Library.genmodel, and re-generate the sources for the following plug-ins: Model, Edit and Editor (remember to click on each of the first three context-menu items) Re-launch the application (doing a Clean and checking the launch, in case of errors)   If you check the database now, you'll find that table "author" has a new "surname" field, which the application [...]

2012-06-08T11:29:09+00:00 By |

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 From Model to Persistence Eclipse EMF: Designing the Model Eclipse EMF: a CRUD at no-cost Teneo Setup for Eclipse 4.2 ÔÇô Juno Eclipse EMF: an out-of-the-box CRUD for a database Eclipse EMF: updating the Model CDO - Connected Data Objects Visual Development WindowBuilder: installing and EMF databinding WindowBuilder: advanced databinding with CDO Single Sourcing with Rich Ajax Platform (RAP) Single [...]

2014-12-19T15:51:31+00:00 By |

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 to the EMF generated plugins, we can have our model persisted and maintained on a database. We will use MySQL as the target database, so make sure you have the access to such a database server (you can always download it at http://www.mysql.com/downloads/mysql). We'll use the "test" schema (pre-loaded empty while installing MySQL); anyway you can use another schema simply [...]

2013-01-20T10:57:25+00:00 By |

Eclipse EMF: a CRUD at no-cost

This tutorial follows the one dedicated to modeling with EMF ( Eclipse EMF: Designing the Model ) In this article we will see how, through EMF automatic code generation tools, it's possible to generate a CRUD, an application that is able to perform typical operations for manipulating the contents of the model: Create (= insert), Read (= Select), Update and Delete. This management requires some form of persistence, however a "channel" storage of these information. In fact, in most cases it should be possible, for example: reload the data stored during a previous run or share data with other instances [...]

2012-06-08T11:52:29+00:00 By |

Eclipse EMF: Designing the Model

Eclipse Modeling Framework (EMF) is among the many frameworks of Eclipse ecosystem, the one that allows us to model the so-called application domain of your application, which is the set of entities, their attributes and their relationships. In this tutorial we will see how to use EMF to create the Model of an application. Before proceeding make sure you have a version of Eclipse with everything you need. This article was written using version Eclipse Juno Modeling. The Library model we will use as a sample is taken from the official EMF Tutorial : it consists of the entities Author, [...]

2013-10-08T23:38:31+00:00 By |