In the toilet (bathroom in the
Now don’t get me wrong; I think SOA is very important. SOA is all about a model of independent business functionalities or services working together which is a key concept in architecture. It’s simple, elegant, functional and useful. It has been something that has been around in Architecture (as opposed to Marketecture) for a while, indeed I have seen an excellent SOA with virtual services bus, activity and resource based costing and scheduling and full auditing implemented on a mainframe platform some 15 years ago and still in use by a major airline today. I have also seen a fantastic SOA implemented by a major Swedish machine tools manufacturer on Windows 2000. Brilliant! However SOA has reached that point in it’s lifecycle where it degrades, as all good ideas seem to, into high flying marketing and low level nit picking.
I am on an internal Microsoft alias about SOA and a discussion has been raging about the differences between SOA and ESB which reminds me a lot of the arguments of old in the OO world about inheritance, polymorphism etc. Just as we ended up with the OO police we are soon going to get an SOA police who have long lists of things that make up an SOA and if you don’t meet them you are not “SOA compliant”. I can hear the sound of the technical / religious nutters starting to twitch at their keyboards already.
At the other end of the spectrum I can see marketing groups starting to build SOA “campaigns”. Soon we will have commercials promising that if you implement an SOA then all your IT problems will disappear overnight (as we have had with so many technologies before, yawn). Then we will have ads with small children educated by SOA (have you seen the IBM open software ads with the small boy? What has that got to do with open software? Mind you Microsoft’s ads with the little girl coming out of school don’t have a lot to do with Windows either). Next it will be “SOA solves world hunger and brings peace”. Give me a break.
I say enough! Let us not over hype or over engineer SOA. It is:
· A Model or abstraction
· And Business level functionalities or services
No more and no less. It IS important; it is a vital addition to the architect’s toolbox and a valuable way of thinking about and solving IT problems. It’s not THE answer to all IT’s problems or the rallying cry for a techojihad. Let’s learn about it, use it and get on with the fun stuff; Architecting!