Bibliography
For more details of the topics covered in this guide, see Contents of the Guide.
General Links
If you have comments on this guide, please visit the Application Architecture Guide community site at https://www.codeplex.com/AppArchGuide.
For product support information, please visit the Microsoft Product Support Web site at: https://support.microsoft.com.
You can also obtain community support, discuss this guide, and provide feedback by visiting the Microsoft MSDN Newsgroups site at https://msdn.microsoft.com/en-us/subscriptions/aa974230.aspx.
Chapter 1
Bass, Len, Paul Clements, and Rick Kazman. Software Architecture in Practice, 2nd ed. Addison-Wesley Professional, 2003.
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/
Chapter 3
Books
Evans, Eric. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, 2004.
Nilsson, Jimmy. Applying Domain-Driven Design and Patterns: With Examples in C# and NET. Addison-Wesley, 2006.
Online Sources
"Domain Driven Design Quickly"
"An Introduction To Domain-Driven Design"
"Domain Driven Design and Development in Practice"
"Layered Versus Client-Server"
"Microsoft Enterprise Service Bus (ESB) Guidance"
"Services Fabric: Fine Fabrics for New-Era Systems"
Chapter 4
Books
Ambler, Scott. Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process. J. Wiley, 2002.
Clements, Paul, Rick Kazman, and Mark Klein. Evaluating Software Architectures: Methods and Case Studies (SEI Series in Software Engineering). Addison-Wesley Professional, 2001.
Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Professional, 2003.
Online Sources
"Architectural Blueprints—The "4+1" View Model of Software Architecture"
"Recommended Practice for Architecture Description of Software-Intensive Systems"
Chapter 6
Books
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
at http://martinfowler.com/eaaCatalog/.
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, 1995.
Online Sources
"Enterprise Solution Patterns Using Microsoft .NET"
"Patterns in the Composite Application Library"
"Creating a Simplified Asynchronous Call Pattern for Windows Forms Applications"
"Useful Patterns for Services"
"Choosing the Right Presentation Layer Architecture"
"memcached" distributed memory object caching system from Danga Interactive
"Microsoft Inductive User Interface Guidelines"
"User Interface Text Guidelines"
"Microsoft Project Code Named Velocity"
"Design and Implementation Guidelines for Web Clients"
Chapter 7
Books
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, 1995.
Online Sources
"Useful Patterns for Services"
"Windows Workflow Foundation Overview"
Apache Logging Services "log4Net"
Jarosław Kowalski's "NLog"
Chapter 8
Books
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/
Online Sources
".NET Data Access Architecture Guide"
"Designing Data Tier Components and Passing Data Through Tiers"
"Typing, storage, reading, and writing BLOBs"
"Using stored procedures instead of SQL statements"
"NHibernate Forge" community site
Chapter 9
"Messaging Patterns in Service-Oriented Architecture, Part I"
"Messaging Patterns in Service Oriented Architecture, Part 2"
"Chapter 2: Message Protection Patterns"
"Chapter 5: Service Boundary Protection Patterns"
"Enterprise Solution Patterns Using Microsoft .NET"
"Web Service Security Guidance"
"Improving Web Services Security: Scenarios and Implementation Guidance for WCF"
Chapter 10
Books
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, 1995.
Martin, Robert C. and Micah Martin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2006.
Online Sources
"Useful Patterns for Services"
"Windows Workflow Foundation Overview"
"Patterns in the Composite Application Library"
"User Interface Control Guidelines"
Chapter 11
"Design Guidelines for Web Applications"
"Design Guidelines for Exceptions"
Chapter 12
"Application Architecture for .NET: Designing Applications and Services"
"Architecture and Design Review of a .NET Application for Performance and Scalability"
"Design Guidelines for Application Performance"
"Introducing System.Transactions in the .NET Framework 2.0"
"Transaction Processing in .NET 3.5"
"Introduction to the Windows Workflow Foundation Rules Engine"
Chapter 13
"Enterprise Solution Patterns Using Microsoft .NET"
"An Introduction To Domain-Driven Design"
"Domain Driven Design and Development in Practice"
"Service Orientation Patterns"
"The ADO.NET Entity Framework Overview"
"Building Office Business Applications"
"NHibernate Forge" community site
Chapter 14
"Introduction to Programming Windows Workflow Foundation"
"Microsoft BizTalk ESB Toolkit"
Chapter 15
".NET Data Access Architecture Guide"
"Designing Data Tier Components and Passing Data Through Tiers"
Chapter 16
Books
Feathers, Michael. Working Effectively With Legacy Code. Prentice Hall, 2004. Baley, Kyle and Donald Belcham. Brownfield Application Development in .NET. Manning Publications Co, 2008.
Nygard, Michael. Release It!: Design and Deploy Production-Ready Software. Pragmatic Bookshelf, 2007.
Online Sources
"Implementing System-Quality Attributes"
"Software Architecture in the New Economy"
"Quality-Attribute Auditing: The What, Why, and How"
Chapter 17
Books
Duffy, Joe. Concurrent Programming on Windows. Addison-Wesley 2009.
Online Sources
"Authorization In WCF-Based Services"
"Designing Application-Managed Authorization"
"Enterprise Authorization Strategy"
"Federated Identity: Scenarios, Architecture, and Implementation"
"Guidance on Patterns & Practices: Security"
"Caching Architecture Guide for .NET Framework Applications"
"Enterprise Solution Patterns Using Microsoft .NET"
"Exception Management Architecture Guide"
Third Party Libraries and Frameworks
Chapter 18
"Data Transfer and Serialization"
"Endpoints: Addresses, Bindings, and Contracts"
"Messaging Patterns in Service-Oriented Architecture"
"Principles of Service Design: Service Versioning"
"Web Service Messaging with Web Services Enhancements 2.0"
"Web Services Protocols Interoperability Guide"
"Windows Communication Foundation Security"
"XML Web Services Using ASP.NET"
Chapter 19
Books
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, 1995.
Online Sources
"Provider Model Design Pattern and Specification, Part 1"
"Performance and Reliability Patterns"
"Designing Application-Managed Authorization"
"Deploying .NET Framework-based Applications"
"Enterprise Solution Patterns Using Microsoft .NET"
Chapter 21
Books
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/
Online Sources
"Enterprise Solution Patterns Using Microsoft .NET"
"Patterns in the Composite Application Library"
"Useful Patterns for Services"
"Provider Model Design Pattern and Specification, Part I"
"Design and Implementation Guidelines for Web Clients"
"Designing Distributed Applications"
"Improving .NET Application Performance and Scalability"
"Improving Web Application Security: Threats and Countermeasures"
Chapter 22
Books
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/
Online Sources
"Provider Model Design Pattern and Specification, Part I"
"Creating a Simplified Asynchronous Call Pattern for Windows Forms Applications"
"Useful Patterns for Services"
"Patterns in the Composite Application Library"
"Composite Client Application Guidance"
"Smart Client Architecture and Design Guide"
"Caching Architecture Guide for .NET Framework Applications"
"Deploying .NET Framework-based Applications"
Chapter 23
Books
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, 1995.
Online Sources
"Patterns in the Composite Application Library"
"Creating a Simplified Asynchronous Call Pattern for Windows Forms Applications"
"How to: Build a Duplex Service"
"How to: Access a Duplex Service with the Channel Model"
Chapter 24
Windows Embedded Developer Center
patterns & practices Mobile Client Software Factory
Microsoft Sync Framework Developer Center
"Instrumentation for .NET Compact Framework Applications"
"Roadmap for ASP.NET Mobile Development"
"Tip/Trick: ASP.NET Mobile Development with Visual Studio 2008"
"Security Model for Windows Mobile 5.0 and Windows Mobile 6"
Chapter 25
Books
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/
Online Sources
"Messaging Patterns in Service-Oriented Architecture, Part I"
"Messaging Patterns in Service Oriented Architecture, Part 2"
"Chapter 2: Message Protection Patterns"
"Chapter 5: Service Boundary Protection Patterns"
"Enterprise Solution Patterns Using Microsoft .NET - Distributed Systems Patterns"
"Microsoft BizTalk ESB Toolkit"
"Prescriptive Architecture Integration Patterns"
"Enterprise Solution Patterns Using Microsoft .NET - Services Patterns"
Chapter 26
"Geneva Simplifies User Access to Applications and Services"
"Multi-Tenant Data Architecture"
"Software + Services for Architects" WebCast by Gianpaolo Carraro
"A Planet Ruled by Software Architectures"
"Head in the Cloud, Feet on the Ground"
"Implications of Software + Services Consumption for Enterprise IT"
"Microsoft Office as a Platform for Software + Services"
"NHibernate Forge" community site
Chapter 27
Books
Barker, Rob, Joanna Bichsel, Adam Buenz, Steve Fox, John Holliday, Bhushan Nene, and Karthik Ravindran. 6 Microsoft® Office Business Applications for Office SharePoint® Server 2007. Microsoft Press, 2008.
Online Sources
"Getting Started with Office Business Applications"
"Automating Public Sector Forms Processing and Workflow with Office Business Application"
"Getting Started with Office Business Applications"
"OBA (Reference Application Pack) RAP for E-Forms processing"
"Integrating LOB Systems with the Microsoft Office System"
"Understanding Office Development"
Chapter 28
"Windows Workflow Foundation Overview"
"Developing Workflow Solutions with SharePoint Server 2007 and Windows Workflow Foundation"
"Best Practices: Common Coding Issues When Using the SharePoint Object Model"
"Best Practices: Using Disposable Windows SharePoint Services Objects"
"InfoPath Forms Services Best Practices"
"White paper: Working with large lists in Office SharePoint Server 2007"
Appendix A
"Overview of the .NET Framework"
"Overview of the .NET Compact Framework"
"Windows Communication Foundation"
"XML Web Services Using ASP.NET"
"Workflows in Office SharePoint Server 2007"
"Windows Workflow Foundation (WF)"
"A High-Level Look at Microsoft Internet Information Server"
Appendix B
Appendix C
"ADO.NET"
"Language-Integrated Query (LINQ)"
"SQL Server Data Services (SSDS) Primer"
"Introduction to the Microsoft Sync Framework Runtime"
Appendix D
"Programming Best Practices with Microsoft Message Queuing Services (MSMQ)"
"Microsoft BizTalk ESB Toolkit"
Appendix E
"Workflows in Office SharePoint Server 2007"
"Architecting Enterprise Loan Workflows and Orchestrations"
Appendix F
"The Caching Application Block"
"The Cryptography Application Block"
"The Data Access Application Block"
"The Exception Handling Application Block"
"The Logging Application Block"
"The Policy Injection Application Block"
"The Security Application Block"
"The Validation Application Block"
"Enterprise Library Frequently Asked Questions"
Appendix G
Composite Application Guidance for WPF and Silverlight.