Browsing the latest JavaMagazin leader written by Stefan Tilkov, I stumbled about a phrase in his abstract, that triggered some thought I wanna share with you. Stefan claims REST to be a more lightweight approach to web services than SOAP.
First I have to admit, that I clearly favour REST style webservices over SOAP one, too. The projects I worked with them were clearly less cluttered, less overheaded, and the API much more close to the domain concepts compared to those rumbling with SOAP. But back to the headline statement.
REST webservices - as well as Spring - claims to simplify its technical domain. Spring does for the much broader scope of Java EE development, REST webservices do for loosely connecting software systems. The key concept of both is to concentrate on very core concepts, achieving power through simplicity.
Spring leverages POJO development, the very basic component model of Java Beans. REST webservices do so by cleanly emphasizing the power of REST (as the name suggests).
The last analogy I see is that Spring was not born out of a clinical spec but does is rather based on experiences in real world project. So do REST webservices. Currently there are “only” best practices to REST development, whereas SOAP was backed by a specification since day one. A spec that did not really fit well to real world development introducing way too much overhead. As we saw what influence open source projects like Spring and Hibernate had on EJB 3.0, perhaps we can hope for a much more simplified and natural SOAP 2.0 or even REST WS 1.0?
So you can conclude that despite the different technical domains and scopes you can find subtle similarities in history, core ideas and influence on spec based competitors.