Thanks to Hartmut for pointing out that our own Harry Pierson is discussing retiring “the four tenets of service orientation” that we wrote down back in 2003 - as is John Heintz.
With respect to their retirement status, it ain’t up to me.
MSDN will likely keep the article up forever (you can still read my first MSJ piece from 1995 here).
As for what “the SOA/Architect community” does, I don’t have much say there either and honestly, I'm not sure how stuff gets done there.
That stated, there are a few misconceptions I saw in the posts that I'd like to address.
First off, we published those tenets simply to be transparent about the principles we were using to define indigo - that is, what were the characteristics of systems and services we expected people would build using indigo. The goal wasn’t to provide any more guidance than “this is what we expect you to do with it” at a pretty abstract level.
Second, Harmut states “WCF Contracts are still CLR-Classes, not Schema or Contract.” This isn’t quite right. The in-memory representation for WCF contracts is a DOM-ish tree that can be cons’ed up using any number of techniques, not just writing C# interfaces with [ServiceContract] (go look at Sys.SvcModel.Description.ContractDescription if you care to spelunk). ContractDesc is neither CLR reflection data nor WSDL – rather it’s the optimized in-memory rep used throughout our runtime. FWIW, we’re actively investing in other ways to write ContractDescs down (honestly I’m not a big fan of CLR interfaces or WSDL – please God tell me we can do better).
Finally, both Harmut and John Heintz rail (like many of us do) against the [WebMethod]-esque examples that sprout up around pretty much every stack in this space.
What I’d love to see people do (including but not limited to Harmut, John, and our dearly beloved Tim) is sketch out a concrete example of what they would rather write assuming a “traditional” imperative programming language (static or dynamically typed) – for extra credit assume both CRUD and non-CRUD operations (e.g., show me how you want to write down TransferMoney).
It’s a very illuminating exercise.
Posted
Aug 15 2007, 10:44 PM
by
don-box