Several Microsoft Bloggers have been spreading their meme of the Four Tenets of Service Orientation. As Alan Kay once said, "The best way to predict the future is to invent it." MS is pushing the four tenets like your first, free rock. Like em or not (confession: I do, especially lately), MS are going to be a huge player in the SOA space by virtue of the fact that their platform will be dripping of the stuff in the next few years. If you are an enterprise architect or an integration architect, you are going to be using it, dealing with it, loving it, loathing it.
Some of the foundational discussion for the four tenets (as far as I know) are in Don Box's PDC 2003 presentation and this earlier referenced article on developing services in Indigo.
Don (can I call you Don? Great. Jef. Please call me Jef.) waxes historical and analogical on DCE RPC/MSRPC and the separation between contract and localization of that contract to an implementation.
Rich Turner (666) has a series of posts on service orientation, and he dives a little deeper into the four tenets. For autonomy, he states:
Why are these services Autonomous?Either Service’s location can change at (almost) any time due to the fact that they’re dynamically addressable
The services communicate through dynamically negotiated communications channels that support the necessary formats and capabilities (security, reliability, etc)
Neither Service requires knowledge of each others’ internal workings in order to exchange data – they only need the published schemas & contracts
Neither party make demands on each other as to how the work is carried out
For Explicit Boundaries, Expensive Traversal, he argues:
A communications channel is dynamically negotated between Services based upon Policy which of course requires some work, the speed of which process is gated by the slowest party in the negotiations. And let's not forget the physical aspects of data marshalling, buffer copying, passing through the network stack, serializing onto the wire, navigating ethernet to the other end of the wire and then bubbling back up through all the network, OS and platform stacks.A couple of non-but-definitely-pro MS guys, Benjamin Mitchell and Clemens Vasters (I am glad to see the alien abductions are back), provide more insight as well. Benjamin here. Clemens here.
Clemens has coined PEACE as a mnemonic device for the four tenets:
Policy-Based Behavior Negotiation
Explicitness of Boundaries
Autonomy
Contract
Exchange
Reminds me of "COM is Love." Only not as much zen.
Comments