Oh the joys of SOA, web services and technology standards! They don't yet live up to their promise and probably distract businesses from the great improvements that they could make to their operations by having software systems that work together easily.
I've spent the last few days (and nights) brushing up on my understanding of the deepest darkest technology around web services, and the technical underpinnings of Service Oriented Architectures. And at first look, if I ever thought that technology was made complex by self serving vendors wanting to protect their patch, this is one of those times. Web services, and their promise of interoperable systems and simplified integration has led business IT people to believe that software has reached a great nirvana. In fact web services standards just give people another excuse to deeply delve into murky technology weeds and fight battles over often intractable problems that are largely meaningless to the performance of a non-technology business.
I had a great in depth meeting today with the enterprise architects of a large and well known insurance company. It was challenging, since I've had to bring my knowledge of web service standards, XML, SOAP and so on to a level where I can actually understand why the technology works at all. These architects, and many like them are actually translating the vision of XML for representing complex business data into reality. They are pushing XML applied to real business problems; the fact that an insurer represents a person in one way during underwriting and a different way during a claim; the fact that many businesses have different ways of representing identical entities based on the systems they use and the acquisitions of other companies they have made. The fact is that XML can provide a powerful mechanism for unambiguously representing these type of entities, not just for the sake of storage, but to really start to enforce deep rules around the accurate usage and interchange of people's information.
Web services build on the powers of XML for complex data representation, offering mechanisms for effectively transferring it from one system to another, sometimes cleanly, sometime not so cleanly. The problem is that since the beginning of the web service revolution the rules around the application of XML to the problem have been far too lax, and the flexibility of XML to represent almost anything has enhanced this. Open standards frameworks like Apache and even Java have built on their own selected translation, now outdated, so they don't work with Microsoft or IBM's approaches pushed by these superpowers. The outdated approach was not necessarily wrong, but since not widely adopted outside its own space, web services are not interoperable today, and software with a lifespan (and customer base) that doesn't allow completely rearchitecting every 18 months (i.e. virtually every enterprise application) has struggled to keep up. Which means that many of these applications that promise web services are no more interoperable than those that just offer a Microsoft COM interface.
I am starting to believe, based on the discussions I have been having, and the obvious buzz around SOA, that we are reaching a point where the basics are set and everyone is starting to agree. Now the enterprise technology guys will find deeper and more complex problems to pray on in the constant equivalent of the Betamax v VHS wars of yesteryear, and the HD-DVD v BluRay wars of today. Web services are just starting to show promise as enterprise applications catch up - but you can guarantee some extremely smart guys are currently creating some more technology problems that in five years we just manage to resolve.
By the way, my employer, Global 360 is not likely any time soon to have a vested interest in pushing any particular web service standard. Instead it is an adopter of the most broadly used and valuable standards and supporting technology, so I hope this didn't just sound like a rant from a guilty party! Just the rant of a tired supporter of getting technology standards defined and adopted accurately up front so the business knows it works and can benefit from it!
A post from the Improving New Account Opening blog