Devs that integrate with multiple apis know there is a problem with the wide range of implementations, from authentication to communication patterns. This makes it a pain to integration with multiple service providers. Without some form a standardization you must have an intermediary library to provide an abstraction.
Are we doing it right?? The community has recognized the problem of non-standard lightweight services to be widespread enough to create a tool to standardize communication with them.
Would something like HAL (http://stateless.co/hal_specification.html) be a start down a path where we can have lightweight services that are also self documenting?
I've sketched out some work on using OPTIONS and having the code introspect itself to describe how to interact with the API. Basically with good validation, error messages, and solid/consistent naming conventions, you can take it a long way before you have to step out of the development that you're already doing.
There's plenty that API providers can do to make things saner for all of us, and themselves. Problem is, many (if not most) of them don't seem to care enough. As users of APIs we are their customers, and we outnumber them. Let's find a way to show them the benefits of making our lives easier.
The thing that the library is doing, is now replacing a wsdl with an expert that develops a swagger document. This to me sounds problematic. The wsdl had some idea of versioning of the contract, and was dependent on the developer of the service to update the wsdl with updates of their service.
I imagine, and correct me if I'm wrong, but the swagger doc will have to updated by the expert per release of the service (obviously, pending any implementation changes of the service). This actually puts the consumers of the framework at risk of incompatibility via 1., the developer changing the service, and 2., the expert not updating the swagger definition upon 1. Is this accurate?
Please don't take this as me saying that I'd like to go back to wsdls. That is certainly not at all what I'm advocating.
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte...
It's interesting to see the approach of abstractable APIs, vs. the other way of making usage of data more automatic, via machine readable semantic markup and embedding metadata into the data structure aka linked data/semantic web.
I think its all awesome.
I hope that addresses some of your questions.
Another short term problem I would see is adoption of this on the API provider side. That's of course something a well coordinated initiative would take care of.
I'm looking forward to seeing where this goes and learning more about it.
Our goal is to really better support the needs of app developers needing to work with many API's rather than the API developer themselves. But we hope to gain support of both.