• I've been using https://sourceforge.net/projects/mygeneration/ for a while now. It's not identical to RAP but it's a code generator. The way I have designed my templates solves about 90% of the things you listed. My templates create a MVVM WPF/Silverlight application.

    It takes a database schema that is well defined.

    It creates:

    * the stored procedures that application will need to access the data

    * the the Model classes for each database entity

    * * The model classes have built in validations that are derived from the schema such as null checks, length checks, or even constraints added using CHECK at the database level. This allows the application to tell you when something is wrong even before you have saved it. (What are the chances you wouldn't mess one of those up if you did that by hand ?)

    * the DAO interfaces that the application will use to ask for data

    * * a SQL DAO implementation that will be used by the WCF service

    * * a WCF DAO implementation that the application can use to connect to my WCF service

    * the WCF Service

    * the management layer that tracks all the changes to my object and keeps everything in sync

    * the various view models for managing each entity

    * the XAML for the views (very generic)

    * the thread manager to make sure all blocking calls run async so the application is always responsive.

    I can generate about 90% of the code for my applications with a push of a button. Everything is consistent from one application to another. If you add a column to a table, or change a definition some where just regenerate everything and you are done. No having to spend hours going through thousands of lines of code updating everything.

    I can spend core of my time worrying about the user interface and how the user interacts with my application instead of all the implementation details.

    If a bug is found you just fix it in the template and regenerate again and you are done.

    Overall it's a beautiful concept.