- Shopping Bag ( 0 items )
Get the definitive guide on designing applications on the Microsoft application platform—straight from the Microsoft patterns & practices team. Learn how to choose the most appropriate architecture and the best implementation technologies that the Microsoft application platform offers applications developers. Get critical design recommendations and guidelines organized by application type—from Web, mobile, and rich Internet applications to Office Business Applications. You’ll also get links to additional ...
Ships from: Pueblo West, CO
Usually ships in 1-2 business days
Get the definitive guide on designing applications on the Microsoft application platform—straight from the Microsoft patterns & practices team. Learn how to choose the most appropriate architecture and the best implementation technologies that the Microsoft application platform offers applications developers. Get critical design recommendations and guidelines organized by application type—from Web, mobile, and rich Internet applications to Office Business Applications. You’ll also get links to additional technical resources that can help with your application development.
Foreword by S. Somasegar; Foreword by Scott Guthrie; Preface by David Hill; Introducing the Guide; Audience; How to Use This Guide; Feedback and Support; The Team Who Brought You This Guide; Tell Us About Your Success; Part I: Software Architecture and Design; Chapter 1: What Is Software Architecture?; 1.1 Why Is Architecture Important?; 1.2 The Goals of Architecture; 1.3 The Principles of Architecture Design; Chapter 2: Key Principles of Software Architecture; 2.1 Overview; 2.2 Key Design Principles; 2.3 Key Design Considerations; Chapter 3: Architectural Patterns and Styles; 3.1 Overview; 3.2 What Is an Architectural Style?; 3.3 Summary of Key Architectural Styles; 3.4 Client/Server Architectural Style; 3.5 Component-Based Architectural Style; 3.6 Domain Driven Design Architectural Style; 3.7 Layered Architectural Style; 3.8 Message Bus Architectural Style; 3.9 N-Tier / 3-Tier Architectural Style; 3.10 Object-Oriented Architectural Style; 3.11 Service-Oriented Architectural Style; 3.12 Additional Resources; Chapter 4: A Technique for Architecture and Design; 4.1 Overview; 4.2 Inputs, Ouyputs, and Design Steps; 4.3 Identify Architecture Objectives; 4.4 Key Scenarios; 4.5 Application Overview; 4.6 Key Issues; 4.7 Candidate Solutions; 4.8 What to Do Next; 4.9 Reviewing Your Architecture; 4.10 Representing and Communicating Your Architecture Design; Part II: Design Fundamentals; Chapter 5: Layered Application Guidelines; 5.1 Overview; 5.2 Logical Layered Design; 5.3 Services and Layers; 5.4 Design Steps for a Layered Structure; Chapter 6: Presentation Layer Guidelines; 6.1 Overview; 6.2 General Design Considerations; 6.3 Specific Design Issues; 6.4 Technology Considerations; 6.5 Performance Considerations; 6.6 Design Steps for the Presentation Layer; 6.7 Relevant Design Patterns; 6.8 patterns & practices Offerings; 6.9 Additional Resources; Chapter 7: Business Layer Guidelines; 7.1 Overview; 7.2 General Design Considerations; 7.3 Specific Design Issues; 7.4 Deployment Considerations; 7.5 Design Steps for the Business Layer; 7.6 Relevant Design Patterns; 7.7 patterns & practices Offerings; 7.8 Additional Resources; Chapter 8: Data Layer Guidelines; 8.1 Overview; 8.2 General Design Considerations; 8.3 Specific Design Issues; 8.4 Technology Considerations; 8.5 Performance Considerations; 8.6 Security Considerations; 8.7 Deployment Considerations; 8.8 Design Steps for the Data Layer; 8.9 Relevant Design Patterns; 8.10 Additional Resources; Chapter 9: Service Layer Guidelines; 9.1 Overview; 9.2 Design Considerations; 9.3 Specific Design Issues; 9.4 REST and SOAP; 9.5 Technology Considerations; 9.6 Deployment Considerations; 9.7 Design Steps for the Service Layer; 9.8 Relevant Design Patterns; 9.9 Additional Resources; Chapter 10: Component Guidelines; 10.1 Overview; 10.2 General Guidelines for Component Design; 10.3 Layered Component Distribution; 10.4 Presentation Layer Components; 10.5 Services Layer Components; 10.6 Business Layer Components; 10.7 Data Layer Components; 10.8 Crosscutting Components; 10.9 Relevant Design Patterns; 10.10 patterns & practices Offerings; 10.11 Additional Resources; Chapter 11: Designing Presentation Components; 11.1 Overview; 11.2 Step 1 Understand the UI Requirements; 11.3 Step 2 Determine the UI Type Required; 11.4 Step 3 Choose the UI Technology; 11.5 Step 4 Design the Presentation Components; 11.6 Step 5 Determine the Binding Requirements; 11.7 Step 6 Determine the Error Handling Strategy; 11.8 Step 7 Determine the Validation Strategy; 11.9 patterns & practices Offerings; 11.10 Additional Resources; Chapter 12: Designing Business Components; 12.1 Overview; 12.2 Step 1 Identify Business Components Your Application Will Use; 12.3 Step 2 Make Key Decisions for Business Components; 12.4 Step 3 Choose Appropriate Transaction Support; 12.5 Step 4 Identify How Business Rules Are Handled; 12.6 Step 5 Identify Patterns That Fit the Requirements; 12.7 Additional Resources; Chapter 13: Designing Business Entities; 13.1 Overview; 13.2 Step 1 Choose the Representation; 13.3 Step 2 Choose a Design for Business Entities; 13.4 Step 3 Determine Serialization Support; 13.5 Domain Driven Design; 13.6 Additional Resources; Chapter 14: Designing Workflow Components; 14.1 Overview; 14.2 Step 1 Identify the Workflow Style Using Scenarios; 14.3 Step 2 Choose an Authoring Mode; 14.4 Step 3 Determine How Rules Will Be Handled; 14.5 Step 4 Choose a Workflow Solution; 14.6 Step 5 Design Business Componentttttts to Support Workflow; 14.7 Additional Resources; Chapter 15: Designing Data Components; 15.1 Overview; 15.2 Step 1 Choose a Data Access Technology; 15.3 Step 2 Choose How to Retrieve and Persist Business Objects from the Data Store; 15.4 Step 3 Determine How to Connect to the Data Source; 15.5 Step 4 Determine Strategies for Handling Data Source Errors; 15.6 Step 5 Design Service Agent Objects (Optional); 15.7 Additional Resources; Chapter 16: Quality Attributes; 16.1 Overview; 16.2 Common Quality Attributes; 16.3 Additional Resources; Chapter 17: Crosscutting Concerns; 17.1 Overview; 17.2 General Design Considerations; 17.3 Specific Design Issues; 17.4 Design Steps for Caching; 17.5 Design Steps for Exception Management; 17.6 Design Steps for Validating Input and Data; 17.7 Relevant Design Patterns; 17.8 patterns & practices Solution Assets; 17.9 Additional Resources; Chapter 18: Communication and Messaging; 18.1 Overview; 18.2 General Design Guidelines; 18.3 Message-Based Communication Guidelines; 18.4 Contract First Design; 18.5 Security Considerations; 18.6 Technology Options; 18.7 Additional Resources; Chapter 19: Physical Tiers and Deployment; 19.1 Overview; 19.2 Distributed and Nondistributed Deployment; 19.3 Distributed Deployment Patterns; 19.4 Performance Patterns; 19.5 Reliability Patterns; 19.6 Security Patterns; 19.7 Scale Up and Scale Out; 19.8 Network Infrastructure Security Considerations; 19.9 Manageability Considerations; 19.10 Relevant Design Patterns; 19.11 Additional Resources; Part III: Application Archetypes; Chapter 20: Choosing an Application Type; 20.1 Overview; 20.2 Application Archetypes Summary; 20.3 Mobile Application Archetype; 20.4 Rich Client Application Archetype; 20.5 Rich Internet Application Archetype; 20.6 Service Archetype; 20.7 Web Application Archetype; Chapter 21: Designing Web Applications; 21.1 Overview; 21.2 General Design Considerations; 21.3 Specific Design Issues; 21.4 Design Considerations for Layers; 21.5 Testing and Testability Considerations; 21.6 Technology Considerations; 21.7 Deployment Considerations; 21.8 Relevant Design Patterns; 21.9 Additional Resources; Chapter 22: Designing Rich Client Applications; 22.1 Overview; 22.2 General Design Considerations; 22.3 Specific Design Issues; 22.4 Security Considerations; 22.5 Data Handling Considerations; 22.6 Offline/Occasionally Connected Considerations; 22.7 Technology Considerations; 22.8 Deployment Considerations; 22.9 Relevant Design Patterns; 22.10 Additional Resources; Chapter 23: Designing Rich Internet Applications; 23.1 Overview; 23.2 General Design Considerations; 23.3 Specific Design Issues; 23.4 Security Considerations; 23.5 Data Handling Considerations; 23.6 Technology Considerations; 23.7 Deployment Considerations; 23.8 Relevant Design Patterns; 23.9 Additional Resources; Chapter 24: Designing Mobile Applications; 24.1 Overview; 24.2 General Design Considerations; 24.3 Specific Design Issues; 24.4 Technology Considerations; 24.5 Deployment Considerations; 24.6 Relevant Design Patterns; 24.7 Additional Resources; Chapter 25: Designing Service Applications; 25.1 Overview; 25.2 General Design Considerations; 25.3 Specific Design Issues; 25.4 Deployment Considerations; 25.5 Relevant Design Patterns; 25.6 Additional Resources; Chapter 26: Designing Hosted and Cloud Services; 26.1 Overview; 26.2 Benefits of Cloud Applications; 26.3 Design Issues; 26.4 Relevant Design Patterns; 26.5 Additional Resources; Chapter 27: Designing Office Business Applications; 27.1 Overview; 27.2 Key Scenarios for Office Business Applications; 27.3 Common OBA Patterns; 27.4 General Design Considerations; 27.5 Security Considerations; 27.6 Deployment Considerations; 27.7 Relevant Design Patterns; 27.8 Additional Resources; Chapter 28: Designing SharePoint LOB Applications; 28.1 Overview; 28.2 Key Scenarios and Features; 28.3 General Design Considerations; 28.4 Specific Design Issues; 28.5 Technology Considerations; 28.6 Deployment Considerations; 28.7 Relevant Design Patterns; 28.8 Additional Resources; Part IV: Appendices; 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; Presentation Technology Matrix; Overview; Presentation Technologies Summary; Benefits and Considerations Matrix; Common Scenarios and Solutions; Additional Resources; Data Access Technology Matrix; Overview; Data Access Technologies Summary; Benefits and Considerations Matrix; General Recommendations; Common Scenarios and Solutions; LINQ to SQL Considerations; Mobile Considerations; Additional Resources; Integration Technology Matrix; Overview; Integration Technologies Summary; Benefits and Considerations Matrix; Common Scenarios and Solutions; Additional Resources; Workflow Technology Matrix; Overview; Workflow Technologies Summary; Human Workflow vs. System Workflow; Benefits and Considerations Matrix; Common Scenarios and Solutions; Additional Resources; 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; patterns & practices Pattern Catalog; Composite Application Guidance for WPF and Silverlight; Data Movement Patterns; Enterprise Solution Patterns; Integration Patterns; Web Services Security Patterns; Additional Resources;