Morning Coffee 76


  • Dare Obasanjo sez Cool URIs Don’t Change. He’s got other versioning advice, but that’s the main takeaway. Good advice that dovetails nicely with “It’s the URI, Stupid“.
  • 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:
    • “CRUD operations are the wrong level of factoring for a Web service. CRUD operations may be implemented within or across services, but should not be exposed to consumers in such a fashion. This is an example of a service that allowed internal (private) capabilities to bleed into the service’s public interface.” John EvdemonPrinciples of Service Design: Service Patterns and Anti-Patterns, Readings in Service Orientation
    • “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.