Long term Red Room blogger Saul Cunningham along with the newbies Richard Ward and myself from the ANZ team will be looking into how SOA projects should be better run and governed to ensure they deliver their full potential back to the business over the next little while... But what a time to begin such a series of posts, amid the extensive 'SOA is dead' debate that someone described as being to the blogoshere what "Sarah Palin was to late night comedy TV!"
The king may well be dead but SOA isn't, and it's not working down the chipshop either. There is a single indestructible truth at the heart of SOA that will keep it alive and that is this; it makes sense to build something once and reuse it. This is a staggeringly good idea and it's not going away any time soon. It's just a tough sell to convince an industry that has grown up on building new stuff every time a new requirement comes along that there is another way to go.
This is not a new argument. I started work as a COBOL programmer in nineteen eighty something or other and one of the first things I learned was that my development shop had a library of pre-built services - only we didn't call them services back then, they were sub-routines or includes if I remember rightly - that you could use as a programmer to do repeatable utility tasks, date conversion for example. These were battle hardened bits of software that you gave certain inputs too and would deliver you a result. Black boxes that did exactly what they said on the tin . Sub-routines, includes, components, services, call them what you will, reusing something that has been built already delivers speed, flexibility, reliability and is cost effective.
Other industries know this. The highly unfashionable car industry for example knows that building a component once and plugging it in to a shared platform is an idea that works. The Volkswagen Beetle and Audi TT are different cars aimed at very different drivers (different applications aimed at different end users to use the language of the software industry) but are built around a common architecture and share common components. Just look at how many applications the VW group have actually built on the A4 platform.
Slightly more fashionable than any company in the traditional car industry today - no Tesla, that doesn't include you - is Apple. Does Apple understand that building a component once and reusing it in many devices is a good idea? Too right it does. The hardware side of the IT industry has figured it out too, take a bow Dell, Asus, Lenovo - or any other laptop maker you care to mention. Why has proven to be such an un-natural act for the software side of the industry when it's a no-brainer to anyone on the outside looking in?
And then there's the old chestnut about business value and aligning IT with the business. Why are we still having this conversation? I saw this perfectly summed up by David Foster, responding to a post on Nick Carr’s blog via Joe McKendrick at ZDNet. On a seminar entitled Aligning IT with the Business; "Isn’t it a bit strange that there is still a need for this kind of thing? There have been IT organizations in American business for fifty years now. No one sends out seminar invitations for ‘aligning manufacturing with the business’ or ‘aligning sales with the
business’ or ‘aligning logistics with the business.’ Clearly, there are a lot of businesspeople who believe that IT marches to a drummer other than the best overall interests of the corporation."
SOA, alive and kicking, fixes that. The fundamentals of SOA are business fundamentals not technology. One of the favourite phrases of Paul Coby, CIO of British Airways is, "There are no IT projects. Only business projects". And he's right. If you're working in IT and can't see how what you are doing on a daily basis links to the goals of your organsiation then something is wrong. IT exists to support the aims of the organisation, to serve customers better - quicker, faster, cheaper - and SOA is the best way that we in IT have yet come up with to represent what we can offer to our organisations as a set of reusable reliable components. SOA isn't dead, it's in rude health.