Are hypermedia API's Just Hype?
Upcoming SlideShare
Loading in...5
×
 

Are hypermedia API's Just Hype?

on

  • 342 views

 

Statistics

Views

Total Views
342
Views on SlideShare
342
Embed Views
0

Actions

Likes
1
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Are hypermedia API's Just Hype? Are hypermedia API's Just Hype? Presentation Transcript

  • Are ‘Hypermedia API’s’ just Daniel Feist, MuleSoft Aaron Phethean, Temenos Hype?
  • Introductions ●  Founded 2006 by Ross Mason, to ‘Take the donkey work out of integration’. ●  Now the most widely used integration platform for connecting SaaS and enterprise applications in the cloud and on-premise All contents Copyright © 2013, MuleSoft Inc. Daniel Feist, Principal Architect @dfeist *
  • Introductions Aaron Phethean Product Manager @aphethean • Founded in 1993; listed on the Swiss Stock Exchange (SIX: TEMN) • Market leading provider of banking software systems to retail, corporate, universal, private, Islamic, microfinance and community banks, wealth managers, and financial institutions • Headquartered in Geneva and with more than 59 offices worldwide • 1,500 customer deployments in more than 140 countries across the world. All contents Copyright © 2013, MuleSoft Inc. *
  • Goals Levels of Hypermedia and advantages Objective view Avoid bigotry New ideas Propose and review REST DSLs Tips & advice Real world usage of Hypermedia *
  • What is a Hypermedia API? *
  • Whats Hype? *
  • Whats Hype?
  • Hypermedia APIs - Innovation trigger? ? *
  • Hypermedia APIs – Enlightenment; productivity? ? *
  • Hypermedia API’s Inflated expectations? ? *
  • Hypermedia APIs - Trough of disillusionment? ? *
  • Where are Hypermedia APIs? *
  • So .. this all just Hype? • Prevent breakage • Enabling discoverability • Standardising API clients
  • Is ‘The Web’ just Hype?
  • HTML Links *
  • The Chasm Hypermedia API’s L2 API’s *
  • Why haven’t Hypermedia API’s taken off?
  • The User
  • The User..
  • The User..
  • The Contract
  • A Typical API Contract... *
  • Web Contract? ●  Data ●  Hypermedia Controls (links) ●  Presentation *
  • Hypermedia Type for API’s *
  • No Standardized Hypermedia Type Hypermedia Type Style Version HTML Enrich 4.0.1 HTML Microformats Enrich XML Enrich 1.1 ATOM Wrap RFC HAL Enrich Draft Collection-JSON Wrap Draft Custom Media-Types *
  • Limited Standard Link Relations *
  • The Client
  • A Client
  • Who leads who? *
  • A User-Agent *
  • Hypermedia Maturity Levels
  • Hypermedia Maturity Levels Glory of Hypermedia Shared Vocabulary Interaction Services Data Services Level 2
  • Level 2 • Defines entities at URIs w/ flat or CRUD type services • No links between resources • Projects / examples -  Twitter -  Many others *
  • Data Services •  Developers follow links before ultimately consuming a Data Service •  API often still includes a version •  Projects / examples -  OData -  -  PayPal API GitHub v3 *
  • Interaction Services •  User-Agent let’s user follow links •  Available options and state are described through links * •  Projects / examples -  -  IRIS Restbucks *
  • Shared Vocabulary • Control navigation, state and presentation • Use a well defined media type / shared vocabulary to control certain aspects of validation & rendering • Projects / examples -  Restfulobjects, Apache ISIS -  Hydra, ALPS *
  • Glory of Hypermedia • Puts the user in total control • Very well established; slowly changing media types • Projects / examples -  HTML5 -  World Wide Web
  • Some Examples...
  • Why? •  Pragmatic -  ‘Practically ReSTful API’s’ •  Human & Machine Friendly •  Reusable Patterns -  Resource Types -  Traits •  Open http://raml.org/
  • What?
  • Demo
  • Demo 1.  Design/Build your API 2.  Document/Explore your API 3.  Client/Server Contract for your API
  • Resource Interaction Model (RIM)
  • Temenos Interaction Framework • Of Interaction Framework (Hypermedia Server)… - Reduce or eliminate client / server coupling - Put the user in control (Object, Action) - Reduce UI integration effort through mashup layer *
  • Hypermedia Server Temenos is donating a Java based Hypermedia Server to the Open Source Community http://temenostech.temenos.com/ https://github.com/temenostech/IRIS A project called IRIS; it has three main goals: 1.  To create web based services according to RESTful constraints 2.  Aggregate / mashup multiple resource managers into a single interaction service 3.  Provide a language to describe the interactions between these resources
  • Resource Interaction Model (RIM) • RIM language / example -  -  -  -  Conditional links Link relations Auto transitions Workflow • HAL Browser *
  • RIM Demo
  • Summary
  • Summary •  Who do you want to be in control? •  Human end user? •  More adaptive client. •  MediaType Selection •  Hypermedia controls •  Enrich with links vs. wrap •  There is value in just using links. -  Whatever maturity level you use. *
  • Thank You!