Watching the World Cup yesterday in a London Pub with the Cliff Richard of SOA and then chatting today with Mike Morris about the game made me think of something.Football is a great example of perfect SOA in action its
- Goal Oriented
It also underlines how in flexible systems processes are less important than the services and the activities. The move that led to England's goal was a pass from Stewart Downing on the left to Aaron Lennon on the right, back to Beckham, cross into the box for Crouch to score. This wasn't a predefined process that was executed to score a goal it was a series of services collaborating to achieve that goal, each service made a decision as to what the next step would be. Thus resulting in a hugely flexible system that could execute multiple different approaches without requiring any reconfiguration or re-deployment.
In Football you've also got the ability as the coach to direct the services in certain ways, putting drivers and principles into their actions (or divers and a distinct lack of principles for certain teams) to help achieve the outcome you want. These directions are not absolute and concrete processes they are guidance to the services (players) on what would be the most effective approaches, it is then up to the services to determine the best route to goal.
The final point it made me think of is that services can have the same principles, drivers, goals, specification and rules and still produce completely different real world effects. Footballers have effectively the same capabilities (kick, run, head, tackle) but the key element is the ability of their capability. As service architectures become more evolved, and particularly when looking at business collaborations the importance of value or capability ability will become ever more critical, unfortunately we currently have no way to really describe such things, its currently just a description of what the capability is.
So Football is the most perfect example of SOA in the world today, and a cracking example how goal oriented services don't need a process to deliver the right results. In IT this is exactly how Agent Technologies and Belief-Drivers-Intent (BDI) services should work, and SOA can give you the ability to understand when process is needed, and when something more dynamic would suit your purposes better. In American Football its much more process oriented so they'd probably be better off with a BPEL engine :)