Within the company that I work, SOA is getting more and more airplay from a water cooler conversation perspective as well as a money for projects perspective. IT within our company has grow over the years, to be at the point now, where there is a great deal of complexity to influence our architecture decisions of today.
In the changing economy that we exist in the use of technology to deliver better faster companies means that companies with too much technology assets in the wrong technologies can be at a real disadvantage. In an internal presentation SOA was pitched as part of the future where we are able to orchestrate these disparate services into a business service that delivers a new product or makes our offering that much better than our competitors.
One over riding message that comes out when discussing SOA is being able to model the business to services. In an article on the IBM web site titled “Defining SOA as an architectural style” they make an interesting point:
One of the main promises of SOA is business-IT alignment. This promise can be fulfilled only if the services are aligned with the business model of the enterprise. This implies that an enterprise business model is a prerequisite for a successful SOA implementation. A high-level model must be in place to set the direction, partitioning, and taxonomy of services.
I must say that achieving business-IT alignment is a great objective and one I definitely aspire too but is SOA the correct architecture to deliver this with? It would seem that most other methodologies also strive to understand the business to the level of detail to model it. I put to you that if you had business stakeholders who worked with you so that you understand the business domain you could probably solve their problem with any architecture. The feeling is that like all methodologies that have been and gone, they have all found the step of getting business-IT alignment is difficult, if not impossible. Will we get to the point with SOA, where we realise how difficult it is to get the business-IT alignment that we are striving for and like so many times before we will cut some corners, IT will make some decisions on the businesses behalf and we will fail.
Is technology in this case presenting the solution before we even know the problem?