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

As a contributor to both Naked Objects and Apache Isis, I can confirm the other answer from @dnellis74 given that these both address the issue of having multiple representations of the same thing; with these frameworks you write your domain object once, and then it is reflected automatically to the user as a persistence layer.

Of course, (and I would say this, wouldn't I?) I don't agree with @dnellis74 that the fact that these frameworks are little known means that they should be dismissed out of hand; you should decide for yourself.

One other point that might be of interest; both these frameworks are in the process of implementing the Restful Objects spec, which aims to expose your domain objects automatically via a RESTful API, and let you skin it or integrate with it as you see fit. The .NET impl is pretty complete, the Java impl is lagging a bit but even so has a demo that you can check out.

As for MDA, I was sceptical from the outset when it was first being tauted by the OMG, to the extent that I wrote an article about it on TheServerSide. I think I called it right.

Dan


To address your core concern, you can define a Java class for your domain object. Then, you can annotate the class with JAXB and Hibernate annotations. This way you have a single definition of your entity(the Java class) that can be output in various representations, JAXB for JSON and XML, Hibernate for persistence.