Dealing with the "Melted Cheese Effect" – Contracts

I recently published Dealing with the “Melted Cheese Effect”, the first of what should become a series. Here’s my attempt at the second article. Contracts Introduction In the first article in this series, Dealing with the “Melted Cheese Effect” I talked about the interconnectivity of systems, and how that effects design, particularly when we want…



I should have said where to expect the Journal 4. The journal 4 will be on: feed: A previous journal can be found at:



For a long time now, I have been thinking about exposing the functionality of services. I called that the “what of services“. The WSDL and the complete WS* stack to me are the “how of services“, how to encode the message, how to encode the payload, how to encrypt, route, authenticate, how to transfer reliably…


CRUD, finally

It took a while, but my “CRUD, Only When You Can Afford It” article has finally been published. I’ve been working with Jon Tobey on my articles to make them more readable and more consistent. I can tell you, when he returned my first draft (the blog I wrote earlier) there were so many questions…


Razorbills – What and How of Service Consumption

RazorbillsWhat and How of Service Consumption Why did the razorbill raise her bill?Because the sea urchin would see her chin!   Less than five years ago, I read a Microsoft internal memo called “Sea Urchins”. This paper pushed for using XML as the communication mechanism between services. Since the “Sea Urchins” memo, we have made…


CRUD, only when you can afford it (Revisited)

So, I did a little more work on it and I hope I addressed the feedback in it. I don’t think I’ll be providing code anywhere soon though. I hope that the project that David Hill and I are doing together with msdn “Patterns and Practices”, we’ll get to good examples for offlining and offline…


Not knowing your dependencies is the tightest form of coupling

Maarten’s theorem Not knowing your dependencies is the tightest form of coupling Maarten’s corollary Reducing your dependencies is important; however, knowing and understanding your dependencies is far more important.


CRUD, only when you can afford it

After my article on Dealing with Concurrency: Designing Interaction Between Services and Their Agents ( and my talks at the TechEd in Amsterdam, I thought I needed to express my thoughts on CRUD. Here’s my thinking in progress … Hearing people talking about CRUD makes me cringe; it makes me want to react to it….