Application Architecture Guide V2
Application%20Architecture%20Guide%20v2
User Manual:
Open the PDF directly: View PDF
Page Count: 560 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Cover
- Contents
- Foreword by S. Somasegar
- Foreword by Scott Guthrie
- Preface by David Hill
- Introducing the Guide
- Software Architecture and Design
- Chapter 1: What Is Software Architecture?
- Chapter 2: Key Principles of Software Architecture
- Chapter 3:
Architectural Patterns and Styles
- Overview
- What Is an Architectural Style?
- Summary of Key Architectural Styles
- Client/Server Architectural Style
- Component-Based Architectural Style
- Domain Driven Design Architectural Style
- Layered Architectural Style
- Message Bus Architectural Style
- N-Tier / 3-Tier Architectural Style
- Object-Oriented Architectural Style
- Service-Oriented Architectural Style
- Additional Resources
- Chapter 4: A Technique for Architecture and Design
- Design Fundamentals
- Chapter 5:
Layered Application Guidelines
- Overview
- Logical Layered Design
- Services and Layers
- Design Steps for a Layered Structure
- Step 1 – Choose Your Layering Strategy
- Step 2 – Determine the Layers You Require
- Step 3 – Decide How to Distribute Layers and Components
- Step 4 – Determine If You Need to Collapse Layers
- Step 5 – Determine Rules for Interaction Between Layers
- Step 6 – Identify Cross Cutting Concerns
- Step 7 – Define the Interfaces between Layers
- Step 8 – Choose Your Deployment Strategy
- Step 9 – Choose Communication Protocols
- Chapter 6: Presentation Layer Guidelines
- Chapter 7: Business Layer Guidelines
- Chapter 8: Data Layer Guidelines
- Chapter 9: Service Layer Guidelines
- Chapter 10: Component Guidelines
- Chapter 11: Designing Presentation Components
- Overview
- Step 1 – Understand the UI Requirements
- Step 2 – Determine the UI Type Required
- Step 3 – Choose the UI Technology
- Step 4 – Design the Presentation Components
- Step 5 – Determine the Binding Requirements
- Step 6 – Determine the Error Handling Strategy
- Step 7 – Determine the Validation Strategy
- patterns & practices Offerings
- Additional Resources
- Chapter 12: Designing Business Components
- Chapter 13: Designing Business Entities
- Chapter 14: Designing Workflow Components
- Chapter 15:
Designing Data Components
- Overview
- Step 1 – Choose a Data Access Technology
- Step 2 – Choose How to Retrieve and Persist Business Objects from the Data Store
- Step 3 – Determine How to Connect to the Data Source
- Step 4 – Determine Strategies for Handling Data Source Errors
- Step 5 – Design Service Agent Objects (Optional)
- Additional Resources
- Chapter 16: Quality Attributes
- Chapter 17:
Crosscutting Concerns
- Overview
- General Design Considerations
- Specific Design Issues
- Design Steps for Caching
- Design Steps for Exception Management
- Step 1 – Identify Exceptions That You Want to Handle
- Step 2 – Determine Your Exception Detection Strategy
- Step 3 – Determine Your Exception Propagation Strategy
- Step 4 – Determine Your Custom Exception Strategy
- Step 5 – Determine Appropriate Information to Gather
- Step 6 – Determine Your Exception Logging Strategy
- Step 7 – Determine Your Exception Notification Strategy
- Step 8 – Determine How to Handle Unhandled Exceptions
- Design Steps for Validating Input and Data
- Relevant Design Patterns
- patterns & practices Solution Assets
- Additional Resources
- Chapter 18: Communication and Messaging
- Chapter 19: Physical Tiers and Deployment
- Chapter 5:
Layered Application Guidelines
- Application Archetypes
- Chapter 20: Choosing an Application Type
- Chapter 21: Designing Web Applications
- Chapter 22: Designing Rich Client Applications
- Chapter 23: Designing Rich Internet Applications
- Chapter 24: Designing Mobile Applications
- Chapter 25: Designing Service Applications
- Chapter 26: Designing Hosted and Cloud Services
- Chapter 27: Designing Office Business Applications
- Chapter 28: Designing SharePoint LOB Applications
- Appendices
- Appendix A: The Microsoft Application Platform
- Overview
- Finding Information and Resources
- The .NET Framework
- Common Language Runtime
- Data Access
- Mobile Applications
- Rich Client
- Rich Internet Application
- Services
- Workflow
- Web Applications
- Web Server – Internet Information Services
- Database Server – SQL Server
- Visual Studio Development Environment
- Other Tools and Libraries
- Additional Resources
- Appendix B: Presentation Technology Matrix
- Appendix C: Data Access Technology Matrix
- Appendix D: Integration Technology Matrix
- Appendix E: Workflow Technology Matrix
- Appendix F: patterns & practices Enterprise Library
- Overview
- Goals of Enterprise Library
- What’s Included in Enterprise Library
- Caching Application Block
- Cryptography Application Block
- Data Access Application Block
- Exception Handling Application Block
- Logging Application Block
- Policy Injection Application Block
- Security Application Block
- Unity Application Block
- Validation Application Block
- Additional Resources
- Appendix G: patterns & practices Pattern Catalog
- Appendix A: The Microsoft Application Platform
- Index