Suche senden
Hochladen
The hypermedia api
•
0 gefällt mir
•
3,513 views
Inviqa
Folgen
Melden
Teilen
Melden
Teilen
1 von 64
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Joseph-Smarr-Plaxo-OSCON-2006
Joseph-Smarr-Plaxo-OSCON-2006
guestfbf1e1
Plaxo OSCON 2006
Plaxo OSCON 2006
gueste8e0fb
Dev sum hypemedia talk
Dev sum hypemedia talk
Glenn Block
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
Gustaf Nilsson Kotte
AngularJS in large applications - AE NV
AngularJS in large applications - AE NV
AE - architects for business and ict
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
Vladimir Tsukur
Golden Rules of API Design
Golden Rules of API Design
David Koelle
Using a hypermedia API with Angular.js
Using a hypermedia API with Angular.js
Pieter Herroelen
Empfohlen
Joseph-Smarr-Plaxo-OSCON-2006
Joseph-Smarr-Plaxo-OSCON-2006
guestfbf1e1
Plaxo OSCON 2006
Plaxo OSCON 2006
gueste8e0fb
Dev sum hypemedia talk
Dev sum hypemedia talk
Glenn Block
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
Gustaf Nilsson Kotte
AngularJS in large applications - AE NV
AngularJS in large applications - AE NV
AE - architects for business and ict
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
Vladimir Tsukur
Golden Rules of API Design
Golden Rules of API Design
David Koelle
Using a hypermedia API with Angular.js
Using a hypermedia API with Angular.js
Pieter Herroelen
Hypermedia in API Design: Enterprise as an Early Adopter
Hypermedia in API Design: Enterprise as an Early Adopter
Apigee | Google Cloud
Sull’adattamento dell’individuo al cambiamento - Elisei
Sull’adattamento dell’individuo al cambiamento - Elisei
CAF CIA
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
Akana
PAT 11-12 - Presentación da 1ª reunión cos grupos de 1º dos graos (marzo)
PAT 11-12 - Presentación da 1ª reunión cos grupos de 1º dos graos (marzo)
Facultade de CC da Educación e do Deporte
Titi
Titi
STIinnsbruck
Revista 2008
Revista 2008
Mentor Day
Vota en blanco mi hermana ( o )
Vota en blanco mi hermana ( o )
Fred Rojas Krrillo
Programa pisa oportunidad para mejorar la educación mundial
Programa pisa oportunidad para mejorar la educación mundial
ospinacampojorge
AMES Awards 2014 - Few Selections
AMES Awards 2014 - Few Selections
LBSL
Album souvenir - Open Véronic DiCaire 2012
Album souvenir - Open Véronic DiCaire 2012
FondationLCc
Why should i care about hypermedia
Why should i care about hypermedia
Nordic APIs
Markenmanagement bei Zahnarztpraxen
Markenmanagement bei Zahnarztpraxen
Oliver Winter
Api anti patterns
Api anti patterns
Mike Pearce
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer Architecture
WSO2
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Toru Kawamura
Die Eventmacher 2008 Vorabversion
Die Eventmacher 2008 Vorabversion
el_presidente82
CSG 2012
CSG 2012
Scotty Logan
How RESTful Is Your REST?
How RESTful Is Your REST?
Abdelmonaim Remani
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Bastian Hofmann
Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15
Indira Gnadhi National Open University (IGNOU)
Weitere ähnliche Inhalte
Andere mochten auch
Hypermedia in API Design: Enterprise as an Early Adopter
Hypermedia in API Design: Enterprise as an Early Adopter
Apigee | Google Cloud
Sull’adattamento dell’individuo al cambiamento - Elisei
Sull’adattamento dell’individuo al cambiamento - Elisei
CAF CIA
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
Akana
PAT 11-12 - Presentación da 1ª reunión cos grupos de 1º dos graos (marzo)
PAT 11-12 - Presentación da 1ª reunión cos grupos de 1º dos graos (marzo)
Facultade de CC da Educación e do Deporte
Titi
Titi
STIinnsbruck
Revista 2008
Revista 2008
Mentor Day
Vota en blanco mi hermana ( o )
Vota en blanco mi hermana ( o )
Fred Rojas Krrillo
Programa pisa oportunidad para mejorar la educación mundial
Programa pisa oportunidad para mejorar la educación mundial
ospinacampojorge
AMES Awards 2014 - Few Selections
AMES Awards 2014 - Few Selections
LBSL
Album souvenir - Open Véronic DiCaire 2012
Album souvenir - Open Véronic DiCaire 2012
FondationLCc
Why should i care about hypermedia
Why should i care about hypermedia
Nordic APIs
Markenmanagement bei Zahnarztpraxen
Markenmanagement bei Zahnarztpraxen
Oliver Winter
Api anti patterns
Api anti patterns
Mike Pearce
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer Architecture
WSO2
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Toru Kawamura
Die Eventmacher 2008 Vorabversion
Die Eventmacher 2008 Vorabversion
el_presidente82
Andere mochten auch
(18)
Hypermedia in API Design: Enterprise as an Early Adopter
Hypermedia in API Design: Enterprise as an Early Adopter
Sull’adattamento dell’individuo al cambiamento - Elisei
Sull’adattamento dell’individuo al cambiamento - Elisei
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
PAT 11-12 - Presentación da 1ª reunión cos grupos de 1º dos graos (marzo)
PAT 11-12 - Presentación da 1ª reunión cos grupos de 1º dos graos (marzo)
Titi
Titi
Revista 2008
Revista 2008
Vota en blanco mi hermana ( o )
Vota en blanco mi hermana ( o )
Programa pisa oportunidad para mejorar la educación mundial
Programa pisa oportunidad para mejorar la educación mundial
AMES Awards 2014 - Few Selections
AMES Awards 2014 - Few Selections
Album souvenir - Open Véronic DiCaire 2012
Album souvenir - Open Véronic DiCaire 2012
Why should i care about hypermedia
Why should i care about hypermedia
Markenmanagement bei Zahnarztpraxen
Markenmanagement bei Zahnarztpraxen
Api anti patterns
Api anti patterns
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Deep-dive into Microservice Outer Architecture
Deep-dive into Microservice Outer Architecture
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Die Eventmacher 2008 Vorabversion
Die Eventmacher 2008 Vorabversion
Ähnlich wie The hypermedia api
CSG 2012
CSG 2012
Scotty Logan
How RESTful Is Your REST?
How RESTful Is Your REST?
Abdelmonaim Remani
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Bastian Hofmann
Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15
Indira Gnadhi National Open University (IGNOU)
Microformats
Microformats
Srini Rajaram
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Doris Chen
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
Alessandro Nadalin
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
CODE BLUE
Modified REST Presentation
Modified REST Presentation
Alexandros Marinos
Design Hypermedia APIs
Design Hypermedia APIs
Gustaf Nilsson Kotte
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
Graham Charters
I Know What Youll Do Next Summer - The Skills You Will Be Learning as a Domi...
I Know What Youll Do Next Summer - The Skills You Will Be Learning as a Domi...
Grégory Engels
Getting Stuff In And Out Of Buzz (1)
Getting Stuff In And Out Of Buzz (1)
Paul Kinlan
Universal DDoS Mitigation Bypass
Universal DDoS Mitigation Bypass
Albert Hui
Microservices with Spring Boot
Microservices with Spring Boot
Joshua Long
Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle
Gaurav Bhardwaj
rest-api-basics.pptx
rest-api-basics.pptx
FikiRieza2
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
Jan Löffler
SAP integration sample payloads for Azure Logic Apps
SAP integration sample payloads for Azure Logic Apps
David Burg
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
ciklum_ods
Ähnlich wie The hypermedia api
(20)
CSG 2012
CSG 2012
How RESTful Is Your REST?
How RESTful Is Your REST?
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15
Microformats
Microformats
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
Modified REST Presentation
Modified REST Presentation
Design Hypermedia APIs
Design Hypermedia APIs
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
I Know What Youll Do Next Summer - The Skills You Will Be Learning as a Domi...
I Know What Youll Do Next Summer - The Skills You Will Be Learning as a Domi...
Getting Stuff In And Out Of Buzz (1)
Getting Stuff In And Out Of Buzz (1)
Universal DDoS Mitigation Bypass
Universal DDoS Mitigation Bypass
Microservices with Spring Boot
Microservices with Spring Boot
Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle
rest-api-basics.pptx
rest-api-basics.pptx
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
SAP integration sample payloads for Azure Logic Apps
SAP integration sample payloads for Azure Logic Apps
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
The hypermedia api
1.
THE HYPERMEDIA API
Ben Longden / @blongden
2.
WHO ARE YOU?
SOFTWARE ENGINEER & MANAGER Inviqa, Session Digital, Sensio Labs UK
3.
4.
Twitter: blongden GitHub: blongden Email:
ben@nocarrier.co.uk
5.
ARCHITECTURAL STYLES
6.
RPC
http://.../create_account.php? email_addr=user@example.com& passwd_hash=2ab548fae3162ccfa1a2d41a55557a92& user_name=CrunchAll
7.
RICHARDSON MATURITY
LEVEL 0
8.
THE SWAMP OF
POX PLAIN OLD XML (OR JSON)
9.
<user>
<emailaddr>user@example.com</emailaddr> <username>CrunchAll</username> </user>
10.
WS-* SOAP
11.
RICHARDSON MATURITY
LEVEL 1
12.
IDENTIFICATION OF
RESOURCES PRETTY URLS
13.
NO VERBS FIND THE
NOUNS
14.
Users can create
messages that are visible to other users who follow them.
15.
CRAFT URLS FOR
YOUR RESOURCES http://.../users/{name} http://.../messages/{id}
16.
SUBSETS OF DATA
http://.../users/blongden/messages
17.
HTTP AS A
TUNNEL
18.
METHODS METADATA PAYLOAD
19.
HTTP IS SUCCESSFUL AUTHENTICATION,
CACHE, CONTENT NEGOTIATION
20.
RICHARDSON MATURITY
LEVEL 2 USE THE VERBS THAT HTTP PROVIDES GET POST PUT DELETE OPTIONS TRACE HEAD CONNECT PATCH
21.
SAFE ACTIONS
HEAD & GET
22.
IDEMPOTENT ACTIONS
HEAD, GET, PUT, DELETE OPTIONS, TRACE
23.
IDENTIFY STATES
LIST USERS, LIST A SINGLE USER LIST MESSAGES, LIST A SINGLE MESSAGE CREATE/UPDATE/DELETE A USER FOLLOW/UNFOLLOW A USER
24.
GET /users/blongden/messages HTTP/1.1 Host:
example.com
25.
POST /users/blongden/messages HTTP/1.1 Host:
example.com
26.
PUT /users/blongden/messages/1 HTTP/1.1 Host:
example.com
27.
DELETE /users/blongden/messages/1 HTTP/1.1 Host:
example.com
28.
RICHARDSON MATURITY
MODEL LEVEL 3 HYPERMEDIA
29.
HYPERMEDIA Hypermedia is
used as a logical extension of the term hypertext in which graphics, audio, video, plain text and hyperlinks intertwine to create a generally non-linear medium of information.
30.
HYPERMEDIA AFFORDANCES
31.
[LE] EMBEDDED LINKS <img
src='http://example.com/logo' />
32.
[LO] OUTBOUND LINKS <a
href='http://example.com/search' title='view search page'> Search </a>
33.
[LT] TEMPLATED QUERIES
<form method='get'>...</form>
34.
[LN] NON-IDEMPOTENT
UPDATES <form method='post'>...</form>
35.
[LI] IDEMPOTENT
UPDATES SUPPORT FOR PUT AND DELETE
36.
REGISTERED MEDIA TYPES
37.
HAL HYPERTEXT APPLICATION LANGUAGE
38.
"_links": {
"next": { "href": "/orders?page=2" }, "self": { "href": "/orders" } }, "_embedded": { "order": [ "_links": { "customer": { "href": "/customer/bob", "title": "Bob Jones <bob@jones.com>" }, "self": { "href": "/orders/123" } }, "currency": "USD", "total": 30 ]}
39.
<?xml version="1.0"?> <resource href="/orders">
<link rel="next" href="/orders?page=2"/> <link rel="search" href="/orders?id={order_id}"/> <resource rel="order" href="/orders/123"> <link rel="customer" href="/customer/bob" title="Bob Jones <bob@j ones.com>"/> <total>30</total> <currency>USD</currency> </resource> </resource>
40.
<?php $hal = new
NocarrierHal('/orders'); $hal->addLink('next', '/orders?page=2'); $hal->addLink('search', '/orders?id={order_id}'); $resource = new NocarrierHal( '/orders/123', array( 'total' => 30.00, 'currency' => 'GBP', ) ); $resource->addLink('customer', '/customer/bob', 'Bob Jones <bob@jones .com>'); $hal->addResource('order', $resource); echo $hal->asXml(); echo $hal->asJson();
41.
LINK RELATIONS
42.
SHORT SYNTAX "STYLESHEET", "PROFILE"
43.
MICROFORMATS registered
link relations
44.
IANA registered link relations
45.
CUSTOM LINK RELATIONS
http://.../rels/message
46.
DESIGNING A HYPERMEDIA TYPE
47.
XML OR JSON?
HTML? YAML?
48.
JSON UBIQUITOUS AND EASY
TO PARSE RIGID STRUCTURE
49.
XML UBIQUITOUS BUT HARDER
TO PARSE EVOLVABLE
50.
{
"name": "Ben", "phone": "07777000000" }
51.
{
"name": "Ben", "phone": [ "07777000000", "07777000001" ] }
52.
<?xml version="1.0"?> <contact>
<name>Ben</name> <phone>07777000000</phone> </contact>
53.
<?xml version="1.0"?> <contact>
<name>Ben</name> <phone>07777000000</phone> <phone>07777000001</phone> </contact>
54.
CONSIDER H-FACTORS DO YOU
NEED TO EXTEND AN EXISTING FORMAT?
55.
WHY USE A
REGISTERED TYPE?
56.
EXISTING TOOLS
57.
INTEROPERABILITY
58.
THE 'CHATTY API'
PROBLEM
59.
ZOOM THE HYPERTEXT CACHE
PATTERN
60.
http://.../users/blongden?zoom=messages {
"_links": { "self": { href: "http://.../users/blongden" }, "messages": { href: "http://.../users/blongden/messages" } } "_embedded": { "messages": { ... } } }
61.
COMMON INTERFACE
62.
THANK YOU. http://joind.in/8048
Jetzt herunterladen