Pete Lacey of the Burton Group recently created a buzz in SOA and Web services circles with his "history lesson," circa 2000, about the meaning of 'SOAP.'
In Lacey's post, entitled "The 'S' Stands for Simple," a "SOAP Guy" explains how SOAP works to a developer, who end up scratching his (or her) head, remarking that "the definition of SOAP is in constant flux, SOAP is anything but simple, and it is no longer meant for accessing objects-even though that’s what all the tools still do." SOAP Guy agrees with this gloomy assessment.
What does SOAP stand for, anyway? I posted on this topic a couple of years back here at ZDNet, but it's worth re-examining the true meaning of "SOAP." SOAP formally started out, and still technically stands for, "Simple Object Access Protocol," but many in the industry say it isn't simple, it doesn't call objects, it's not about access, and it's not a protocol. So scratch that.
Doesn’t it just make perfect sense to tie SOAP to SOA? After all, the only thing standing between the two acronyms is a 'P.' As a matter of fact, some folks a while back actually thought to start calling it "Service-Oriented Architecture Protocol," which makes infinitely more sense, and provides more cohesion to the Web services-to-SOA concept. But SOAP is not necessarily just about SOA, and SOA doesn't necessarily need SOAP.
Many swear by SOAP, and there are probably hundreds of thousands of SOAP messages passing between systems around the world as you read this. Some observers, however, think SOAP may be on its way out as a transport mechanism of choice, being trumped by the simpler REST (XML over HTTP) formula. Still, others have called the SOAP envelope "extra machinery" that has never been shown to improve interoperability.
In a post a couple of years back, Mike Champion of Software AG valiantly attempted to attach meaning to both acronyms for SOAP. In Simple Object Access Protocol, a SOAP message invokes a remote object from a local host. In the Service Oriented Architecture Protocol, a SOAP message represents the information needed to invoke a service.
But many in the industry have simply dispensed with this whole formality and have taken to just calling SOAP "SOAP," an acronym about nothing. Pete Lacey reminds us that the 'S' used to stand for 'Simple,' but suggests that it's anything but. Others have said it should stand for 'Service,' but there are other ways to deliver a service. Either way, SOAP will probably remain a part of the SOA landscape for some time to come.