Howdy all,
It was a pleasure chatting with you at this year's Developer Summit[1] about how we might give SOA a shot in the arm by creating (and building from) specifications.
The slides are available on the RESTBase project pages[2] and the session notes are available on Etherpad[3].
I'm eager to keep the conversation going on the mailing list, and want to address a couple items that came up (or were missing) during the session, as well as prompt for further discussion.
I mentioned after the presentation that we're using our spec to drive our automated testing. I added some info about that to slide #14 in the slides[2]. The idea is that, since Swagger lets us add custom fields to a spec, we can augment each endpoint specification with a functional description of its expected inputs and outputs. During testing, we parse the spec and verify that these indeed hold true. There's a lot of opportunity for enhancement of our (currently very basic) approach to this, but it's already proving pretty handy from a coverage standpoint.
There was a question in the notes[3] about Swagger's support for internationalization, but I'm not familiar with the use case in mind. How might an API differ, aside from the content of fields in a specified model, under different localizations? Might users want the models themselves (or parameter names, etc.) to vary?
Cheers! James
[1] https://www.mediawiki.org/wiki/MediaWiki_Developer_Summit_2015 [2] http://wikimedia.github.io/restbase/docs/presentations/wm-dev-summit-2015/so... [3] https://etherpad.wikimedia.org/p/mwds15-spec-oriented-architecture