The more I read about SOA the more I realize that people don't really understand what it is. It is almost as if it is a magic pill that can fix all of your technology problems while solving world hunger. I get concerned when I see articles like this one (Does SOA threaten developer jobs). If anyone thinks that SOA is a way to downsize an organization and free up resources, then give me some of whatever that person is smoking!
First of all, if you are signing up for a SOA initiative, you are probably adding resources or at least moving resources off of other initiatives. No way are you eliminating resources. You can't simply stop doing the other hundred projects that your business partners are depending on you for.
Second, you don't "do" SOA in one project and then you are done. To do SOA right, your company needs to make a long term commitment to it. You must fund it, invest in people and training, change your culture, possibly change your organizational structure, align more with your business partners, radically change your approach to testing, and put a governance model in place. If you don't do all of these things then don't even bother with SOA. This is no different then when everyone was jumping on the OO (object-oriented) bandwagon a couple of decades ago. Many companies let their developers run wild and create all kinds of wonderful object oriented applications. But since many of them failed to set any standards and guidelines, they failed to achieve reuse and wound up creating very expensive, time consuming applications without any real benefit. SOA, like OO, is pure overhead if not done right!
Third, SOA is not something you buy from a vendor shrink wrapped in a box. I have heard so many stories of companies rushing out and buying an ESB without having a clue of what to do with it. I have this image of a room full of guys making six figures sitting in a conference room high fiving each other after they just dropped their first million on their ESB. After knocking down a few glasses of champagne one of them turns to the others and says, "Now what do we do?" The room fails silent and the real heavy drinking starts!
When the latest buzzword gets all the hype, the smart people start to get pessimistic about it (Why SOA Does Not Deliver). SOA can deliver, but only if you know what SOA is and if you set realistic goals for what you want to accomplish with SOA. Max Pucher is right when he says...
An agile organization will use IT to its best with or without SOA. SOA will not make a business or its people more agile.It's like the housing boom. When the cleaning lady starts talking about the condo she just bought, it's time to sell!
If you are considering implementing SOA, make sure you really understand what SOA is and what your goals and objectives are. Before you buy anything, make sure you know what the total cost of ownership (TCO) is. SOA is not a product. It's a way of life.