Messaging

Messaging

NServiceBus introductory web-cast

My introductory web-cast that briefly covers NServiceBus capabilities was recently published on TechDays.ru. The web-cast is in Russian and I hope it will be useful for the Russian NServiceBus community. You can find it here. If you liked it, don’t hesitate to vote for it (requires Live ID)!

posted @ Thursday, February 18, 2010 11:46 PM | Feedback (0)

Is it time for “send” in C#?

I often catch my self thinking that I miss something like the following in C#: send new MyMessage(); The line should work just like “throw”, but instead of stopping the execution of the code and looking for a handling catch block up in the stack, I would like a pluggable architecture for processing messages, so that you can mark a method to handle the message. “Send” can be used to pass messages to the upper levels, without events if those are unwanted. It will also be very cool if it will be a...

posted @ Wednesday, December 09, 2009 12:01 AM | Feedback (0)

Saga for DSL with NServiceBus

When dealing with processes that can potentially span hours, days and even months going with full ACID transactions is unpractical, because of internal locks. To model such interactions saga pattern is used. Saga breaks the interaction with the system into a series of small transactions and manages the consistency through timeouts and compensations. Saga relaxes Atomicity and Isolation requirements to achieve greater scalability. Service bus frameworks (such as NServiceBus) have saga support out of the box. Most of the frameworks (NServiceBus, MassTransit and Rhino Service Bus) infer which messages saga orchestrates by static analysis of saga types. For example the following is...

posted @ Monday, November 16, 2009 8:38 PM | Feedback (0)

Going One-way Asynchronous

The alternative way to going Request/Response communication style is one-way asynchronous messaging. While at first this seems much harder, it is much more connected to the way you think of the processes than to technical issues. Once you get used to modeling processes in asynchronous way you will discover that much of the processes happening in the enterprise or around you are naturally asynchronous. Example Let’s analyze something that is easy to touch – project development process itself (well simplified). Let’s model the process of releasing a build for testing in both ways (sync and async). ...

posted @ Tuesday, November 03, 2009 10:23 PM | Feedback (2)