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"

"Fear Those Tiers"

"Layered Versus Client-Server"

"Message Bus"

"Microsoft Enterprise Service Bus (ESB) Guidance"

"Separated Presentation"

"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

"What is a Use Case?"

"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"

"Patterns in Practice"

"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"

"Web Presentation Patterns"

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

"Patterns in Practice"

"Useful Patterns for Services"

"Windows Workflow Foundation Overview"

"Workflow Patterns"

"Integration Patterns"

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

"Data Patterns"

".NET Data Access Architecture Guide"

"Concurrency Control"

"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

"Designing Service Contracts"

"Request-Reply"

"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"

"P of EAA: Remote Façade"

"REST Patterns"

"Enterprise Solution Patterns Using Microsoft .NET"

"Web Service Security Guidance"

"Improving Web Services Security: Scenarios and Implementation Guidance for WCF"

"WS-* Specifications"

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

"Patterns in Practice"

"Useful Patterns for Services"

"Windows Workflow Foundation Overview"

"Workflow Patterns"

"Patterns in the Composite Application Library"

"Integration Patterns"

"User Interface Control Guidelines"

Chapter 11

"Design Guidelines for Web Applications"

"Data Binding Overview"

"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"

"Transactions in WCF"

"Transaction Processing in .NET 3.5"

"Introduction to the Windows Workflow Foundation Rules Engine"

"Windows Workflow Foundation"

Chapter 13

"Enterprise Solution Patterns Using Microsoft .NET"

"Integration Patterns"

"An Introduction To Domain-Driven Design"

"Domain Driven Design and Development in Practice"

"Service Orientation Patterns"

"The ADO.NET Entity Framework Overview"

"Business Entities"

"Modeling Entities"

"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"

"Data Patterns"

"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"

"Authorization In WCF-Based Services"

"Designing Application-Managed Authorization"

"Enterprise Authorization Strategy"

"Federated Identity: Scenarios, Architecture, and Implementation"

"Guidance on Patterns & Practices: Security"

"Trusted Subsystem Design"

"Caching Architecture Guide for .NET Framework Applications"

"Cohesion and Coupling"

"Enterprise Solution Patterns Using Microsoft .NET"

"Exception Management Architecture Guide"

"Integration Patterns"

Third Party Libraries and Frameworks

Castle Project

Ninject

PostSharp

StructureMap

memcached

NLog

log4net

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

"Deployment Patterns"

"Provider Model Design Pattern and Specification, Part 1"

"Performance and Reliability Patterns"

"Web Service Security"

"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"

"Service Interface"

"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"

"Service Interface"

"Useful Patterns for Services"

"Patterns in the Composite Application Library"

"Presentation Model"

"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"

Silverlight Web site

Brad Abrams’s blog

Scott Guthrie’s blog

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"

log4Net

NLog

OpenNetCF Community

Chapter 25

Books

Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
http://martinfowler.com/eaaCatalog/

Online Sources

"Designing Service Contracts"

"Request-Reply"

"WS-* Specifications"

"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"

"REST 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"

"Web Service Security"

Chapter 26

"Azure Services Platform"

"Geneva Simplifies User Access to Applications and Services"

"Multi-Tenant Data Architecture"

"Software + Services (S+S)"

"Software + Services for Architects" WebCast by Gianpaolo Carraro

"A Planet Ruled by Software Architectures"

"Head in the Cloud, Feet on the Ground"

"Enterprise Mash Ups"

"Implications of Software + Services Consumption for Enterprise IT"

"Microsoft Office as a Platform for Software + Services"

"The Internet Service Bus"

"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"

"OBA Central"

"Integrating LOB Systems with the Microsoft Office System"

"Understanding Office Development"

Chapter 28

"Windows Workflow Foundation Overview"

"Workflow Patterns"

"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

".NET Framework 3.5 Overview"

"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)"

"Data Platform Development"

"A High-Level Look at Microsoft Internet Information Server"

"SQL Server"

"Visual Studio 2008 Overview"

Appendix B

Silverlight Web site

"Islands of Richness"

Appendix C

"ADO.NET"

"ADO.NET Data Services"

"ADO.NET Entity Framework"

"Language-Integrated Query (LINQ)"

"SQL Server Data Services (SSDS) Primer"

"Introduction to the Microsoft Sync Framework Runtime"

Appendix D

"BizTalk Server"

"Host Integration Server"

"Microsoft Message Queuing"

"Programming Best Practices with Microsoft Message Queuing Services (MSMQ)"

"Microsoft BizTalk ESB Toolkit"

Appendix E

"Workflows in Office SharePoint Server 2007"

"Windows Workflow Foundation"

"Workflow Services"

"BizTalk Server"

"Architecting Enterprise Loan Workflows and Orchestrations"

Appendix F

"Enterprise Library"

"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 Unity Application Block"

"The Validation Application Block"

"Enterprise Library Frequently Asked Questions"

Appendix G

Composite Application Guidance for WPF and Silverlight.

Data Patterns.

Enterprise Solution Patterns Using Microsoft .NET.

Integration Patterns.

Web Service Security Guidance: Scenarios, Patterns, and Implementation Guidance for Web Services Enhancements (WSE) 3.0.