I usually agree with Jack van Hoof’s stuff, but I don’t agree with his thoughts on loosely coupled transaction processing. It’s much better than suggesting the use of 2PC system like WS-AT, but when he writes that “by design every action has a compensating action to undo the original action” I am reminded of Pat’s old post Why I hate the phrase “Long Running Transactions”. Personally, I’m a fan of using the Tentative Operation or Reservation pattern, described by John Evdemon. Note the lack of a transaction coordinator in that pattern.
Speaking of service anti-patterns, I wonder how we rationalize the following two statements, both from Microsoft, in documents published by my old team:
“It is very common for Entity Services to support a create, read, update and delete (CRUD) interface at the entity level, and add additional domain-speciic operations needed to address the problem-domain and support the application’s features and use cases.” Shy Cohen, Ontology and Taxonomy of Services in a Service-Oriented Architecture, Journal 11
Ian Thomas wonders Does ERP suck? In a word: Yes! Seriously, I’m a strong believer in what Ian alternatively calls “unbundling” and “disaggregation” of monolithic enterprise systems – ERP is the most glaring example of such systems.
Jamie Cansdale is figuring out how to host Silverlight’s CLR outside of the browser. He’s already got a console runner up and running. He’s working of adding “Test With Silverlight” option to TestDriven.NET. You go Jamie.