This project is read-only.
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:
  1. Inertia: Business Entity Component Generator - Generates basic classes that maps to database tables.
  2. Momentum: Data Access Component Generator - Generates DACs that uses Enterprise Library 5.0 DAAB to INSERT, UPDATE, DELETE and SELECT data.
  3. Motion: Business Component Generator - Generates skeleton business methods by composing data access methods in DACs.
  4. Velocity: Service Layer Generator - Generates a Windows Communication Foundation (WCF) service layer for the BCs. Automates the creation of Service Contracts and Implementations.
  5. Vector: Workflow Activity Generator - Generates Windows Workflow Foundation (WF) activities from BCs.
  6. 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:
  1. Generate Business Entities
  2. Generate Data Access Components
  3. Generate Business Components
  4. Generate Service Contracts & Implementation
  5. Generate Workflow Activities (if any)
  6. Generate UI Process Components

Here are some resources to get started with using Layered Architecture Solution Guidance (Last Updated: March 2014):

Last edited Mar 18, 2014 at 4:46 AM by firedancer, version 15


nzmhtpgl Jun 12, 2015 at 3:30 PM 
Step by Step I managed to create Sample project with LASG successfully.There is only "Data Access Components" menu(Momentum) in the Sample.Data project right clicked menu.
When I right Clicked Sample.Entities, there is no "Add Entities" menu which opens Inertia.
When I right Clicked Sample.Business, there is no "Add Business Entities" menu which opens Motion.

sijs Jul 10, 2013 at 12:01 PM 
Hi, it would be great if you can publish the source code.
getting this error everytime i try to add a data access component.
Access to the path 'C:\Windows\system32\connection.xml' is denied.

Erikest Jan 19, 2012 at 7:40 AM 
I wish my order of operations was to read the discussion first and then silently edit out my redundant questions, but alas...

Erikest Jan 19, 2012 at 7:37 AM 
This is just wonderful - a great learning tool and a huge productivity boost in one. Definitely feel like I'm getting power leveled on layered architecture principals.

Any plans to complete your tutorial for steps 4-6? The process looks similar, but your insightful tips and screenshots are nice to drive things home.

Really hope you keep up on this project, because I see huge value to this "Architecture Framework" as you put it.

BTW, the only thing humble about this "Framework" is its Architect ;) Kudos!