When Technology Matters in SOA
Blogger: Anne Thomas Manes
Nick Gall just alerted me to another fine post by Andrew McAfee -- this time on the importance of technology in SOA.
Andrew is expressing concern about the fact that many people frequently say, "it's not about the technology" (INATT).
Andrew suggests that INATT has two typical meanings:
Andrew rightly cautions people against taking either of these two meanings to the extreme--particularly the second one, which can lead people to view all technologies as equivalent.
Now, I must confess that I am one of those people that regularly says INATT--especially in respect to SOA. But I don't think either of Andrew's meanings actually represent what I mean.
When I say INATT in respect to SOA, I'm trying to convey the idea that technology is secondary to design. More specifically, technology is an implementation decision. When initiating a project, the project team should first identify and analyze the project requirements, then select an appropriate technology that effectively supports those project requirements.
People always ask me things like, "Which ESB should I use?" or "Which is better: SOAP or REST?", and, invariably, the answer is, "It depends on your project requirements."
So I reiterate. SOA is not about technology. It is about design. You can implement a service-oriented system using any type of distributed computing technology: HTTP/REST, SOAP, CORBA, DCOM, RMI, Jini, Fax, Telex, or whatever. That's not to say that technology doesn't matter -- it does. The technology used to implement a project will profoundly impact the detailed design of the project and its capabilities. And I think this is Andrew's point. Technologies are different. New and better technologies are being invented all the time, as well as new and innovative ways to use the technologies. But technologies are tools. And as any carpenter or mechanic will tell you, it's always best to use the right tool for the job.


Hi Anne,
Good post. I agree.
It is interesting to see that the primary people that talk about SOA, and INATT with respect to that are usually technologists.
It's not about a specific technology and a specific technology isn't going to solve everything. But SOA is very much about using technology in a specific way to solve business problems. If it weren't, we'd be talking about how to better organize your business or good business practices and reading 'From Good To Great' etc., not "SOA".
Regards,
William
Posted by: William Henry | September 04, 2007 at 08:46 PM
Do you have any thoughts about what leads us to put the cart before the horse with respect to implementation tools and design? It seems to me that arguing about SOAP/REST and ESBs is a lot easier than actually designing and planning services so we (IT professionals) tend to skip such activities altogether.
Posted by: Mike Davison | September 05, 2007 at 09:54 AM