Partager via


patterns & practices App Arch Guide 2.0 Project

It's long overdo, but we're kicking off a project for v2 of the patterns & practices Application Architecture Guide.  You might be familiar with Tom Hollander's post "Application Architecture for .NET" 2 - The Revenge.  Well, now it's time for results.

Solution Architects / Dev Leads / Developers
Our primary audience is solution architects, developer leads, and developers.

Principles, Patterns, and Practices
I'm a principles, patterns, and practices kind of a guy, so expect the guide to be principle-based, durable, and evolvable.

CodePlex Community Site
It's a work in progress and it's early, but you can follow along here:

Topics
Here's some of the areas we're looking at for the guide:

Macro

  • App Types
  • Arch Styles
  • Patterns
  • Layers, Tiers, and Components
  • Architectural Hot Spots
  • Presentation Layer
  • Business Layer
  • Data Access Layer
  • Services Layer
  • Services Design
  • Quality Attributes
  • Trends
  • Security Engineering
  • Performance Engineering
  • Baseline Architectures
  • Deployment Patterns

Micro

  • Choosing Presentation Technologies
  • Choosing Data Access Technologies
  • Choosing Workflow Technologies
  • Inline SQL vs. sprocs
  • MVC vs. MVP
  • Domain model driven vs. structure driven

Your Feedback
What would you like to see in the guide?

Comments

  • Anonymous
    September 02, 2008
    Great. Some info REST vs SOAP, usage of JSON, POX etc would be great. Info on optimizing over the wire. Other bits to cover include identity management and health models

  • Anonymous
    September 03, 2008
    I'm really excited about this, you guys did a phenomenal job with the WCF guidance site. I'd include information about how to make your code testable.  We use mocking frameworks (like Rhino Mocks) on our projects, and we've found that you have to design your code a certain way to make it testable (usually by using interfaces more and concrete classes less). Another debate that we have is when you're using web services, when should you use DTOs and when is it OK to send your entity objects across the wire?

  • Anonymous
    September 03, 2008
    The comment has been removed

  • Anonymous
    September 03, 2008
    The comment has been removed

  • Anonymous
    September 05, 2008
    The comment has been removed

  • Anonymous
    September 06, 2008
    Thanks Alik.   It sounds like you're focused on the end in mind.  Production puts your runtime patterns to the test.

  • Anonymous
    September 08, 2008
    A friend and colleague, J.D. Meyer, asked me to consider this question, and I have to admit that it's

  • Anonymous
    September 08, 2008
    Will you also address how Cloud Computing affects some of the architecture attributes, etc?

  • Anonymous
    September 08, 2008
    Hey Adwait Good question -- yes, cloud is on the radar.  It's a definite trend in today's world.

  • Anonymous
    September 09, 2008
    Those of you who have been paying attention may have remembered a post I did over a year ago announcing

  • Anonymous
    September 09, 2008
    Distribution including REST/SOAP/Messaging, domain modelling using DDD and other approaches, patterns within MVC, mapping between layers...mind you the topics you guys have described sounds good. One question, are you going to reach out to the community for content or advice?

  • Anonymous
    September 10, 2008
    Great that the guide will be updated! I would like to see som more information about async work (multiple threads) both on server side and in the client. For example who to handle async wcf calls in the gui so that data always is moved to UI Thread and so that exception is handled and showed (also from the UI Thread) and so on.

  • Anonymous
    September 10, 2008
    I also forgot to add occasionally connected clients with Microsoft Sync Framework would be an interesting area.

  • Anonymous
    September 11, 2008
    The Patterns and Practices team is finally updating their architectural guidance. You can see J. D

  • Anonymous
    September 11, 2008
    @Colin - you bet.  Community input is a good thing.  The best way for now is the codeplex project site, but I'm exploring some additional ways. @Eric - good point.  Occasionally connected is a very interesting area.

  • Anonymous
    September 11, 2008
    The Patterns and Practices team is finally updating their architectural guidance. You can see J. D

  • Anonymous
    September 11, 2008
    The Patterns and Practices team is finally updating their architectural guidance. You can see J. D

  • Anonymous
    September 11, 2008
    I'd like to see more guidance and best practices on the styles/flavours of business layers/tiers and the like. This may come in under MVC but it always seems to be the area of an application that suffers the most.

  • Anonymous
    September 12, 2008
    Those of you who remember ye olde days of yore when .NET 1.0 and 1.1 were the latest and greatest thing

  • Anonymous
    September 12, 2008
    Thank you for taking this initiative, we are looking for new version of this guide. As we got lot of changes in the VS2005 and 2008 how the application can be designed using APP_Code folders and APP_Data folders, I was in a little confusion whether to go with Class Library to create DAC and BLL or go with App Folders. I hope you will cover these when you discuss different layers of application. We also want some sort of guidelines interms of selecting the application design moving towards SOA and having distributed architecture like, having the system integrations with SharePoint, Workflows, BizTalk Orchestration, Custom ASP.NET Application, WCF Services. How all these can be integrated in a SOA application to give a complete picture of MS Technologies how we can utilize these in real scenario.

  • Anonymous
    September 12, 2008
    The comment has been removed

  • Anonymous
    September 14, 2008
    hiya - another suggestion - kind of related to the "Cloud computing" one: SaaS/S+S.... Also, what about Silverlight vs Ajax (given that these can be considered to be alternative approaches to the same basic problem) Mark

  • Anonymous
    September 14, 2008
    The comment has been removed

  • Anonymous
    September 14, 2008
    I'd love to see a "how to use this guidance" section.  I'd like to to explain what Microsoft's intentions are for how the guidance should be used.   For instance, I think that your intention will be for architects to consider all the points in your guidance, weigh up the points, and then make a decision relevant to their own particular project.   However, I fear that it will be (mis)interpreted as an intellectual straightjacket -- by both its fans and its detractors.

  • Anonymous
    September 15, 2008
    I'd love to see the new technologies integrated into the guide:

  • When to use entity framework? How does it fits into layered application? Perfomance compaired to SP?
  • When to use WCF and how and when to combine it with WF?
  • What type of UI (ASP, Silverlight, WPF) match different business scenarios? calssis ASP.Net vs ASP.Net MVC?
  • Anonymous
    September 15, 2008
    @John - Good point.  While we can share generalized patterns and practices, ultimately the user needs to map it to their scenario and see if it's relevant. @Ken - Yes, choosing relevant technologies for workflow, presentation, and data access is key.

  • Anonymous
    September 15, 2008
    well its about time!!!!  u gots me worried there

  • Anonymous
    September 16, 2008
    Some suggestions for the guide:

  • A micro section on the measurement of Quality attributes should be included
  • A micro section on " guidance for architecture descriptions" would be nice
  • Formal guidance on Model Driven Development (DSL's) vs Model Driven Architecture would be excellent
  • Development practices is also something that is not centrally documents (i.e. TDD, Continuous integration, etc.) From my perspective community involvement is key especially when it comes architecture. Where can I sign up? :-)
  • Anonymous
    September 16, 2008
    good matarials. also add WOA vs SOA

  • Anonymous
    September 16, 2008
    @Anthony - no worries. @Martin - really good point on the arch descriptions.   @Vishal - WOA got me thinking.

  • Anonymous
    September 17, 2008
    I ran across an interesting post on J.D. Meier's Blog that describes the Patterns & Practices project

  • Anonymous
    September 17, 2008
    A new friend I got, J.D. Meier , is leading a project intended to provide renewed Architecture Guidance

  • Anonymous
    September 21, 2008
    The comment has been removed

  • Anonymous
    September 25, 2008
    The comment has been removed

  • Anonymous
    September 26, 2008
    Its really a great work! Thanks for bringing this out to us. How about adding a few topics about SOA and Agile model?

  • Anonymous
    September 26, 2008
    @J Healy - I agree that having at least a frame and path would be helpful ... and pave the way for deeper guidance downstream. @Santhosh - SOA makes sense.  We're mostly focused on "structure" vs. "process" but it could make sense to call some key forces and responses, at least in terms of trends.

  • Anonymous
    September 27, 2008
    Do you have an approximate date of when the guide will be published?

  • Anonymous
    September 28, 2008
    @L Spidell - Yes - Jan 15, obviously subject to change.  We'll ship modules incrementally though on CodePlex so you'll get to follow along.  So far, we've been shipping on Wednesdays.

  • Anonymous
    September 28, 2008
    I am really looking forward to reading this once it comes out. I've got a software architecture blog and can't wait to incorporate some new ideas into it. I got a chance to write an article for the Patterns & Practices group at Microsoft and it was a great experience.

  • Anonymous
    October 01, 2008
    As part of our patterns & practices App Arch Guide 2.0 project , we'll be creating step-by-step How

  • Anonymous
    October 02, 2008
    For a long time the application architecture guidance from the patterns & practices team remained

  • Anonymous
    October 05, 2008
    Today we posted our Arch Frame to CodePlex.  Wednesdays are ship days (I don't ship on Fridays.) 

  • Anonymous
    October 08, 2008
    The comment has been removed

  • Anonymous
    October 11, 2008
    As part of our patterns & practices App Arch Guide 2.0 project , we've put together an arch frame. 

  • Anonymous
    October 11, 2008
    As part of the App Arch Guidance project , we've created an organizing frame to help think about application

  • Anonymous
    October 11, 2008
    As part of our App Arch Guide 2.0 project , we're creating scenario frames to organize customer problems

  • Anonymous
    October 21, 2008
    The comment has been removed

  • Anonymous
    October 27, 2008
    Today we released our patterns & practices App Arch Guide 2.0 Beta 1 .  This is our guide to

  • Anonymous
    October 27, 2008
    Better than just making promises is offering some realities and this is coming real After the auspicious

  • Anonymous
    October 27, 2008
    [FromJ.DMeier’sBlog:http://blogs.msdn.com/jmeier/default.aspx]Todaywereleasedourpatterns

  • Anonymous
    November 05, 2008
    I presented our new patterns & practices Agile Architecture Method for the first time at the patterns

  • Anonymous
    November 07, 2008
    Today we posted our updated software architecture best practices at a glance to CodePlex, as part of

  • Anonymous
    November 11, 2008
    How do you choose among the Microsoft .NET presentation technologies?  Use scenario-based evaluation. 

  • Anonymous
    November 14, 2008
    As part of our patterns & practices Application Architecture 2.0 project , we created a set of application

  • Anonymous
    November 17, 2008
    Today we released our patterns & practices Application Architecture Guide 2.0 Beta 2 .  This