Back to proposals-2013
Title: Restful Objects - a hypermedia API for domain object models
Proposer: dan_haywood
Type: Tutorial
Duration: 90 minutes
Description: REST architectures are becoming increasingly more common, both on the internet and within the enterprise. Behind most of these REST APIs is a domain model (some anaemic, some less so); the wiring up of that REST API to the model involves lots of boilerplate and lots of testing.
With justification, there are some scenarios (principally internet), where a separate stable resource model is required in front of the domain model: REST systems can't arbitrarily break their clients if those clients are not part of the same bounded context. In other scenarios - if you own both ends of the pipe - then having this additional layer of abstraction is unnecessary.
Restful Objects is a specification that describes how to expose any domain model - with or without a separate resource model - over REST. It fully documents a set of HTTP URL resources and the corresponding JSON representations that they support; and it fully supports the stuff that REST-heads care about: HATEOAS, media types, link rels, conneg, HTTP headers and arcane response codes; that sort of thing.
Restful Objects isn't just a specification though: there are also two separate open source implementations, a completed one for .NET (running on top of ASP.NET MVC4), and another on the JVM.
In this talk, Dan will explain some of the ideas behind the spec, and will show how you can use it to REST-enable an app in a matter of minutes.
Roger: probably
[Ewan: YES. I think Dan has done a lot of work with Naked Objects? This sounds like a variation on that, adapted towards REST. Sounds interesting]