Web API Design Jeremy Likness | Principal Architect

Slides:



Advertisements
Similar presentations
Jeffrey Snover | Distinguished Engineer & Lead Architect Jason Helmick | Senior Technologist, Concentrated Technology.
Advertisements

Susan Ibach | Microsoft Technical Evangelist Christopher Harrison | Microsoft Certified Trainer.
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
06 | Implementing Web APIs Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek.
Jon Galloway | Technical Evangelist Christopher Harrison | Content Developer.
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Gerry O’Brien| Technical Content Development Manager Paul Pardi| Senior Content Publishing Manager.
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Join the MVA Community! ▪ Microsoft Virtual Academy—Free online training! ‒ Tailored for IT Pros and Developers ‒ Over 1M registered users ▪ Earn while.
Jon Galloway | Development Platform Evangelist Christopher Harrison | Microsoft Certified Trainer.
Microsoft Virtual Academy Stacey Mulcahy | Technical Evangelist Christopher Harrison | Content Developer.
Jeffrey Snover | Distinguished Engineer & Lead Architect Jason Helmick | Senior Technologist, Concentrated Technology.
DotNetNuke v4 Overview Stan Schultes Stan Schultes Enterprise architect / application developer Enterprise architect / application developer Conference.
Microsoft Virtual Academy Talbott Crowell | Chief Architect, ThirdM.com Rob Latino | Program Manager in Office 365 Support, Microsoft.
Tom Resing | SharePoint Engineer, Jive Software Christopher Harrison | Microsoft Certified Trainer.
Join the MVA Community! ▪ Microsoft Virtual Academy—Free online training! ‒ Tailored for IT Pros and Developers ‒ Over 1M registered users ▪ Earn while.
Cross Platform Development with Xamarin & Visual Studio 2013
Introduction to Programming using Python
3D Printing Essentials Emmett Lalish | Mechanical Engineer
Boost your T-SQL with the APPLY Operator
JavaScript for Experienced Developers
SharePoint 2013 Best Practices
Introduction to Tabular Data Models
Porting your Unity Game to the Windows Store Jump Start
Join the MVA Community! Microsoft Virtual Academy—Free online training! Tailored for IT Pros and Developers Over 2M registered users Earn while you learn!
Introduction to JSON with C#
Designing Database Solutions for SQL Server
Introduction to ASP.NET MVC Jump Start
Cloud Enable at APS.NET LOB App
Becoming a Visio 2013 Power User – Part 3
Programming Robotic Systems using Visual Studio
SQL Server Optimizing Query Plans
Learn more: Expand your Cloud Knowledge
Django in the Real World
02 | Web API Basic Design Jeremy Likness | Principal Architect
Creating Windows Store Apps Using Visual Basic
Django in the real world
Cross Platform Development with Xamarin & Visual Studio 2013
Office 365 Admin Support Skills: Service Management
Join the MVA Community! Microsoft Virtual Academy—Free online training! Tailored for IT Pros and Developers Over 1M registered users Earn while you learn!
Introduction to AngularJS
Cloud-Enable a Windows Presentation Foundation LOB App
Introduction to jQuery
Getting Started with PowerShell Desired State Configuration (DSC)
Introduction to Programming using Python
Join the MVA Community! Microsoft Virtual Academy—Free online training! Tailored for IT Pros and Developers Over 2M registered users Earn while you learn!
Reimagine Finance: Managing Controls and Compliance
Package Management and Workflow Automation
Game Production Basics
Steven Borg | Co-Founder & Strategist, Northwest Cadence
Developing Microsoft Azure Solutions Jump Start
A Lap Around Azure Websites Introduction
DevOps - Visual Studio Release Management Jump Start
Implementing Entity Framework with MVC Jump Start
ASP.NET Authentication with Identity Jump Start
Single Page Applications with jQuery or AngularJS
Developing Universal Windows Apps with HTML and JavaScript
Gaming Engines for Windows 8
Quick Start Challenge: Universal Projects to Build a Game
Pranav Rastogi | Program Manager, Microsoft
Quick Start Challenge: Microsoft Advertising SDK
Lighting Up Real-time Web Communications with SignalR Introduction
Stacey Mulcahy| Technical Evangelist Jamie Kosoy | Content Developer
Getting Started with PowerShell Jump Start
Jeffrey Snover | Distinguished Engineer & Lead Architect
05 | Testers’ Role in the DevOps World
What’s ASP.NET 5 and Why? Scott Hunter | Director of Program Management Scott Hanselman | Principal Program Manager.
Git Jump Start Steven Borg | Co-founder & Strategist, Northwest Cadence James Tupper| ALM Consultant, Northwest Cadence.
Getting Started with Microsoft Azure Machine Learning
Adding Style with CSS Helen Zeng | Developer Evangelist
Presentation transcript:

Web API Design Jeremy Likness | Principal Architect Christopher Harrison | Content Developer

Meet Jeremy Likness | ‏@jeremylikness Principal Architect at iVision Focused on Microsoft stack Enterprise Applications http://csharperimage.jeremylikness.com/ Former Certified Fitness Trainer and Specialist in Performance Nutrition Over 20 Years of Professional Experience 4-time Author incl. Programming the Windows Runtime by Example Prolific speaker at conferences including DevLink, CodeStock, and the Microsoft Worldwide Partner Conference 5 Year Microsoft Most Valuable Professional (MVP) 9-Ball player

Meet Christopher Harrison | ‏@geektrainer Content Developer, Microsoft Focused on web and Office 365 development Microsoft Certified Trainer Regular presenter at conferences Long time geek Still misses his Commodore 64 Periodic blogger at http://blog.geektrainer.com Marathoner, husband, father of one four legged child

Course Topics Web API Design 01 | Introduction to Web API 04 | Validation and Error Handling 02 | Basic Web API Design 05 | Security 03 | Configuration 06 | Advanced Web API Design

Setting Expectations Target Audience Web Application Developer Interested in building public-facing RESTful APIs Would like to expand knowledge of Web API design Suggested Prerequisites/Supporting Material Visual Studio 2013+

Join the MVA Community! Microsoft Virtual Academy Free online learning tailored for IT Pros and Developers Over 2.6M registered users Up-to-date, relevant training on variety of Microsoft products “Earn while you learn!” Get 50 MVA Points for this event! Visit http://aka.ms/MVA-Voucher Enter this code: WebAPIDesign (expires 4 Mar 15)

01 | Introduction to Web API Jeremy Likness | Principal Architect Christopher Harrison | Content Developer

Module Overview ASP.NET Web API Web API Design REST HATEOAS Scaffolding

ASP.NET Web API Overview

ASP.NET Web API Option for web applications Makes it easy to build HTTP-based services Ideal for RESTful APIs

What this course covers Web API Design What this course covers

But what is Web API design? An intentional approach to building APIs A “must have” if your APIs will be consumed by third-party services Attention to details: How consumable is the API (signature, content negotiation)? Does it comply with standards (response codes, etc.)? Is it secure? How do you handle multiple versions? Is it truly RESTful?

Introduction and overview of Representational State Transfer REST Introduction and overview of Representational State Transfer

Representational State Transfer (REST) Client-server Stateless Resource-based (vs. remote procedure call) HTTP methods (GET, POST, PUT, DELETE) Indempotency and side effects It’s a style, not a standard Don’t hate on HATEOAS

Hypermedia as the Engine of Application State HATEOAS Hypermedia as the Engine of Application State

Hypermedia as the Engine of Application State (HATEOAS) Hypermedia is the key It all starts at a URL Resources are returned Media types and locations are included References based on state

REST and HATEOAS in Action

Generation of Web API projects out of the box with Visual Studio Scaffolding Generation of Web API projects out of the box with Visual Studio

Scaffolding