You are previewing Applied Architecture Patterns on the Microsoft Platform.
O'Reilly logo
Applied Architecture Patterns on the Microsoft Platform

Book Description

An in-depth scenario-driven approach to architecting systems using Microsoft technologies with this book and eBook

  • Provides an architectural methodology for choosing Microsoft application platform technologies to meet the requirements of your solution

  • Examines new technologies such as Windows Server AppFabric, StreamInsight, and Windows Azure Platform and provides examples of how they can be used in real-world solutions

  • Considers solutions for messaging, workflow, data processing, and performance scenarios

  • Written by a distinguished team of specialists in the Microsoft space

In Detail

Every day, architects and developers are asked to solve specific business problems in the most efficient way possible using a broad range of technologies. Packed with real-world examples of how to use the latest Microsoft technologies, this book tackles over a dozen specific use case patterns and provides an applied implementation with supporting code downloads for every chapter.

In this book, we guide you through thirteen architectural patterns and provide detailed code samples for the following technologies: Windows Server AppFabric, Windows Azure Platform AppFabric, SQL Server (including Integration Services, Service Broker, and StreamInsight), BizTalk Server, Windows Communication Foundation (WCF), and Windows Workflow Foundation (WF). This book brings together – and simplifies – the information and methodology you need to make the right architectural decisions and use a broad range of the Microsoft platform to meet your requirements. Throughout the book, we will follow a consistent architectural decision framework which considers key business, organizational, and technology factors.

The book is broken up into four sections. First, we define the techniques and methodologies used to make architectural decisions throughout the book. In Part I, we provide a set of primers designed to get you up to speed with each of the technologies demonstrated in the book. Part II looks at messaging patterns and includes use cases which highlight content-based routing, workflow, publish/subscribe, and distributed messaging. Part III digs into data processing patterns and looks at bulk data processing, complex events, multi-master synchronization, and more. Finally, Part IV covers performance-related patterns including low latency, failover to the cloud, and reference data caching.

Expert assessment and implementation guidance across 13 Enterprise scenarios

Table of Contents

  1. Applied Architecture Patterns on the Microsoft Platform
    1. Applied Architecture Patterns on the Microsoft Platform
    2. Credits
    3. Foreword
    4. About the Authors
    5. About the Reviewer
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Errata
        2. Piracy
        3. Questions
    7. 1. Solution Decision Framework
      1. The need for a decision framework
      2. Sources of input to the framework
        1. Functional requirements
        2. Non-functional requirements
        3. Derived requirements
        4. Organization direction
      3. Deciding upon your architecture strategy
      4. Framework dimensions
        1. Solution design aspects
        2. Solution delivery aspects
        3. Solution operation aspects
        4. Organizational aspects
      5. Applying the framework
      6. Summary
    8. 2. Windows Communication Foundation and Windows Workflow 4.0 Primer
      1. What does this technology do?
      2. Highlights of the latest release
        1. Windows Communication Foundation enhancements
        2. Windows Workflow Foundation enhancements
        3. Enhancements to both technologies
      3. Typical use cases
        1. Windows Communication Foundation use cases
        2. Windows Workflow Foundation use cases
      4. Example solution
      5. Summary
    9. 3. Windows Server AppFabric Primer
      1. What does this technology do?
      2. Windows Server AppFabric core components
        1. Application-server hosting and monitoring
          1. Control
          2. Scripting
          3. Hosting
          4. Monitoring
          5. Persistence
        2. Distributed cache
          1. Named cache
          2. Region
          3. Expiration
          4. Eviction
          5. Local cache
          6. High availability
          7. Cache notifications
      3. Typical use cases
        1. Windows Server AppFabric hosting and monitoring
        2. Windows Server AppFabric cache
          1. Typical scenarios
      4. Example solution
        1. AppFabric hosting and monitoring
        2. AppFabric caching
          1. Setup
          2. Steps
      5. Summary
    10. 4. BizTalk Server Primer
      1. Heterogeneous systems
      2. What does BizTalk Server do?
        1. Can't we just use Web Services or WCF?
      3. Typical BizTalk use cases
        1. Enterprise Application Integration (EAI)
        2. Business-to-Business (B2B)
        3. Business Process Automation (BPA)
        4. Enterprise Service Bus (ESB)
      4. BizTalk architecture
        1. BizTalk message flow
        2. Key BizTalk server terminology
          1. BizTalk group
          2. Hosts
          3. Host instance
          4. BizTalk databases
          5. Enterprise Single Sign-On
          6. Adapters
          7. Message
          8. Pipeline
          9. Maps
            1. Performance of maps
          10. Orchestration
      5. Highlights of the BizTalk 2010 release
      6. Example solution
      7. Summary
    11. 5. SQL Server and Data Integration Tools Primer
      1. What does this technology do?
        1. SQL Server Integration Services (SSIS)
        2. SQL Server Service Broker (SSSB)
        3. The Microsoft Sync Framework
        4. Master Data Services
      2. A very basic and completely insufficient introduction to data integration with SQL Server
        1. SSIS
        2. SSSB
        3. Sync Framework
        4. SQL Server 2008 enhancements
        5. SSIS enhancements
        6. SSSB enhancements
        7. Sync Framework enhancements
      3. Typical use cases
      4. Example solution
        1. Writing an RSS feed to SQL Server
        2. Distribution via Sync Framework
        3. SQL Server Service Broker
      5. Summary
    12. 6. Windows Azure Platform Primer
      1. What does this technology do?
        1. Windows Azure
          1. Usage
          2. Architecture
          3. Fabric controller
          4. Compute
            1. Web role
            2. Worker role
          5. Storage
            1. Blobs
            2. Table
            3. Queue
            4. Drive
          6. Provisioning model
          7. Diagnostics and monitoring
          8. How do I get started?
        2. SQL Azure
          1. Usage
          2. Architecture
          3. Provisioning model
          4. Data access and usage patterns
          5. SQL Azure what is supported and what is not
          6. How do I get started?
        3. Windows Azure Platform AppFabric
          1. Usage
          2. Architecture
            1. Service Bus
            2. Access Control Service
          3. Provisioning model
        4. Project "Dallas"
      2. Example solution
        1. Scenario
        2. Setup
        3. Steps
      3. Summary
    13. 7. Simple Workflow
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
        1. Factors affecting implementation details
      3. Candidate architectures
        1. Candidate architecture #1 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 Windows Server AppFabric
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Setup
        2. Building the service aggregator workflow service
        3. Testing the service aggregator workflow service
        4. Consuming the service aggregator workflow service with ASP.NET
      6. Summary
    14. 8. Content-based Routing
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 SQL Server 2008 R2
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        3. Candidate architecture #3 WCF and Windows Server AppFabric
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Setup
        2. Building the workflow
        3. Adding a router service
      6. Summary
    15. 9. Publish-Subscribe
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1 Azure Platform AppFabric Service Bus
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
        3. Candidate architecture #3 SQL Service Broker
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Setup
        2. Building the canonical solution artifacts
        3. Building the FDA subscriber solution artifacts
        4. Configuring the data publisher and FDA subscriber
        5. Building the website database subscriber solution artifacts
        6. Configuring the website database subscriber
      6. Summary
    16. 10. Repair/Resubmit with Human Workflow
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 Windows Server AppFabric
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Setup
        2. Building the core workflow
        3. Testing the workflow without SharePoint
        4. Building the SharePoint site and SharePoint workflow
          1. Creating the SharePoint site and customer list
          2. Create the SharePoint workflow
        5. Testing the solution using SharePoint
      6. Summary
    17. 11. Remote Message Broadcasting
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1 .NET-based polling
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        3. Candidate architecture #3 Windows Azure Platform AppFabric
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Signing up for an Azure AppFabric account
        2. Create the WCF services to listen on the Service Bus
      6. Summary
    18. 12. Debatching Bulk Data
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Candidate architectures
        1. Candidate architecture #1 SSIS
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
      3. Architecture selection
      4. Building the solution
        1. Encryption
        2. Target system
        3. Debatching with SSIS and SQL Server
          1. Debatching with SQL
          2. Debatch with SSIS
      5. Summary
    19. 13. Complex Event Processing
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1‑StreamInsight
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Set up
        2. Creating an adapter
      6. Summary
    20. 14. Cross-Organizational Supply Chain
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1 BizTalk (with ESB Toolkit)
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 Windows Server AppFabric
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Setup
        2. Deploying and using a monolithic solution
          1. PO status codes
          2. Item inventory check status codes
          3. Current behaviors of the system
        3. Utilizing the ESB Toolkit
          1. Using existing transformations within an ESB Itinerary
          2. Using the itinerary service broker pattern to implement messaging-based routing with ESB
      6. Summary
    21. 15. Multiple Master Synchronization
      1. Use Case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architecture
        1. Solution design aspects
          1. SSIS
          2. Master Data Services
          3. Search Server Express
        2. Solution operations aspects
        3. Organizational aspects
        4. Solution evaluation
      4. Architecture selection
      5. Building the solution
        1. Fetching relational data
        2. Master Data Services
        3. Unstructured data
        4. Search
      6. Summary
    22. 16. Rapid Flexible Scalability
      1. Use case
      2. Candidate architectures
        1. Candidate architecture #1 Windows Azure / SQL Azure
          1. Solution design aspects
          2. Solution operations aspects
          3. Organizational aspects
          4. Solution evaluation
        2. Candidate architecture #2 Hyper-V
          1. Solution design aspects
          2. Solution operations aspects
          3. Organizational aspects
          4. Solution evaluation
      3. Architecture selection
      4. Building the solution
        1. Integrating SSIS with SQL Azure
      5. Summary
    23. 17. Low-Latency Request-Reply
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architectures
        1. Candidate architecture #1 BizTalk Server
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        2. Candidate architecture #2 Windows Server AppFabric
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
        3. Candidate architecture #3 Windows Azure platform
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operation aspects
          4. Organizational aspects
          5. Solution evaluation
      4. Architecture selection
        1. Architecture selection
      5. Building the solution
        1. Setup
        2. Building the vendor-specific and aggregate workflows
        3. Testing the solution
      6. Summary
    24. 18. Handling Large Session and Reference Data
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Candidate architecture
        1. Candidate architecture #1 Windows Server AppFabric Cache
          1. Solution design aspects
          2. Solution delivery aspects
          3. Solution operations aspects
          4. Organizational aspects
      4. Architecture selection
      5. Building the solution
        1. Setup
        2. Integrating with Windows Server AppFabric cache
      6. Summary
    25. 19. Website Load Burst and Failover
      1. Use case
        1. Key requirements
        2. Additional facts
      2. Pattern description
      3. Chosen architecture
        1. Solution design aspects
        2. Solution delivery aspects
        3. Solution operation aspects
        4. Organizational aspects
          1. Solution evaluation
      4. Building the solution
        1. Setup
        2. Adding the WCF portion to Cloud Service
        3. Adding the ASP.NET portion to Cloud Service
        4. Testing and deploying the Windows Azure Cloud Service
      5. Summary
    26. 20. Wrap Up
      1. What did we find?
      2. Where to go next