App Arch Meta-Frame
As part of the App Arch Guidance project, we've created an organizing frame to help think about application architecture:
Anatomy of the App Arch Meta Frame
You can see from the figure, we have a few parts that work together:
- Scenarios - You can't evaluate an architecture in a vacuum. Scenarios are the backdrop and the context.
- Quality Attributes / Qualities - This is your classic set of reliability, security, performance, flexibility, maintainability ... etc.
- Requirements / Constraints - These are the user, business, and technical rules that shape your architecture.
- App Types - This is your overall shape. This includes Web app, Rich Client, Mobile, ... etc. While the line may blur, there's important distinctions among application types.
- Architecture Styles - This includes architectural patterns such as N-tier, client-server, SOA, ... etc. You can see shifts in styles over the years such as from object-orientation to message-orientation.
- Architecture Frame - These are the architectural "hot spots." This is where your key engineering decisions happen.
How We Use the Frame
We use the frame to explore and gain insight into different aspects of application architecture. App arch is a big space. We'll be using the frame to catalog and organize our various principles, patterns, practices, and assets.
Keep in mind that this is a meta-frame (so it's a frame of frames.) We'll have a collection of frames that shine the spotlight on more focused areas.
Feedback
What do you think? ...
Additional Resources
- Requirements Types (ShapingSoftware.com)
- Quality Attributes Frame (ShapingSoftware.com)
- Architectural Styles, Patterns, and Metaphors (ShapingSoftware.com)
- Architectural Patterns vs. System Metaphors (ShapingSoftware.com)
Comments
Anonymous
September 04, 2008
As part of our App Arch Guide 2.0 project , we're creating scenario frames to organize customer problemsAnonymous
September 05, 2008
As part of the patterns & practices App Arch Guide 2.0 project , we needed to nail down layers andAnonymous
September 06, 2008
The comment has been removedAnonymous
September 06, 2008
The comment has been removedAnonymous
September 07, 2008
As part of our patterns & practices App Arch Guide 2.0 Project , I'm scanning Microsoft for helpfulAnonymous
September 09, 2008
As part of our patterns & practices App Arch Guide 2.0 project , we're consolidating our informationAnonymous
September 11, 2008
One of my colleagues on the patterns & practices team, David Hill , collected and distilled feedbackAnonymous
September 11, 2008
We posted an early draft of our guidelines for the following areas: Architecture and Design GuidelinesAnonymous
September 15, 2008
As part of our patterns & practices App Arch Guide 2.0 project , we're consolidating our informationAnonymous
September 17, 2008
As part of our patterns & practices App Arch Guide 2.0 project , we've created a set of applicationAnonymous
September 22, 2008
As part of our patterns & practices App Arch Guide 2.0 project , we've put together an arch frame. Anonymous
September 24, 2008
A few people have asked me for an abstract on the patterns & practices Application Architecture GuideAnonymous
September 24, 2008
Today we posted our Arch Frame to CodePlex.  Wednesdays are ship days (I don't ship on Fridays.) Anonymous
September 25, 2008
As part of our patterns & practices App Arch Guide 2.0, I put together a short list of resourcesAnonymous
September 26, 2008
I added a brief over deck of our patterns & practices App Arch Guide 2.0 project to codeplex: AppAnonymous
October 01, 2008
As part of our patterns & practices App Arch Guide 2.0 project , we'll be creating step-by-step HowAnonymous
October 08, 2008
The comment has been removedAnonymous
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
November 11, 2008
Application Architecture Guidance Communiqué: Issue 1 About the Application Architecture Guidance 2.0