This is a bit of a jaded post but I’m an old guy so I’m allowed to be jaded once in awhile – please bear with me.
A services-oriented architecture (SOA) is simply a means for implementing a solution for your organization. SOA must not be your end goal since it improperly shifts the focus from the issues at hand to the architecture that may be used to resolve those issues – your objective should be to deliver a solution, not a SOA.
This issue of technology-driven “hype cycles” has vexed the IT industries for decades – it has become a recognizable pattern of behavior (e.g. client/server, push technology, thin clients and now SOA). Try googling some terms like “paradigm shift” and “client/server” – the tone of the research and reports you’ll find will look mighty familiar.
Technology trends will come and go while the business goals and objectives of your organization will persevere, regardless of the current analyst hype technical trend. IT is just a tool for achieving the organization’s business objectives through the practical application of technology. Never let the promises of a given technology or trend overshadow the goals and objectives of your organization. Simply put, if you’re out to build a SOA you are not going to be serving your organization’s best interests. The application of technology should be driven by business strategy, not the other way around.
As I’ve stated earlier, SOA will eventually become a clearly understood concept and, with proper vendor support, gradually become more and more commoditized. SOA will one day become a generally accepted approach for designing and deploying solutions for your organization (much like client/server and n-tier computing have become today).
I don’t know about you, but that day can’t come soon enough for me. What do you think?