Top Banner
Are just ‘Hypermedia API’s’ Hype? Daniel Feist, MuleSoft Aaron Phethean, Temenos
52

Are hypermedia API's Just Hype?

Jul 14, 2015

Download

Technology

Daniel Feist
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Are hypermedia API's Just Hype?

Are

just

‘Hypermedia API’s’

Hype? Daniel Feist, MuleSoft Aaron Phethean, Temenos

Page 2: Are hypermedia API's Just Hype?

Introductions

* All contents Copyright © 2013, MuleSoft Inc.

Daniel Feist, Principal Architect @dfeist

●  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

Page 3: Are hypermedia API's Just Hype?

Introductions

* All contents Copyright © 2013, MuleSoft Inc.

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.

Page 4: Are hypermedia API's Just Hype?

Objective view

Goals

*

Avoid bigotry

Real world usage of Hypermedia

Levels of Hypermedia and advantages

Propose and review REST DSLs Tips & advice

New ideas

Page 5: Are hypermedia API's Just Hype?

What is a Hypermedia API?

*

Page 6: Are hypermedia API's Just Hype?

Whats Hype?

*

Page 7: Are hypermedia API's Just Hype?

Whats Hype?

Page 8: Are hypermedia API's Just Hype?

Hypermedia APIs - Innovation trigger?

*

?

Page 9: Are hypermedia API's Just Hype?

Hypermedia APIs – Enlightenment; productivity?

*

?

Page 10: Are hypermedia API's Just Hype?

Hypermedia API’s Inflated expectations?

*

?

Page 11: Are hypermedia API's Just Hype?

Hypermedia APIs - Trough of disillusionment?

*

?

Page 12: Are hypermedia API's Just Hype?

Where are Hypermedia APIs?

*

Page 13: Are hypermedia API's Just Hype?

• Prevent breakage • Enabling discoverability • Standardising API clients

So .. this all just Hype?

Page 14: Are hypermedia API's Just Hype?

Is

just ‘The Web’

Hype?

Page 15: Are hypermedia API's Just Hype?
Page 16: Are hypermedia API's Just Hype?

HTML Links

*

Page 17: Are hypermedia API's Just Hype?

The Chasm

*

L2 API’s

Hypermedia API’s

Page 18: Are hypermedia API's Just Hype?

Why haven’t Hypermedia API’s taken off?

Page 19: Are hypermedia API's Just Hype?

The User

Page 20: Are hypermedia API's Just Hype?

The User..

Page 21: Are hypermedia API's Just Hype?

The User..

Page 22: Are hypermedia API's Just Hype?

The Contract

Page 23: Are hypermedia API's Just Hype?

A Typical API Contract...

* *

Page 24: Are hypermedia API's Just Hype?

Web Contract?

* *

●  Data ●  Hypermedia

Controls (links) ●  Presentation

Page 25: Are hypermedia API's Just Hype?

Hypermedia Type for API’s

* *

Page 26: Are hypermedia API's Just Hype?

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

Page 27: Are hypermedia API's Just Hype?

Limited Standard Link Relations

* *

Page 28: Are hypermedia API's Just Hype?

The Client

Page 29: Are hypermedia API's Just Hype?

A Client

Page 30: Are hypermedia API's Just Hype?

Who leads who?

* *

Page 31: Are hypermedia API's Just Hype?

A User-Agent

* *

Page 32: Are hypermedia API's Just Hype?

Hypermedia Maturity Levels

Page 33: Are hypermedia API's Just Hype?

Hypermedia Maturity Levels

Glory of Hypermedia

Shared Vocabulary

Interaction Services

Data Services

Level 2

Page 34: Are hypermedia API's Just Hype?

Level 2

*

• Defines entities at URIs w/ flat or CRUD type services

• No links between resources

• Projects / examples -  Twitter -  Many others

Page 35: Are hypermedia API's Just Hype?

Data Services

*

•  Developers follow links before ultimately consuming a Data Service

•  API often still includes a version

•  Projects / examples -  OData -  PayPal API -  GitHub v3

Page 36: Are hypermedia API's Just Hype?

Interaction Services

*

•  User-Agent let’s user follow links

•  Available options and state are described through links

•  Projects / examples -  IRIS -  Restbucks

* *

Page 37: Are hypermedia API's Just Hype?

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

Page 38: Are hypermedia API's Just Hype?

Glory of Hypermedia

• Puts the user in total control

• Very well established; slowly changing media types

• Projects / examples -  HTML5 -  World Wide Web

Page 39: Are hypermedia API's Just Hype?

Some Examples...

Page 40: Are hypermedia API's Just Hype?
Page 41: Are hypermedia API's Just Hype?

•  Pragmatic

-  ‘Practically ReSTful API’s’

•  Human & Machine Friendly •  Reusable Patterns

-  Resource Types -  Traits

•  Open

Why?

http://raml.org/

Page 42: Are hypermedia API's Just Hype?

What?

Page 43: Are hypermedia API's Just Hype?

Demo

Page 44: Are hypermedia API's Just Hype?

1.  Design/Build your API

2.  Document/Explore your API

3.  Client/Server Contract for your API

Demo

Page 45: Are hypermedia API's Just Hype?

Resource Interaction Model (RIM)

Page 46: Are hypermedia API's Just Hype?

• 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

Temenos Interaction Framework

*

Page 47: Are hypermedia API's Just Hype?

Temenos is donating a Java based Hypermedia Server to the Open Source Communityhttp://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

Hypermedia Server

Page 48: Are hypermedia API's Just Hype?

*

• RIM language / example -  Conditional links -  Link relations -  Auto transitions -  Workflow

• HAL Browser

Resource Interaction Model (RIM)

Page 49: Are hypermedia API's Just Hype?

RIM Demo

Page 50: Are hypermedia API's Just Hype?

Summary

Page 51: Are hypermedia API's Just Hype?

•  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.

Summary

*

Page 52: Are hypermedia API's Just Hype?

Thank You!