SOAP: The Betamax of Web Services?
Whoa ! Betamax Tapes ! by shinnygogo used under Creative Commons
I think most people know about the format wars between VHS and Betamax that took place in the 1980s and early 1990s even if you were not around during the that time. It has been mentioned a lot over the last couple of years because of the brief format war between Blu-Ray and HD DVD.
One of the reasons you hear so much about the format war is that Beta became the punch line on a lot of jokes over the years. My favorite one is the Married with Children Episode where Peggy has to drive across the state line to “Bob’s Beta and Bell-Bottom’s” to rent tapes. Kelly says the in episode “‘We are the last family on earth with Beta”. The other reason that VHS versus Beta is well known because it has been studied over the years as a classic marketing case study. The common telling of the story is that Beta was released first and even though it had a vastly superior quality to VHS, it lost out to VHS.
Another format war brewing?
If you follow Web Service technologies, you will know that there are a few standards running around, but there are 2 big players in the game: SOAP and REST (I don’t mean to leave out or offend the people that use XML-RPC or POX). SOAP predates REST by a couple of years (although you can argue that people were using REST before the term was coined). You could also argue that SOAP has the superior technology, because it supports a lot more features than REST does. In this way you could say that SOAP is like Betamax. Even with the superior technology and a 2 years lead, REST services seem to be much more popular on the Internet than SOAP based services.
Market share begets market share
One of the reasons that Betamax eventually lost out was a lead in adoption that VHS gained when the formats were first released. VHS took the initial lead because the format supported a 2 hour recording time, while Betamax only supported a 1 hour recording time. Tape rental stores and retailers who sell tapes are naturally going to carry more inventory for the format that has the larger market share. The people who are looking to purchase new units will see that there are more tapes available in the format and that will influence the purchase of their new unit. You can see how this cycle can grow and grow.
This is one of the things we are seeing with REST and SOAP. If more people are consuming REST web services, then more people will provide support for REST Services. As use of REST increases, you will see situations where fewer and fewer websites are offering exclusively SOAP services and some sites will offer only REST services. Although you are still seeing popular APIs like Flickr and Amazon Web Services supporting both of the formats.
Is there room for both web services?
There are some differences between the format wars. In the case of Beta versus VHS, the consumer was very locked into the platform (format) and the cost to switch platforms was very high. The cost was twofold: The players were expensive and when you had invested in consumables (the tapes) they were worthless on the other player. This made picking the “wrong choice” a high risk. You saw the risk of making the “wrong choice” in the recent Blu-Ray and HD-DVD cause a behavior that made people sit out the decision until the format war was resolved.
The cost of consuming (as a client) one or the other services formats is rather low. Most of the heavy lifting is done by the respective framework that you are using. Also long as the format of the service is properly abstracted away from the rest of your application (which you should be doing anyway), the cost should be relatively low. Unless you are using a feature of SOAP that is not available in REST.
The cost of providing (as a server) two separate services formats has been traditionally higher than the cost of consuming one or the other. The reason is obvious, the client picks one or the other – you have to provide both for each and every service that you create. I personally think that the cost will reduce over time; we have already seen the burden reduced on the .NET Platform with the advent of REST (called web basic) style end points in WCF.
I think that there is room for both web service formats. I think you will continue to see SOAP being used within the enterprise and between enterprises when the coordination features like transactions are more necessary. For producing and consuming public Internet web services, REST will probably be the most commonly used services format. Either way, I hope that none of us winds up like Peggy Bundy looking for a way to consume our services.