Layered Architecture Solution Guidance
is now integrated with
Project Newton Code Generators
to accelerate the development of layered applications. Project Newton is a private unreleased project which I worked on to accelerate the development of layered applications. The code generators in Project Newton utilizes
multi-stage code generation techniques, whereby, the output of from one code generator can be used as the source for the next code generator in the upper layers.
Project Newton contains the following code generators:
- Inertia: Business Entity Component Generator - Generates basic classes that maps to database tables.
- Momentum: Data Access Component Generator - Generates DACs that uses Enterprise Library 5.0 DAAB to INSERT, UPDATE, DELETE and SELECT data.
- Motion: Business Component Generator - Generates skeleton business methods by composing data access methods in DACs.
- Velocity: Service Layer Generator - Generates a Windows Communication Foundation (WCF) service layer for the BCs. Automates the creation of Service Contracts and Implementations.
- Vector: Workflow Activity Generator - Generates Windows Workflow Foundation (WF) activities from BCs.
- Impulse: User Interface Process Component Generator - Generates UI controller components from WCF Service Contracts.
The multi-stage code-generation is illustrated in the following flow:
The code generators require a Microsoft SQL Server database containing tables with well-defined primary keys and foreign keys.
To begin code generation, follow the illustrated sequence:
- Generate Business Entities
- Generate Data Access Components
- Generate Business Components
- Generate Service Contracts & Implementation
- Generate Workflow Activities (if any)
- Generate UI Process Components
Here are some resources to get started with using Layered Architecture Solution Guidance
(Last Updated: March 2014)