REST Principles I: Identification and Uniform Interface

Principles and Patterns of Organizing Systems [./]
Spring 2011 — INFO 290-6 (CCN 42628)

Erik Wilde and Robert J. Glushko, UC Berkeley School of Information
2011-03-08

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents E. Wilde: REST Principles I: Identification and Uniform Interface

Contents

E. Wilde: REST Principles I: Identification and Uniform Interface

(2) Abstract

The two core constraints of REST are identification and a uniform interface. Starting from identification, we take a look at how the Web mixes identification with access, by using an identification scheme that not only supports decentralized and (mostly) anarchic growth. The Domain Name System (DNS) makes the growth at some level a bit more controlled, but as demonstrated by some TLDs (and ICANN's recent decision to sell new TLDs to the highest bidder), apart from the technical robustness, little else is stable about the way how the DNS is managed. Once identification and access are solved, the second important constrained coming into play is that of the uniform interface. In most real-life cases, this means that actual interactions in the application scenario are mapped to methods of the Hypertext Transfer Protocol (HTTP).



Identity and Naming

Outline (Identity and Naming)

  1. Identity and Naming [4]
  2. Naming and Context [2]
  3. Identification and Access [3]
Identity and Naming E. Wilde: REST Principles I: Identification and Uniform Interface

(4) Things to Talk About



Identity and Naming E. Wilde: REST Principles I: Identification and Uniform Interface

(5) How to Name Things

The Artist Formerly Known As Prince

Identity and Naming E. Wilde: REST Principles I: Identification and Uniform Interface

(6) Domain Name System (DNS)



Identity and Naming E. Wilde: REST Principles I: Identification and Uniform Interface

(7) Naming Authority



Naming and Context

Outline (Naming and Context)

  1. Identity and Naming [4]
  2. Naming and Context [2]
  3. Identification and Access [3]
Naming and Context E. Wilde: REST Principles I: Identification and Uniform Interface

(9) Namespaces



Naming and Context E. Wilde: REST Principles I: Identification and Uniform Interface

(10) Context Matters



Identification and Access

Outline (Identification and Access)

  1. Identity and Naming [4]
  2. Naming and Context [2]
  3. Identification and Access [3]
Identification and Access E. Wilde: REST Principles I: Identification and Uniform Interface

(12) How to Find Things



Identification and Access E. Wilde: REST Principles I: Identification and Uniform Interface

(13) What to Do With Things



Identification and Access E. Wilde: REST Principles I: Identification and Uniform Interface

(14) How to use HTTP?



E. Wilde: REST Principles I: Identification and Uniform Interface

(15) Conclusions

  1. Identify resources
  2. Allow naming to be decentralized
  3. Use interactions that are universal for the identification scheme
  4. Map your application interactions to the uniform interface


2011-03-08 Principles and Patterns of Organizing Systems [./]
Spring 2011 — INFO 290-6 (CCN 42628)