I've been attending several seminars on SOA lately, and all presenters agree on one issue: SOA should be Business Driven. I really do agree with that, but it also made me wonder: why is it that it's mostly the IT vendors who are pushing SOA?
The principle of SOA can be stated as: separation of concerns. In my mind, that's the central theme of SOA. Separation of concern isn't anything new to IT. Ever since I started in the early 80s, we've been trying to solve problems by decomposing them into smaller pieces where each piece addresses a distinct part of the problem. Service orientation, which is the means of SOA, defines the characteristics of these pieces, like loose coupling, autonomy and statelessness. So it is no real surprise to see the IT vendors jumping to it.
But SOA is more than just the technological approach. The separation of concern can also be applied to the business. Look at Business Process Management for instance. One of the techniques that's used here is Process Analysis, which consists mostly of decomposing processes into smaller, clearly defined sub-processes.
The one thing that differs in SOA from the 'old-skool' approach of decomposition is that it also adds the concept of Orchestration. Orchestration is the means by which business functionality (whether or not automated) is structured and executed. And isn't that where the business value comes from .... ?