InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

.NET and Azure Samples Showcase .NET Technologies Used in a Layered Architecture

Posted by Abel Avram on Jul 22, 2010

Sections
Development,
Architecture & Design
Topics
.NET ,
Design Pattern ,
Architecture
Tags
ASP.NET ,
WPF ,
WCF ,
ADO.NET Entity Framework ,
Code Quality

Serena Yeoh, a  Microsoft consultant and a contributor to Microsoft pattern&practices Application Architecture Guide, has created a Layered Architecture Sample for .NET 4.0 which was later ported to Azure, showcasing various .NET technologies (WPF, WCF, WF, ASP.NET, ADO.NET EF) used in an architecture based on the Layered Architecture design pattern.

The purpose of the code sample is to show how core .NET technologies can be used together in an enterprise application by applying architectural design principles promoting healthy growth of the code and easy maintenance.

The .NET sample contains 16 applications targeting various layers: Presentation, Business, Services, and Data. The model diagram looks as following:

image

By porting this code sample to Azure, Yeoh has created another sample showing how .NET core technologies can be used in the context of Microsoft’s cloud platform. The sample contains 3 additional projects related to cloud:

  • ExpenseSample.Cloud.Service - Main cloud service project
  • WCFWebHost - WCF Web Role project to host the back-end web services.
  • WebRole - contains the ASP.NET application of the sample.

The Azure model diagram looks similar with some differences:

image

The samples including source code for all included projects are available on CodePlex under a MS-PL license: Layered Architecture Sample for .NET, Layered Architecture Sample for Azure.

Thanks by Mike Gale Posted
  1. Back to top

    Thanks

    by Mike Gale

    Thanks for that. As I was reading this article my computer for testing out Azure arrived. (Azure can be tested from Windows 7, not previous OS's. Annoying!) I might give it a spin.

Educational Content

Identity Management with Spring Security

David Syer discusses identity management, SSO, security standards –SAML, OpenID, OAuth, SCIM, JWT-, how Spring Security can fit in, and demoing IdM as a service.

Native Android Development Practices

Josh Long and Roy Clarkson discuss developing native mobile applications for Android with String Android.

Strategic User Experience

Leisa Reichelt proposes a detailed process for delivering a great UX starting from the original vision of the product, to business strategy, to customer experience strategy and tactical execution.

Have Your Cake and Eat It Too: Meta-Programming Techniques for Java

Howard Lewis Ship discusses how to add extend class functionality at runtime via meta-programming for Java using Tapestry Plastic.

Fast, Easy Usability Tricks for Big Product Improvements

Chris Nodder proposes a 5 steps process to improve a product: watch users using it, interpret what they are doing, generate product ideas, turn ideas into design, let users test the design.

Jesper Boeg on Priming Kanban

In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.