Model-Driven Architecture, as defined by the Object Management Group (OMG) in 2001 (Wikipedia link), focuses on "forward engineering, i.e. producing code from abstract, human-elaborated modelling diagrams (e.g. class diagrams)". In short, you focus your efforts on defining and maintaining a model, typically UML, and then sections or subsections of your application are generated for you from your model. For example, you may define classes in a class diagram that represent entities in your application's domain model, and from those you may generate Hibernate classes, including their relationships. Furthermore, you may define DAO classes, service classes, etc., and then wire them together in sequence or collaboration diagrams and then generate substantial portions of your application from them.
I am building an article series on MDA for InformIT.com, so I would like to solicit your opinion about MDA. Specifically:
And I welcome any other opinions you may have.
<html>
<body>
<h1 wicket:id="message">This is my message</h1>
</body>
</html>
public class MyPage extends WebPage {In the article that will publish this week, I build a more substantial example of a simple content management system that I originally built using Spring MVC for JavaWorld, that illustrates how to use the ListView as a repeater to display multiple articles in the "repository" (ok, it's hard coded inside the application for now), how to handle links, and how to navigate from the HomePage to an Article page. The next week I'll complete the content that I built for the Spring MVC example by building and handling the form submission.
public MyPage() {
add( new Label( "message", "Hello, Wicket!" );
}
}