Showing posts with label CQRS. Show all posts
Showing posts with label CQRS. Show all posts

Thursday, September 27, 2012

"Exploring CQRS and Event Sourcing" Free 377 page eBook from Microsoft Patterns and Practices

Microsoft Downloads - Book Download: Exploring CQRS and Event Sourcing

A journey into high scalability, availability and maintainability with Windows Azure

Version:1.0
Date published: 9/26/2012

Language:English

CQRS_Journey_Guide.pdf, 33.9 MB

Overview

Authors: Dominic Betts, Julián Domínguez, Grigori Melnik, Fernando Simonazzi, Mani Subramanian.
Foreword by Greg Young.

This guide is focused on building highly scalable, highly available, and maintainable applications with the Command & Query Responsibility Segregation and the Event Sourcing architectural patterns. It presents a learning journey, not definitive guidance. It describes the experiences of a development team with no prior CQRS proficiency in building, deploying (to Windows Azure), and maintaining a sample real-world, complex, enterprise system to showcase various CQRS and ES concepts, challenges, and techniques. The development team did not work in isolation; we actively sought input from industry experts and from a wide group of advisors to ensure that the guidance is both detailed and practical.

The CQRS pattern and event sourcing are not mere simplistic solutions to the problems associated with large-scale, distributed systems. By providing you with both a working application and written guidance, we expect you'll be well prepared to embark on your own CQRS journey.

The guide is split into three distinct sections that you can read independently: a description of the journey we took as we learned about CQRS, a collection of CQRS reference materials, and a collection of case studies that describe the experiences other teams have had with the CQRS pattern.

imageimage

Also from the PDF;

Why we created this guidance now

The Command Query Responsibility Segregation (CQRS) pattern and event sourcing (ES) are currently generating a great deal of interest from developers and architects who are designing and building large-scale, distributed systems. There are conference sessions, blogs, articles, and frameworks all dedicated to the CQRS pattern and to event sourcing, and all explaining how they can help you to improve the maintainability, testability, scalability, and flexibility of your systems. However, like anything new, it takes some time before a pattern, approach, or methodology is fully understood and consistently defined by the community and has useful, practical guidance to help you to apply or implement it.

This guidance is designed to help you get started with the CQRS pattern and event sourcing. It is not intended to be the guide to the CQRS pattern and event sourcing, but a guide that describes the experiences of a development team in implementing the CQRS pattern and event sourcing in a realworld application. The development team did not work in isolation; they actively sought input from industry experts and from a wider group of advisors to ensure that the guidance is both detailed and practical.

The CQRS pattern and event sourcing are not mere simplistic solutions to the problems associated with large-scale, distributed systems. By providing you with both a working application and written guidance, we expect you’ll be well prepared to embark on your own CQRS journey.

In short, if you're interested in learning more about CQRS, get this free PDF...

 

Related Past Post XRef:
Microsoft P&P is going on a "real" open source journey with its CQRS Journey project [Insert "Don't stop believing" song clip here...]

Friday, February 24, 2012

Microsoft P&P is going on a "real" open source journey with its CQRS Journey project [Insert "Don't stop believing" song clip here...]

Grigori Melnik: Thoughts on Agile Software Engineering and Beyond - Microsoft's CQRS Journey project to take community contributions

"Almost 50 years ago, Marshall McLuhan coined and popularized the notion of a global village. And as a common adage goes, it takes a village to raise a child: our child is the CQRS Journey project. As many of you know, we’ve positioned the CQRS guidance project as a learning journey. We’ve formed a stellar advisory board and performed some public consultation that helped us scope the project initially. While this is good news, we recognize that for this project to be successful, we need to be not only open and transparent, but we also need to collaborate with the community (in its way a global village) more closely. That’s why I am extremely happy and proud to announce that for the first time in the history of the Microsoft patterns & practices team, the following: In the true spirit of open source, we will be taking community contributions on the CQRS Journey project. This means:

  • The written guidance and the sample code will be developed in the open and with community involvement.
  • We, Microsoft patterns & practices team, will review and accept contributions that meet our guidelines.
  • The final deliverable will have an open source license (Apache 2.0).

The project will be hosted on GitHub. We will publish the contribution guidelines soon.

In the meantime, check out our company-wide openness initiative and brace yourself for a ride! ..."

Project "a CQRS Journey"

Who

The Microsoft patterns & practices team is a group of engineers (developers, testers, program managers), designers, and technical writers who produce guidance to help the larger community build solutions. With this project, we hope to provide you with a map that will help you to find your own way with the Command and Query Responsibility Segregation (CQRS) and Event Sourcing (ES) patterns and related techniques.

What

There will be two, closely related, deliverables from this project: the source code for a complete, working reference implementation (an end-to-end sample app) that illustrates the key concepts, patterns, and approaches related to CQRS & ES, and a written guide to accompany the code, provide explanations, context, and references to other relevant material.

The reference implementation will be a conference management system that you will be able to easily deploy and run in your own environment. This will enable you to explore and experiment with a realistic application built following a CQRS-based approach.

Principles

  • This project values open, standards-based development
  • We value the great work already available from others and intend to thank existing thought-leaders through attribution
  • This work should happen in the open so everyone is able to follow along
  • We would like to help foster a community of practice and build consensus within the community
  • This project represents a conversation not a dictation
  • We would like to meet the community where it is - using what it’s using
  • The guidance should be based on the best thinking available but also the scenarios customers care about

..."

Given all the recent "Open Source" discussions I found this move by Microsoft P&P interesting. What part? That got the legal/corporate/Big Co/etc okay to take contributions. They've released tons of source, under a number of OSS licenses, before. Now in taking contributions will this help turn down a little of the Microsoft and OSS noise? Or just turn it up to 11?