2 ms·
You say you "generated" the clients. What happens when you need to change your services in a way that changes the WSDL? If your types or parameters change, your
by DougWebb 15y ago
You say you "generated" the clients. What happens when you need to change your services in a way that changes the WSDL? If your types or parameters change, your clients won't work anymore unless they re-read the WSDL. With Java and .NET, that generally requires recompiling the clients and redistributing them.
That's what Roy's talking about when he says REST is about designing on a long term scale. A client that uses a RESTful API should be parsing and navigating the representations dynamically, which allows them to handle changes in the representation gracefully. The clients can never handle semantic changes to the API, but they can handle structural changes.
What do I mean by that? If you provide links for paging, and the link for the next page uses rel="next", that's the semantic meaning for the link. Your client has to hardcode the knowledge that it needs to find the link with rel="next" in order to go to the next page. But, it doesn't matter where that link may appear in the page, or what the url for that link happens to be. These are both structural details that can change over time without breaking your client.
- hello_moto 15y agoIn reality, how achiveable/practical the scenarios you just explained regarding REST for both server and client side? Your example also seems to be optimized for REST. I am not suggesting that SOAP is much better.