Recently, I was involved in a SOA review for an organisation (obviously, I do not wish to name names) It was pretty clear that they hadn’t actually adhered to many of the key SOA Design Principles that are,
Much of the SOA was built using a single vendors technologies many corners were cut because of compliancy, so tight coupling crept in to make interfacing ‘easier’, abstractions were compromised to improve performance. Reusability opportunities were missed because of ‘not invented here’ mentality and ‘it’s not quite what we wanted’. Statelessness was lost because of writing application specific services, discoverablility turned into a spreadsheet with multiple copies all out of sync and business rules all over the UI because ‘surely there isn’t going to be another one of those ???’. So corner cutting made the SOA an expansive large and complicated Client/Server application so they had recreated the very mess they were trying to escape from.
The key reason why the SOA principles exist is because you can’t predict the future so prepare for change without exception (– this could be the ultimate SOA principle). It’s that simple. This is why the argument for SOA Governance is resonating right now. So the message is follow them now voluntarily to save having it forces on you later, which I know is happening at some organisations because of the amount of money at stake.
Companies live and die because of their differentials or lack of them, a decent SOA helps people leverage them. With the economic climate as it is compliancy could lead to the need to find another job.