Latest Replies

Smart Development

xLim is a set of principles/guidelines that come from real-world experience and attempts to build some theory behind it. They serve specific purpose of efficiently building flexible and light distributed information management systems in the future.

These principles are organized into multiple bodies of knowledge, where each successive one manifests increase in the scale and complexity of the solutions.

They go in the anti-chronological order, reflecting my own research and experience in the field, as it gets structured and shared with the community.

You can subscribe to the RSS feed to get all the latest updates.

xLim 4: CQRS in the Cloud

Active research and development: January 2010 - Current

xLim 4 is the latest part of xLim body of knowledge. It builds and brings the experience of enterprise integration, business intelligence, elastic cloud computing and large-scale deployments. It is heavily influenced by the CQRS and DDDD principles.'

There is a Lokad.CQRS framework, that provides foundation for creating enterprise solutions for Windows Azure.

Before getting started you might want to check out CQRS Architecture and Definitions and then CQRS Roadmap PDF that brings it on the same page with the other concepts of efficient development (like DDD, Event Sourcing, Cloud computing), explains the benefits and outlines the relations.

10 Reasons to do CQRS Download PDF | Permalink

Command-Query Responsibility Segregation

There are a lot of terms and concepts related to the Command-Query Responsibility Segregation. Let's go through them one more time.

You can get puzzled by CQRS and overwhelmed by the design complexity if you have missed one critical ingredient - principles of Domain-Driven Design.

Let's walk over the UI validation and business rules as they work out in the CQRS world.

A few hacky insights from the Command-Query Responsibility Segregation learning project.

In this article we'll talk briefly about the CQRS views (read model) implementation for the Cloud Computing environment (Windows Azure). There will be some snippets and technical details.

Let's see how we can use specifications to test Aggregate Roots in the CQRS scenario.

Let's try to apply theory from Reactive Extensions and concurrent development to CQRS and see how the theory matches.

Talking about building enterprise systems with various levels reliability and redundancy with Command-Query Responsibility Segregation.

First draft of the unified theory on CQRS, almost-infinitely scalable systems and Cloud Programmability.

Implementation Overview

Salescast is a web application offering smart integration between various inventory and sales management solutions and Lokad Forecasting Services. It is hosted in Windows Azure and provides rich business intelligence and decision support for the customers.

CouchDB is a young document-oriented database that leans towards the web applications and is based on the CQRS principles. The latter gives it nice performance, distribution and scalability.

Bid Now is an online auction site designed to demonstrate how you can build highly scalable consumer applications on Windows Azure. If we look at it from the CQRS perspective, there are could be some some improvements to this guidance.

Lokad.CQRS is a .NET Foundation and Guidance that aims to help building scalable web sites and enterprise solutions on Windows Azure.

Cloud CQRS Lifehacks from Lokad Production

A few CQRS ideas from the production experience: real-time debugging, error notifications, domain event history, exploring domain and using Excel to visualize results of the temporal queries.

Some more ideas from the CQRS production experience: color coding, optimizing UI for iPad, monitoring queues for stale messages and making performance statistics immediately available and readable.

Let's talk about a quick and simple approach of categorizing messages from the domain log and then visually differentiating them with hash-based background colors.

Intelligent Development

Let's automatically visualize and document your DDDD/CQRS solution using some reflection and Visio 2010

Let's talk about using Graph# project to layout and visualize complex dependencies in IoC containers and in enterprise solutions.

Let's do a quick overview of debugging CQRS applications and capturing statistics in the context of domain events.

Teaching Visual Studio a custom CQRS-specific DSL that will generate your commands and events on the fly!

Business Intelligence

Intelligent software brings and saves money. So let's learn about injecting some business intelligence into a simple .NET application.

Persisting domain events for your enterprise software solution or entire company provides much better insight into the business. It also helps to anticipate the future and be prepared for it, gaining competitive advantage. Time Machine with LINQ capabilities can help here out.

These are ongoing series. More articles are planned. You can stay tuned by subscribing to the Journal and also check out the section referencing other materials on Command-Query Responsibility Segregation

xLim 3: Distributed Solutions

Active research and development: May 2008 - December 2009

xLim 3 builds up on the foundation of xLim 2 and brings experience of complex large-scale development into the picture. Actual codebase backing up the theoretical analysis had spawned multiple real-world software products, more than 50 prototypes and successful open source projects. Challenges of efficiently dealing with such a large-scale development significantly influenced articles and theory below.

Development Theory:

Application Blocks:

Development Practices:

Beyond Development:

Desktop Applications:

Cloud Computing Tech:

Testing:

xLim principles have gone Open Source:

  • Lokad Shared Libraries - common Application Blocks, helper classes and some development principles that are based on the experience from the previous xLim versions. Additionally, they form reusable codebase for this version of xLim.
  • Lokad SDK for .NET - Forecasting SDK for building .NET apps on top of the Lokad business analytics services.

xLim 2: SmartClient and Composite Solutions

Active development: September 2007 - May 2008

xLim 2 builds up on the foundation of xLim 1 and brings production experience into the picture. Development standards, flexible architecture and continuous integration start playing an important role here.

You can browse all related posts or check out the highlights:

These things could be interesting to know about:

xLim 1: Getting Started

Active research and development: May 2007 - June 2007

xLim 1 is a research on building distributed information management systems efficiently. It is based on some established patterns and practices, along with the development principles and some commercial component suites.

Updates

More articles are scheduled to come. You can get these updates by subscribing to the RSS feed.