Developing Applications using Eclipse Modelling Framework

572 views Asked by At

I'm looking for an MDA (Model Driven Architecture) tools available. I have started with EMF(Eclipse Modelling Framework).

It's look fine for generating core classes.

How it will be helpful to generate one end to end application?

To generate UI elements (JSP/JSF/so on...)
To generate Entities and ORM's
To generate EJB's/Web Services 

Is there extensive modelling has provided in EMF to achieve these requirements?

or any other tools are available to capture an end to end applications in modelling and drive the same to development ?

2

There are 2 answers

3
Andrea Sindico On BEST ANSWER

The Eclipse Modeling Framework provides you with an implementation of the MOF language (http://www.omg.org/spec/MOF) called ECORE. By means of the ECORE, which acts as a meta-meta-model, the modeling languages' meta-models are defined (i.e. the UML meta-model, etc.). You can edit UML diagrams by means of Papyrus or TopCased which are based on the EMF. When you define such diagrams you also create a model file with XMI content conform to the related ECORE meta-model. Now thanks to that you can apply model to text transformations by means of an Eclipse plugin called ACCELEO which is an implementation of the OMG standard MOFM2T transformation language (http://www.omg.org/spec/MOFM2T).

so you can define your own domain specific modeling language (by means of the ECORE), with concepts like UIElement (Jsp,Jsf,etc.) DBEntity and so on as first class entities, create models conform to that and create model to text transformations (ACCELEO) turing them into executable code

OR

you can define (or reuse an already existing) UML profile by means of which you can tag elements of UML models to represent UI elements DB entities, etc. and create model to text transformations turning them into executable code

4
Chris Gerken On

The best technology for this is M2T-JET. It's a very lightweight templating framework that doesn't force you into using any one model. With JET you can generate out entire multi-project applications.

Here's a link to my answer for another JET question in which I give a JET example