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:
- App Arch 2.0 Guidance Project Site (CodePlex)
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 modelsAnonymous
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 removedAnonymous
September 03, 2008
The comment has been removedAnonymous
September 05, 2008
The comment has been removedAnonymous
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'sAnonymous
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 announcingAnonymous
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. DAnonymous
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. DAnonymous
September 11, 2008
The Patterns and Practices team is finally updating their architectural guidance. You can see J. DAnonymous
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 thingAnonymous
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 removedAnonymous
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) MarkAnonymous
September 14, 2008
The comment has been removedAnonymous
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 thereAnonymous
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 SOAAnonymous
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 projectAnonymous
September 17, 2008
A new friend I got, J.D. Meier , is leading a project intended to provide renewed Architecture GuidanceAnonymous
September 21, 2008
The comment has been removedAnonymous
September 25, 2008
The comment has been removedAnonymous
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 HowAnonymous
October 02, 2008
For a long time the application architecture guidance from the patterns & practices team remainedAnonymous
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 removedAnonymous
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 applicationAnonymous
October 11, 2008
As part of our App Arch Guide 2.0 project , we're creating scenario frames to organize customer problemsAnonymous
October 21, 2008
The comment has been removedAnonymous
October 27, 2008
Today we released our patterns & practices App Arch Guide 2.0 Beta 1 .  This is our guide toAnonymous
October 27, 2008
Better than just making promises is offering some realities and this is coming real After the auspiciousAnonymous
October 27, 2008
[FromJ.DMeier’sBlog:http://blogs.msdn.com/jmeier/default.aspx]TodaywereleasedourpatternsAnonymous
November 05, 2008
I presented our new patterns & practices Agile Architecture Method for the first time at the patternsAnonymous
November 07, 2008
Today we posted our updated software architecture best practices at a glance to CodePlex, as part ofAnonymous
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 applicationAnonymous
November 17, 2008
Today we released our patterns & practices Application Architecture Guide 2.0 Beta 2 .  This