OpenXava is a framework for rapid development of business applications using Java. It is easy to learn and one can have an application up in no time. At the same time, OpenXava is extensible, customizable and the application code is structured in a very pure object oriented way, allowing you to develop arbitrarily complex applications.
The OpenXava approach for rapid development differs from those that use visual environments (like Visual Basic or Delphi) or scripting (like PHP). Instead, OpenXava uses a model-driven development approach, where the core of your application are Java classes that model your problem. This means you can stay productive while still maintaining a high level of encapsulation.
The all-new version of OpenXava, OpenXava 4.0, improves significantly the user experience, producing a Rich Internet Application user interface. Additionally, some interesting improvements has been done for the developers, such as Groovy, JPA 2.0 or Dependency Injection.
OpenXava does not generate code, but it creates the application just-in-time from the domain classes (simple Java or Groovy classes annotated with JPA). Thus, the initial development is rapid, but also the amount of code you have to maintain for all application lifecycle is small always.
What do you think about domain-driven frameworks?
Do you think that working with command-line passive code generator, like Spring Roo or Grails do, is the best approach for productivity?