Progressive .NET Tutorial
August 2nd, 2011 | Published in Events, REST by Ian Robinson
On September 7th I’ll be running a half-day tutorial on building RESTful Web services as part of the Skills Matter and London .NET User Group’s Progressive .NET Tutorials.
This will be a very hands-on tutorial. Over the course of three and a half hours we’ll build a hypermedia-driven service and client in .NET using the new WCF Web APIs. The subject matter hearkens back to a favourite subject of mine, Hydras and Hypermedia, for the application we’ll build will be a simple text-based pick-your-path-to-adventure game.
This isn’t a tutorial on games design, however. Despite the non-enterprisey subject matter, the tutorial serves to illustrate how machine clients and services can cooperate to achieve a useful application goal. Business application analogies lurk around every corner and surprise you with every encounter.
The tutorial comprises three exercises. With each exercise you’ll have to fix a number of broken unit and functional tests. Bit by bit, you’ll build a working application:
- Exercise 1: Here we implement the server resources that make up the dungeon - the chambers, tunnels and caves in which our daring client will venture.
- Exercise 2: Next we build a crafty client that can discover a path through the dungeon. By the end of the exercise, the client ought to be able to navigate the dungeon from entrance to exit.
- Exercise 3: Last, we add an element of danger, populating the dungeon with encounters (more resources) that the client must overcome before it achieves its application goal.
Along the way you’ll learn about:
- The Atom Syndication Format
- “What if” client-side intelligence
- The client as arbiter of application state
- Hypermedia controls: links, link relations and forms
- DRY URIs
So come and join me for what promises to be an entertaining hack-n-slash workshop. Attendees should be familiar with C# and unit testing, and have some knowledge of HTTP.
Full details and registration for the entire event can be found here.