Model-Driven Node: XJC Compiler
My code generation tool originally used xjc-generated java classes. I tried to remove that dependency with Velocity's Anakia but it left too many edges cases. Xsd schema rules are more complex than java classes, so then I tried Sun's XJC schema compiler. Duh. Go to the source.
Fifteen bugs later, I achieved my goal of generating 1000+ collections and with less code. The remaining bugs are mostly schema inconsistencies, probably from how those schemas were created. I added an ObjectGrapher to guesstimate the base API and generate references for those entry points.
The tool is generating 1152 Mongodb collections (tables), a basic REST API and nested hierarchies of test records. This schema is from Open Travel Alliance, an open source, enterprise schema for the travel industry, similar to Websphere Commerce Suite in complexity. In sixty man-hours, I created a substantial portion of an enterprise-level suite and can dynamically re-generate it. The Web becomes a living, adaptable nervous system.
Part 1: Model Driven Node
Part 2: Multi-Tenant
Part 3: Object Graph Impedance
Part 4: Extending XSD Schema
Part 5: XJC Compiler
Part 6: Scalability
Part 7: Reference Implementation
Part 8: Tags and Queues
Part 9: URL Namespacing
Part 10: JSON Editor and Angular
Source Code