Model-Driven Node - 2013
TLDR: This is a Rails-style code generator which uses a java templating engine and XSD schemas to generate a full Nodejs application at an SAP scale (1000+ database tables (collections)).
I'm turning Marshall McLuhan on his head.
In 2013, the message is now the medium! :)
Design your message (the xsd schema) and let it be the Driver of Change. Generate all other artifacts from your messages and then your bug count, inconsistencies and maintenance plummet. The simplicity of Node.js lends itself to this approach. In theory, your labor-intensive areas become ( in yellow highlights ):
- Schema design (the xsd)
- Top-half of UI code
- Business logic
- Integration points
Node.js was designed for the modern Web and for this project I'm using the MEAN stack. There's less impedance-mismatch, less transformation (json<->json), less configuration. The application becomes more dynamic but less complex.
Even integration points are simpler because they share common language and design contraints.
Imagine a commercial e-commerce system with 1000+ database tables (aka Websphere Commerce Suite, SAP or Oracle ATG) which is regenerated after custom schema changes. No more five-year projects, no more armies of minions hand-coding bugs year after year...
The template engine is generic. Drop a CRM schema into it. Drop an ERP schema into it and create a full enterprise system with much less complexity. The control points are the schema and templates, it's a level of abstraction above the code.