January 4, 2005: webservices spaghetti architecture

To me it seems that SOA (service oriented architecture) is no buzzword anymore. Everybody is jumping on that bandwagon and is starting to develop and deploy services, most of the time as webservices. Why do they do this? This question can have many answers like 'develop once and use often' or for the centralization of business logic. But in many (if not most) cases the real argument lies in integration issues.
It can be quite easy to develop webservices to make a system available for other systems. Take the right tool and generate one or more webservice to provide the needed functionality. Actually this doesn't sound like a bad idea, because it enables us to get rid of all the specialized connections between systems, often referred to as a spaghetti architecture.

But unfortunaltely in practice it won't change that much. Software development is often project or system driven. Such a system needs to do something with another system and a webservice interface will be developed just for that. Generic interfaces, or even better a service, will not be in the interest of the project because they are often more complex to design and develop and therefore costs more and the deadlines are short. So the system specific and specialized connections will only be replaced by more standard but still specific connections. The spaghetti architecture based on specialized interfaces will be replaced by a spaghetti architecture based on standard interfaces.

Another trend that adds to this spaghetti is that the spreadsheets that managers tend to create will be made available as a webservice. Others will use them in their own spreadsheets etc. etc. In the end all off them will be connected to each other thus making it virtually impossible to change and improve any of them. Indeed, we'll get rid of the so called 'dll hell', but it will be replaced by something worse: the webservice inferno.

In the end we cannot speak of an architecture anymore but instead the IT landscape will be covered with a kind of matrix that has overgrown all applications and connects everything with everything without any control whatsoever. Instead of implementing a SOA we're facing a SOSA (Service Oriented Spaghetti Architecture).
To conclude, webservices are cool but must not be used lightly.

Posted by Aino at 22:23