Essential RESTful Services with WebAPI

COURSE OUTLINE:

Description

In this course, you will learn how to develop and consume RESTful services. Additionally, you will learn the principals and best practices for developing REST services and why you might want to use RESTful services instead of SOAP services. You will also learn about building REST services using the Microsoft ASP.NET Web API framework.

Note: You are required to bring your own laptop.

Audience

Experienced .NET developers who want to build:

  • RESTful services using.NET 4.0 and the ASP.NET Web API framework
  • Scalable services with a very broad reach
  • Applications on top of the same architecture that powers the web

Prerequisites

  • Attendees should have .NET / Language experience with C# (Demos will be shown in C#)
  • Beneficial but not required:
    • Experience building web applications
    • An understanding of ASP.NET MVC
    • A basic understanding of Windows Communication Foundation

Learning Objectives

  • Gain understanding of the strengths and weaknesses of REST services and architecture
  • Understand how the HTTP standard is used in REST services
  • Discover which services are best suited as RESTful services and which are better implemented as SOAP services
  • Learn how to implement REST services using the Microsoft ASP.NET Web API framework
  • Learn how to consume REST services, both in smart clients as well as browser based clients

1. REST Architecture

  • What are REST Services
  • Hypertext Transfer Protocol
  • Why and When to Use REST Service
  • REST vs. SOAP Services
  • The ASP.NET Web API Framework

2. REST Basics

  • Resources
  • Uniform Resource Locators
  • HTTP Methods
  • HTTP Status Codes

3. Resource Formats

  • MIME Types
  • Accept Header and Content Negotiation
  • Building and Using Media and Type Formatters

4. Browser-Based Clients

  • Browsers Aren't as Smart as They Should Be
  • They Claim They Can Accept Any Resource
  • Use Templates or Data Binding to Display Data
  • Browsers Can Be over Aggressive with Caching
  • Browsers Are Built around the HTML Spec and Don't Support All HTTP Features

5. Hypermedia

  • The Problem with Simple REST Services
  • Hypermedia Contracts
  • OData and AtomPub

6. Securing REST Services

  • HTTP Security
  • SSL/TLS
  • Basic Authentication
  • Forms Authentication
  • Integrated Authentication
  • Token-Based Security
  • OAuth and OAuth2
  • Amazon's S3 Authentication
  • Federated Security

7. Scalability

  • Filtering Data
  • HTTP Caching