Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Level 3 REST Makes Your API Browsable

Short deck describing the fundamental difference between Level 3 REST and the other levels.

  • Be the first to comment

Level 3 REST Makes Your API Browsable

  1. 1. Level 3 REST Matt Bishop Sr. Product Architect Elastic Path Software, Inc.
  2. 2. Richardson Maturity ModelLevel 0 : RPC POST /apptService <xml get doctors appt list> ?? How do I book an appointment? Check the docsLevel 1: Resources, but verbs in the body POST /doctors/mjones <xml get appt list> ?? How do I book an appointment? Check the docsLevel 2: Resources and HTTP Verbs, but actions are unknown GET /doctors/mjones/slots?date=…&status=open ?? How do I book an appointment? Check the docs © Copyright 2012, Elastic Path Software Inc. All rights reserved.
  3. 3. Level 3 RESTEverything is expressed as links in the bodyGET /doctors/mjones/slots?date=…&status=open<openSlotList> <slot id = "1234" doctor = "mjones" start = "1400" end = "1450"> <link rel = "/linkrels/slot/book” uri = "/slots/1234"/> </slot></openSlotList>?? How do I book an appointment? Follow the link © Copyright 2012, Elastic Path Software Inc. All rights reserved.
  4. 4. Email before HTML © Copyright 2012, Elastic Path Software Inc. All rights reserved.
  5. 5. Groups before HTML © Copyright 2012, Elastic Path Software Inc. All rights reserved.
  6. 6. Level 2 REST is PINE and USENET• Like the Internet before HTML• Must read manpages (documentation) to understand• Fancy manpages, mind you: • Swagger • Apiary.io• But still requires training and special knowledge © Copyright 2012, Elastic Path Software Inc. All rights reserved.
  7. 7. Links make APIs Browsable• Level 3 REST is not Level 2++• Paradigm shift, a Kierkegaardian leap• Difficult to build – no frameworks, specs, toolsBUT• Browsable APIs are easy to discover and consume• Docs become the ‘site map’ © Copyright 2012, Elastic Path Software Inc. All rights reserved.

×