Recently I looked at different SOA (Service Oriented Architecture) implementations. For those who are not in the know, SOA is supposed to revolutionize the way we build software services by delivering ready-made building blocks that we can assembly and reassembly whatever way we see fit. Kind of business mash-ups.
What I found was rather disappointing. Of all the tools, only one goes beyond the static assembly of services, i.e. it allows services to be actually chosen at run-time. The only dynamic service assembly allows for the choice to be made, but only on the cost and performance basis.
Now, I am not surprised that SOA somehow did not live up to its premises. The main choice of the service should be based not on cost, but on trust. It is more important to pick your business-critical service from someone whom you trust that from someone who can deliver it on the cheap. There should be a trust-based selection, that’s it.
Of course the static selection is trust-based, in a way. It reflects commercial trust between the provider and the consumer – or at least it should. But the static selection is slow, way slow for the modern company that would like to run at the speed of the Internet. It misses on the opportunity to choose the most trusted one at the given moment.
What prevents trust-based dynamic selection from becoming a reality? There is enough theory to choose from, and I believe this is the main show-stopper. There is simply too much theory, and each year brings more sophisticated trust-based algorithms. What we need is something that is simple and implementable.
I think that Trust-O-Meter is a good candidate for policies that govern trust-based section. It is simple and it encapsulates a good heuristics. It is not expressed in a policy-like form, but this can be corrected. Just a thought.