About Me
I'm a technical architect with Headspring in Austin, TX. I focus on DDD, distributed systems, and any other acronym-centric design/architecture/methodology. I created AutoMapper and am a co-author of the ASP.NET MVC in Action books.
Upcoming Talks
-
Recent Posts
Recent Comments
Archives
- May 2013 (4)
- April 2013 (1)
- March 2013 (6)
- February 2013 (2)
- January 2013 (2)
- December 2012 (3)
- November 2012 (6)
- October 2012 (7)
- September 2012 (3)
- August 2012 (6)
- July 2012 (5)
- June 2012 (3)
- May 2012 (3)
- April 2012 (3)
- March 2012 (8)
- February 2012 (5)
- January 2012 (5)
- December 2011 (3)
- November 2011 (6)
- October 2011 (4)
- September 2011 (6)
- August 2011 (8)
- July 2011 (3)
- June 2011 (4)
- May 2011 (8)
- April 2011 (6)
- March 2011 (3)
- February 2011 (7)
- January 2011 (6)
- December 2010 (4)
- November 2010 (2)
- October 2010 (1)
- September 2010 (7)
- August 2010 (6)
- July 2010 (4)
- June 2010 (7)
- May 2010 (9)
- April 2010 (8)
- March 2010 (5)
- February 2010 (4)
- January 2010 (9)
- December 2009 (9)
- November 2009 (5)
- October 2009 (8)
- September 2009 (8)
- August 2009 (8)
- July 2009 (11)
- June 2009 (10)
- May 2009 (11)
- April 2009 (10)
- March 2009 (9)
- February 2009 (12)
- January 2009 (10)
- December 2008 (8)
- November 2008 (14)
- October 2008 (11)
- September 2008 (10)
- August 2008 (12)
- July 2008 (11)
- June 2008 (11)
- May 2008 (15)
- April 2008 (10)
- March 2008 (15)
- February 2008 (13)
- January 2008 (19)
- December 2007 (9)
- November 2007 (17)
- October 2007 (23)
- September 2007 (10)
- August 2007 (11)
- July 2007 (11)
- June 2007 (9)
- May 2007 (14)
- April 2007 (7)
Categories
- Agile (53)
- ALT.NET (1)
- altnetconf (3)
- Architecture (13)
- ASP.NET (11)
- ASP.NET MVC (46)
- ASP.NET MVC in Action (1)
- ASP.NET Web API (2)
- Austin Code Camp (2)
- Austin DDD Book Club (2)
- AutoMapper (31)
- BDD (8)
- Behave# (6)
- Behavior-Driven Development (5)
- C# (70)
- Code smells (2)
- Community (6)
- Continuous Improvement (3)
- Continuous Integration (7)
- CQRS (3)
- Dependency Injection (9)
- Design (19)
- Distributed Systems (3)
- Domain Driven Design (2)
- Domain-Driven Design (50)
- Entity Framework (2)
- git (15)
- HTML5 (1)
- JavaScript (4)
- Legacy Code (11)
- LINQ (10)
- LINQ to SQL (5)
- Mercurial (9)
- Messaging (8)
- Misc (50)
- MonoRail (4)
- MSBuild (1)
- MVC (1)
- NBehave (3)
- NFJS (1)
- NHibernate (10)
- NServiceBus (18)
- OO (2)
- OSS (1)
- PabloTV (1)
- Patterns (8)
- People (4)
- Personal (2)
- Presentations (1)
- Process (3)
- PTOM (1)
- Rails (3)
- Rant (31)
- Refactoring (22)
- REST (2)
- Rhino Mocks (1)
- Ruby (3)
- SOA (8)
- SQL (4)
- StructureMap (9)
- TDD (32)
- Team Build (6)
- Testing (25)
- TFS (2)
- Tools (36)
- Uncategorized (7)
- VSTS (7)
- WCF (5)
Meta
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
Also posted in Messaging
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
Also posted in Messaging
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
Also posted in Messaging, NServiceBus
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
Also posted in Messaging, NServiceBus
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
Also posted in Messaging, NServiceBus
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
Also posted in Messaging, NServiceBus
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
Also posted in Domain-Driven Design
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
Also posted in Domain-Driven Design, NServiceBus
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 VSTS
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 Team Build, VSTS
Leave a comment
