Category Archives: SOA

Ditching two-phased commits

I’ve had a love-hate relationship with two-phased commits during my years with messaging. Even if MSDTC was free to set up, it doesn’t come free in terms of throughput. Most people run into 2PC in messaging because because queueing systems … Continue reading 

| 11 Comments

Messages, data and types

One concern I receive quite a bit from folks new to messaging, especially those coming from SOAP and WCF land, is how to preserve the convenience of proxy classes and data contracts that can be shared amongst multiple clients. The … Continue reading 

| 6 Comments

Scaling NServiceBus Sagas

When looking at NServiceBus sagas (process managers), especially at high volume of messages, we often run into two main problems: Deadlocks Starvation This is because of the fundamental (default) design of sagas is that: A single saga shares a single … Continue reading 

| 7 Comments

Saga implementation patterns – variations

In the previous couple of posts, I looked at the two main patterns I run into when looking at sagas: Command-oriented (request/response) in the Controller pattern Event-oriented (pub/sub) in the Observer pattern Of course, these aren’t the only ways our … Continue reading 

| 6 Comments

Saga implementation patterns – Controller

In the previous post on saga implementation patterns, we looked at the Observer pattern. In that pattern, the saga was a passive participant in the business transaction, similar to how many fast food restaurants fulfill orders. But not all food … Continue reading 

| 17 Comments

Saga implementation patterns – Observer

NServiceBus sagas, itself an implementation of the Process Manager pattern, often takes one of two main forms when implemented. It’s not a cut and dry distinction, but in general, I’ve found that saga implementations typically fall into one or the … Continue reading 

| 11 Comments

Internal versus external events

Inevitably, for those building event-driven architectures (or even message-based architectures), the need arises to publish events to some outside consumer. This consumer could be another solution built by the same team, an adjacent team, or consumers outside the firewall boundary. … Continue reading 

| 4 Comments

Messaging Semantics: Ownership

In the last post, I covered naming of messages for the different kinds of messages we typically see: Commands Replies Events The names of messages is the first clue I look in to see if boundaries are correct. Often, when … Continue reading 

| 5 Comments

E-VAN – Alan Dean talking on REST (6th July 2009)

First off if you didn’t watch Udi Dahan talk on the SOA then you missed a treat, a real pro speaking on a topic that he and a very few others in the .NET space are way ahead of the … Continue reading 

Also posted in ALT.NET, E-VAN, REST | Leave a comment

Book Review – SOA Patterns (First 5 Chapters)

I’ll cut straight to the chase, I definitely recommend SOA Patterns to anyone interested in SOA. Even though its currently only available in MEAP, and is a bit rough and ready, and isn’t complete, it’s still great stuff and well … Continue reading 

Also posted in Books | Leave a comment