Web Services REST-Style
Universal Identifiers, Formats & Protocols

Agenda


1 Textile Source

Slide Show Keyboard Controls (Help)

Action Key
Go to next slide Space Bar, Right Arrow, Down Arrow, Page Down, Click Heading
Go to previous slide Left Arrow, Up Arrow, Page Up
Toggle between slideshow and outline view (Ø) T
Show/hide slide controls (Ø « ») C, Move mouse to bottom right corner
Zoom in, zoom out, zoom reset (100%) Control+Plus, Control+Minus, Control+0

Part 1 – What’s REST?

What’s REST?

Representational State Transfer (REST) – Meaningless Acronym? Wordplay?

rest – n. – peace, ease, or refreshment resulting from the insight that the web works

No matter what vendors tell you – no need to “Light Up the Web” – relax – built on an open architecture using universal identifiers, formats & protocols and evolving open standards – no need to reinvent the wheel and sign-up for single-vendor offerings.

What’s REST? (Cont’d)

Narrow Definition

Alternative to BigCo Web Services:

  • SOAP
  • WS-*)1 and
  • RPC-Style Web Services (XML-RPC)

Broad Definition

Best Practices for Designing Web Services for a Unified Human and Programable Web

1 WS-* = Web Service Specs including WS-Transfer, WS-Addressing, WS-Eventing, WS-Security, WS-Federation, WS-Trust, and many more.

Part 2 – Universal Identifiers, Formats & Protocols

Universal Identifiers, Formats & Protocols
The Holy Trinity

Identifiers

  • URLs (Uniform Resource Locator)
  • URIs (Uniform Resource Identifier)

Formats

  • HTML (HyperText Markup Language)
  • XML (Extensible Markup Language)

Protocols

  • HTTP (HyperText Transfer Protocol)
  • AtomPub (Atom Publishing Protocol)

The Holy REST Trinity – Noun, Verbs, Types

REST-Speak Internet-Speak Plain Old English
Verbs Protocols Communication & Data Exchange Rules
Nouns Identifiers Names, Addresses
Types Formats Documents, Feeds, Photos, Videos, Music, etc.

 

REST-Speak Examples
Verbs HTTP GET, POST, PUT, DELETE
Nouns flickr.com/photos/tag/wien, deli.cio.us/tag/wien, etc.
Types HTML, RSS, PNG, etcetera

Part 3 – Design Principles & Architecture

REST Design Principles

Architecture Astronaut REST Speak

1 RPC = Remote Procedure Call

The End – Thank You