Latest Replies
Wednesday
Jun082011

Lokad.CQRS v2.0 Framework and Docs for Windows Azure

Lokad.CQRS v2.0 is now officially stable and released.

The project was started 1.5 years ago to provide simple light-weight service bus for Windows Azure Cloud. It did the job well and eventually got accepted into more projects inside Lokad and outside as well. This gave us more feedback from the production usages in cloud, along with new development experience and CQRS ideas. Second version builds upon that and also includes first decent documentation.

Lokad.CQRS v2.0 is a .NET framework and a set of guidance materials for building distributed and scalable applications to be run on-premises or deployed to Windows Azure Cloud. This project helps to design and develop decoupled systems locally and bring them to the distributed environments later.

New Features in v2.0

  • First version of Lokad.CQRS documentation (37 pages long PDF).
  • Completely rewritten codebase.
  • Partial support for portable scenarios.
  • Storage Blocks (Atomic and Streaming Storage).
  • Message envelopes and message batching.
  • Delayed message delivery.

Future Plans

  • Port Lokad.CQRS Maintenance Console to the open source.
  • Introduce storage for the event sourcing (both local and cloud scenarios) and provide message dispatcher to handle Aggregate Roots natively.
  • Introduce full support for running Lokad.CQRS locally without Windows Azure Storage Emulator.
  • Fill in the gaps in the documentation and samples.

PS: I would like to thank all brave souls that were chasing the trunk, while it has been heavily refactored. And also all kind souls that were sharing encouragement, feedback and user stories.

« Lokad.CQRS - Framework that is Designed for Farewells | Main | Messages and Distributed Systems »

Reader Comments (14)

Any chance to get video from Greg's talk at goto?

June 9, 2011 | Unregistered Commenterxelibrion

I think, there was a recording. So they might publish it later.

He was giving his usual talk on the event sourcing, though. Materials are already available in his other videos and cqrsinfo

June 9, 2011 | Registered CommenterRinat Abdullin

Ah, then I suppose there is nothing new for me

June 9, 2011 | Unregistered Commenterxelibrion

Rinat,
Thanks for that release, great job.

June 9, 2011 | Unregistered CommenterDima Janzen

@xelibrion, new Greg's things are about the project Amsterdam and PvcPipes, but they are too new to make it into the presentations, yet.

@Dima, thanks!

June 9, 2011 | Registered CommenterRinat Abdullin

In the documentation it's wrote the Atomic Storage can write concurrency-safe code without even bothering about locks, leases, tags or any other mechanisms, but in the main trunk there is e //TODO about that, so it isn't implemented yet, is it?

After all, great job, thanks.

June 10, 2011 | Unregistered CommenterCristiano

Should this link from the Sample's ReadMe.txt be working or not ready yet?

Guidance materials cover samples in greater detail
http://code.google.com/p/lokad-cqrs/wiki/GuidanceSeries

Thank you!

June 11, 2011 | Unregistered CommenterKerry

So... can we expect those event sourcing to really be available in the future?

I am desperately looking for a simple way to do CQRS + Event Sourcing with an ASP.NET MVC app deployed on Azure... and haven't really found anything satisfying. I like the way this great project is heading, and don't mind to wait, of course, is just to know if it's a priority or just a possible idea of a possible implementation.

Thanks for all the work!

June 15, 2011 | Unregistered CommenterJacobo

Cristiano, thank you for reminding me about that.
I completely forgot about the actual atomicity. It will be fixed in 2.1 release.

Note, that if you are using atomic storage for the persistent read models (views) in Lokad.CQRS according to the common rule "1 queue is managed by a single process", then locking is not even an issue.

June 15, 2011 | Registered CommenterRinat Abdullin

Kerry, thank you for the heads-up. Wiki guidance series were in Lokad.CQRSv1 and they are now replaced by a single PDF document, which will be expanded as we go. I've fixed ReadMe.txt in the trunk.

June 15, 2011 | Registered CommenterRinat Abdullin

Jacobo,

Supporting event sourcing scenarios (in an extremely simple and opinionated way of Lokad) is of current priority for us. We are already working on ITapeStorage in Lokad.CQRS repository (branch is named "2011-05-28-es"). This simple storage abstraction is the foundation for persisting event streams in various configurations (event sourcing is one of them, rebuilding persistent read models - another). I'll try to include all basic building blocks along with the documentation in the next release.

Meanwhile, you can also try Oliver's Event Store. There is already an extension for Lokad.CQRS that has been implemented and discussed on our google group: https://groups.google.com/d/topic/lokad/6kO1q7mDGZk/discussion

June 15, 2011 | Registered CommenterRinat Abdullin

Thanks a lot for confirming that you're working on it Rinat.

After I commented here I discovered Chris' port of the library, and have already been investigating it.

I finally just would like to thank you for all the hard work and the kindness of sharing it; and I specially appreciate the pdf document, which I've read completely, because it is concise but explains each concept very well. Not only you do write good software but good doc. That along all the samples (which I'll start looking at this evening) is a great plus for people trying to get around a new project. I'm amazed by the quality of the software and documentation.

Just, many many thanks, great work. Hope to start using and contributing as soon as I can.

June 15, 2011 | Unregistered CommenterJacobo

Jacobo,

Thank you very much for the kind words!

BTW, samples are rather outdated, since I was focusing on features and docs for this release. I hope to have them tuned for the next minor release.

June 15, 2011 | Registered CommenterRinat Abdullin

Oh, I'll wait then till the samples are updated (I have many other things to do so that's not a problem!), since this is my first project and would like to see some properly done code before diving myself in.

The kind words are deserved... the documentation bit is usually overlooked, and the code quality, "robustness" and integration is great. I've seen many "more important" projects that lack those things.

So thank you very much, I'll be following the project closely.

June 16, 2011 | Unregistered CommenterJacobo

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>