Real World REST and Hands-on Hypermedia
Dylan Beattie is a systems architect and software developer. He's been building interactive web applications on the Microsoft stack since the days of Windows NT 4. Today his main interests are HTTP APIs, user experience design, and distributed systems. Dylan lives and works in London.
An in-depth look at REST and hypermedia APIs. What is a RESTful API? Why do they matter? And why (and when) should you build one? We'll discuss the patterns and constraints that define RESTful systems, and do some hands-on coding to see how to implement them in .NET using NancyFX.
This is a talk I've given several times, that's been refined based on audience feedback (and changes to the .NET stack!), but the outline of the talk is:
- Hello and introduction
- Introduction to REST - where did it come from, why is it so widely misunderstood, and why does it matter?
- Review of the principles of RESTful architecture
The bulk of the talk is a series of common scenarios - each one starting with a "real world" problem that API developers are likely to encounter. We work through each scenario and look at how we can apply RESTful architectural principles to solve the problem - and what the benefits are of using this architectural style.
I also include some live coding demos, where I actually implement many of the RESTful patterns using ASP.NET and NancyFX, and showing you can do some interesting things using dynamic types and JSON serialization libraries to seamless bridge the gap between the strongly-typed "enterprise data layer" and the lightweight, dynamic data structures used by JSON and most HTTP APIs.