Search code examples
javaarchitecturemetaprogrammingmda

Is model driven architecture worth it and what is the state of the art in the tooling?


We have a recurring problem in our shop where we end up with 3 or 4 different representations of the same class/entity.

A java version, an xml version, a hibernate version, a json version... you get the point.

Obviously this creates maintenance problems.

Model driven architecture is probably more than this, but what I'd really like is a system that lets me define a class or an entity once, in one way, and then generate various representations. (maybe I am not using the correct terminology for this)

It really isn't that straight forward, of course, because let's say we have a java object that we want to turn into JSON for sending over the wire - there might not be an exact 1-1 correspondence between the members in the java object to the fields in JSON - there might be some optimizations, or whatever.

I've looked at things like AndroMDA and EMF in the past, and found them either lacking or clumsy. I do not know how they stack up these days, or what other systems there are.

What are SO's opinions on MDA and or meta-data driven programming? Have the tools become mature enough for serious consideration?

Thanks.


Solution

  • Check out Naked Objects

    http://nakedobjects.codeplex.com/

    and it's apache equivalent

    http://isis.apache.org/index.html

    The fact that both of these frameworks are almost unheard of should answer your question IMHO. I think ending up with inconsistent representations of the same objects indicates a flaw in your process, which isn't something you should try and solve with a framework.