Book Image

Applied Architecture Patterns on the Microsoft Platform

Book Image

Applied Architecture Patterns on the Microsoft Platform

Overview of this book

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.
Table of Contents (26 chapters)
Applied Architecture Patterns on the Microsoft Platform
Credits
Foreword
About the Authors
About the Reviewer
Preface

Building the solution


In this solution, we will be constructing an application that embeds the StreamInsight Server in-process and pulls data from two separate feeds of data. Specifically, we are designing a very loosely coupled process where we use MSMQ as the medium between the event producers and the StreamInsight CEP engine. Each web server will send its machine event log entries to one MSMQ queue, and all the web click events will be distributed to a different MSMQ queue.

We will build MSMQ adapters for StreamInsight in a way that events are loaded into the CEP server as soon as they hit the queue. Our first LINQ query aggregates server log events per application, and keeps a sum of each type of event over one-minute intervals. Then we will add another LINQ query which uses the first query as input and joins to the click stream events for each website. When a particular website starts acting up, the "abandon cart" events should be amplified and we can make sure to immediately court...