June 2006 Frederick Chong, Gianpaolo Carraro, and Roger Wolter Microsoft Corporation Applies to: Application Architecture Software as a Service (SaaS) Summary: The second article in our series about designing multi-tenant applications identifies three distinct approaches for creating data architectures. (25 printed pages) Acknowledgements Many thanks to Paul Henry for his help with technical writing.
SOLID Software Principles - Presentation And Code -
Documenting your software architecture - why and how?
NVelocity - NVelocity
How to build practical enterprise architecture team - Natty Gur Enterprise architecture team might be the successful CIO right hand (especially in today economic situation) or a group of people that you can’t really understand what they are doing. A successful enterprise architecture group will help you to reduce IT costs, optimize IT operation, make better IT planning and keep the enterprise compliance with laws and regulations. The problem is that in order to build a successful enterprise architecture group, there is huge learning curve that CIOs need to go through. If you wish to reduce your learning curve significantly, keep reading. There are 5 main Steps that you have to understand and follow. Because each step influences the others, I tried to order them by dependencies:
Convention over Configuration in MSDN Magazine - Jeremy D. Mille The February ’09 edition of MSDN Magazine includes my latest article entitled “Convention over Configuration.” Personally, I think this is an exciting topic and I really enjoyed writing on this subject. I hope this article can help to spawn some ideas and conversation about how we design configuration intensive frameworks. When we build systems, we’re trying to accomplish certain business goals, but to get there, we have to jump through hoops to satisfy infrastructural concerns.
J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat Objectives Understand the fundamental concepts of software architecture.Learn the key design principles for software architecture.Learn the guidelines for key areas of software architecture. Overview Software architecture is often described as the organization or structure of a system, while the system represents a collection of components that accomplish a specific function or set of functions. patterns & practices: App Arch Guide - Home
Tools for Framework Architecture Verification This is a suite of tools primarily aimed at validating the architecture of a framework. Currently, there are three tools: Deps: produces dependency diagrams between assemblies, based both on implementation, as well as API-only.Layering: verifies that a layering and grouping diagram is indeed satisfied by a set of assembliesPotentialCallers: lists all the methods that call, directly or indirectly, a set of methods. More documentation is included with the tool zip file (please see the Downloads section)
The Carnegie Mellon® Software Engineering Institute (SEI) recently published "Models for Evaluating and Improving Architecture Competence", an 87 page report that examines how software architects and organizations can foster environments that consistently produce high quality architectures. From the abstract: Software architecture competence is the ability of an individual or organization to acquire, use, and sustain the skills and knowledge necessary to carry out software architecture-centric practices. Previous work in architecture has concentrated on its technical aspects: methods and tools for creating, analyzing, and using architecture. However, a different perspective recognizes that these activities are carried out by people working in organizations, and those people and organizations can use assistance towards consistently producing high-quality architectures. Evaluating and Improving Architectural Competence - A New SEI Pa
In developing any software application, it's important to keep things as simple as possible and add complexity only when needed. (I spoke about this in a previous post, Planning for vs. Reacting to Change.) (My) Default ASP.NET Architecture - Billy McCafferty
NServiceBus - Communications Framework for .NET Bryan Wheeler, Director Platform Development at msnbc.com “Udi Dahan is the real deal. We brought him on site to give our development staff the 5-day “Advanced Distributed System Design” training. The course profoundly changed our understanding and approach to SOA and distributed systems. Consider some of the evidence: 1. Months later, developers still make allusions to concepts learned in the course nearly every day 2.