SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
! 
Irakli!Nadareishvili! 
Director!of!API!Strategy,!CA!Technologies! 
! 
@inadarei!
!?! BUT WHY?
2013: 
80 devices /sec 
Source:!Cisco!
2014: 
100 devices /sec 
Source:!Cisco!
2020: 
250 devices /sec 
Source:!Cisco!
2020: 
50bn conn. devices 
Source:!Cisco!
You Assume Control?
!
Hypermedia-Oriented Style 
What!if!the!server!could!dynamically! 
tell!the!client!what!the!client!can!do! 
and!how,!guiding!the!client!from!one! 
desired!state!to!another?! 
Avoid&'ght&coupling&and&hardcoding!& 
@inadarei
Response = Data + Controls 
API!server!would!have!to!send!client! 
not!just!sta$c!data,!but!also!controls! 
describing!API!affordances.! 
@inadarei
Hypermedia per Fielding 
"Hypermedia!is!defined!by!the!presence!of! 
applicaQon!control!informaQon!embedded! 
within,!or!as!a!layer!above,!the! 
presentaQon!of!informaQon!(2001)! 
Architectural!Styles!and!the!Design!of! 
NetworkFbased!SoGware,!2001! 
F!Roy!T.!Fielding!
Affordances 
Affordances!are!all!acQon!possibiliQes! 
latent!in!the!environment.! 
! 
@inadarei 
Theory!of!Affordances,!1979! 
F!James!J.!Gibson! 
!
Affordances 
@inadarei
Affordances 
@inadarei
Affordances’re key to a good design 
Imagine!a!car!or!a!building!that!you!couldn't! 
possibly!use,!unless!you!had!a!manual.!That! 
sounds!silly,!we!don't!build!cars!or!buildings! 
like!that.!Yet,!that!is!exactly!how!we!build! 
APIs!today.!
Familiarity Creates Usability 
Are!all!cars!exactly!the!same?!No.!Can!we!do! 
basic!things!with!any!car,!once!we!understand! 
how!cars!in!general!work?!Yes!!Do!we!need!to! 
read!a!manual!for!that?!No!!
Common vocabulary: 
in Media Types 
paginaQon,!internaQonalizaQon,!templated!querying,!data!updates…!
Semantic GAP
Profiles 
RFC6906:!! 
[Profile!link!relaQon!defines]!addiQonal! 
semanQcs!that!can!be!used!to!process!a! 
resource!representaQon,!such!as!constraints,! 
convenQons,!extensions,!or!any!other!aspects! 
that!do!not!alter!the!basic!media!type!semanQcs! 
Profiles!can!be!combined,!meaning!that!a!single! 
resource!representaQon!can!conform!to!zero!or! 
any!number!of!profiles.!
Profile Examples: 
1. XMDP (HTML-only) 
http://gmpg.org/xmdp/ 
2. PMP (CDoc-only) 
https://github.com/publicmediaplatform/pmpdocs/ 
wiki/Profile-profile 
3. ALPS 
http://www.ietf.org/id/draft-amundsen-richardson-foster- 
alps-00.txt 
And!many!others…!
OMG! This Feels So Complicated! 
@inadarei
No, It Is Not Complicated! 
You!are!already!very!familiar!with!all!of!it:!World! 
Wide!Web!is!a!perfect!Hypermedia!system!and! 
HTML!is!one!of!the!most!successful!hypermedia! 
types.! 
@inadarei
When in doubt: 
Always!draw!parallels!with!web!and!think!about:! 
“—Ok,sohowwouldIdothisifIwasjust 
buildingawebsiteandthiswasjustHTML?” 
@inadarei 
Bingo! 
Except!HTML![usually]!deals!with!unstructured!content!and! 
is!not!always!appropriate!for!APIs!that!marshal!structured! 
data.!Let’s!do!a!ligle!more!of!the!learning!thing.!
7-Step Design Process 
1. List Semantic Descriptors 
2. Draw a State Diagram 
3. Reconcile Names 
4. Choose a Media Type 
5. Write a Profile 
6. Implementation 
7. Publication 
Source:!Richardson!!Amundsen,!Resiul!Web!APIs!
#2 State Diagram 
Example: Blog 
List of blog posts Create 
blog post 
Save post
#3 Reconcile Names 
1. IANA Link Relations 
http://www.iana.org/assignments/link-relations/link-relations. 
xhtml 
2. Microformats Link Relations 
http://microformats.org/wiki/existing-rel-values 
3. Dublin Core Metadata Element Set, Version 1 
http://dublincore.org/documents/dces/ 
Source:!M.!Amundsen,!UBER!Hypermedia!Format!
#4 Choose a Hypermedia Type 
1. UBER (http://uberhypermedia.org) 
2. Collection+JSON (Col.Doc) 
3. HAL 
4. Siren 
5. JSON:API 
6. HTML (yeap! Just ask Jon Moore)
7-Step Design Process 
1. List Semantic Descriptors 
2. Draw a State Diagram 
3. Reconcile Names 
4. Choose a Media Type 
5. Write a Profile 
6. Implementation 
7. Publication 
Source:!Richardson!!Amundsen,!Resiul!Web!APIs!
Who Uses Hypermedia APIs? 
1. AWS Streaming API 
2. ElasticPath Cortex 
3. Comcast 
4. Microsoft Lync 
5. Paypal 
6. Github 
7. FoxyCart 
8. Huddle 
9. Public Media Platform 
10. … 
You?
What now? 
1. Follow @mamund 
2. Follow @apiacademy 
3. Follow @darrel_miller 
4. Follow @jharmn 
5. Follow @kinlane (always) 
6. Follow @inadarei (if you want) 
7. Dave Goldberg’s Hypermedia Resources: 
http://davejonathangoldberg.github.io/apis/hypermedia/2014/08/08/ 
hypermedia-resources/ 
8. Hypermedia Google Group 
https://groups.google.com/forum/#!forum/hypermedia-web 
9. UBER Google Group 
https://groups.google.com/forum/#!forum/uber-hypermedia 
Be involved. This is a super-active and exciting space!

Contenu connexe

Tendances

Api application programming interface
Api application programming interfaceApi application programming interface
Api application programming interfaceMohit Bishnoi
 
WSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API StrategyWSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API StrategyWSO2
 
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APITen Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APIJohn Musser
 
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...apidays
 
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays
 
Ultimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation SolutionsUltimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation SolutionsBill Doerrfeld
 
OAuth: The Next Big Thing in Security
OAuth: The Next Big Thing in SecurityOAuth: The Next Big Thing in Security
OAuth: The Next Big Thing in SecurityApigee | Google Cloud
 
APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...
APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...
APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...apidays
 
Elements of a Great API Reference
Elements of a Great API ReferenceElements of a Great API Reference
Elements of a Great API ReferenceMerja Kajava
 
The API-Application Semantic Gap
The API-Application Semantic GapThe API-Application Semantic Gap
The API-Application Semantic Gap3scale
 
What is an Application programming interface(API)?
What is an Application programming interface(API)?What is an Application programming interface(API)?
What is an Application programming interface(API)?Akmal Ali
 
Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?Nordic APIs
 
Open Event API
Open Event APIOpen Event API
Open Event APIAvi Aryan
 
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIAPIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIapidays
 
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...apidays
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?Akana
 

Tendances (20)

Api application programming interface
Api application programming interfaceApi application programming interface
Api application programming interface
 
API Trends: What to expect in 2012
API Trends: What to expect in 2012API Trends: What to expect in 2012
API Trends: What to expect in 2012
 
WSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API StrategyWSO2Con EU 2015: Towards a Winning API Strategy
WSO2Con EU 2015: Towards a Winning API Strategy
 
Bigger, Better Business With OAuth
Bigger, Better Business With OAuthBigger, Better Business With OAuth
Bigger, Better Business With OAuth
 
Qark DefCon 23
Qark DefCon 23Qark DefCon 23
Qark DefCon 23
 
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APITen Reasons Developers Hate Your API
Ten Reasons Developers Hate Your API
 
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
 
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
 
Ultimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation SolutionsUltimate Guide to 30+ API Documentation Solutions
Ultimate Guide to 30+ API Documentation Solutions
 
OAuth: The Next Big Thing in Security
OAuth: The Next Big Thing in SecurityOAuth: The Next Big Thing in Security
OAuth: The Next Big Thing in Security
 
APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...
APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...
APIdays Paris 2018 - The Lord of API Design, Arnaud Lauret, API Handyman & AP...
 
Elements of a Great API Reference
Elements of a Great API ReferenceElements of a Great API Reference
Elements of a Great API Reference
 
The API-Application Semantic Gap
The API-Application Semantic GapThe API-Application Semantic Gap
The API-Application Semantic Gap
 
The Swisscom APi journey
The Swisscom APi journeyThe Swisscom APi journey
The Swisscom APi journey
 
What is an Application programming interface(API)?
What is an Application programming interface(API)?What is an Application programming interface(API)?
What is an Application programming interface(API)?
 
Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?
 
Open Event API
Open Event APIOpen Event API
Open Event API
 
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIAPIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
 
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...
apidays LIVE Australia - API Design in Fintech: Challenges and Opportunities ...
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 

En vedette

Enabling the Multi-Device Universe
Enabling the Multi-Device UniverseEnabling the Multi-Device Universe
Enabling the Multi-Device UniverseCA API Management
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinAdapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinCA API Management
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...CA API Management
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...CA API Management
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...CA API Management
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...CA API Management
 
API Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataAPI Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataCA API Management
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterpriseCA API Management
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarCA API Management
 
5 steps end to end security consumer apps
5 steps end to end security consumer apps5 steps end to end security consumer apps
5 steps end to end security consumer appsCA API Management
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...CA API Management
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...CA API Management
 
Mastering Digital Channels with APIs
Mastering Digital Channels with APIsMastering Digital Channels with APIs
Mastering Digital Channels with APIsCA API Management
 
Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...
Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...
Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...CA API Management
 
Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...
Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...
Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...CA API Management
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKISamir Arezki ☁
 
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...CA API Management
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...CA API Management
 
How to Choose A SOA Gateway from Layer 7
How to Choose A SOA Gateway from Layer 7How to Choose A SOA Gateway from Layer 7
How to Choose A SOA Gateway from Layer 7CA API Management
 

En vedette (20)

Enabling the Multi-Device Universe
Enabling the Multi-Device UniverseEnabling the Multi-Device Universe
Enabling the Multi-Device Universe
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinAdapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & Win
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
 
API Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataAPI Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your Data
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches Webinar
 
5 steps end to end security consumer apps
5 steps end to end security consumer apps5 steps end to end security consumer apps
5 steps end to end security consumer apps
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
 
Mastering Digital Channels with APIs
Mastering Digital Channels with APIsMastering Digital Channels with APIs
Mastering Digital Channels with APIs
 
Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...
Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...
Self-Replication, Strandbeest, and the Game of Life What von Neumann, Jansen,...
 
Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...
Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...
Your Journey to Agility using APIs - Tyson Whitten, Director of Solutions Mar...
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKI
 
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
 
Layer 7 and Oracle -
Layer 7 and Oracle - Layer 7 and Oracle -
Layer 7 and Oracle -
 
How to Choose A SOA Gateway from Layer 7
How to Choose A SOA Gateway from Layer 7How to Choose A SOA Gateway from Layer 7
How to Choose A SOA Gateway from Layer 7
 

Similaire à Building APIs That Last for Decades - Irakli Nadareishvili, Director of API Strategy, API Academy

Workshop 04 android-development
Workshop 04 android-developmentWorkshop 04 android-development
Workshop 04 android-developmentAravindharamanan S
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about RESTdarrelmiller71
 
zendframework2 restful
zendframework2 restfulzendframework2 restful
zendframework2 restfultom_li
 
[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheel[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheelMateusz Klimczak
 
NASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise ServicesNASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise ServicesPat Cappelaere
 
REST and Resource Oriented Architecture - okcDG March 2008
REST and Resource Oriented Architecture - okcDG March 2008REST and Resource Oriented Architecture - okcDG March 2008
REST and Resource Oriented Architecture - okcDG March 2008Ryan Hoegg
 
Stakeholders’ information needs for artifacts and their dependencies in a rea...
Stakeholders’ information needs for artifacts and their dependencies in a rea...Stakeholders’ information needs for artifacts and their dependencies in a rea...
Stakeholders’ information needs for artifacts and their dependencies in a rea...s-mueller
 
Data Insights - sentiXchange
Data Insights - sentiXchangeData Insights - sentiXchange
Data Insights - sentiXchangeAkshay Wattal
 
Building Better Web Apps with Angular.js (SXSW 2014)
Building Better Web Apps with Angular.js (SXSW 2014)Building Better Web Apps with Angular.js (SXSW 2014)
Building Better Web Apps with Angular.js (SXSW 2014)kbekessy
 
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele PecorariMobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele PecorariOlivier DASINI
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopShubhra Kar
 
WTF is Semantic Web?
WTF is Semantic Web?WTF is Semantic Web?
WTF is Semantic Web?milesw
 
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)Nordic APIs
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying FastAndy Davies
 
ORCID Identifiers in Reactome
ORCID Identifiers in ReactomeORCID Identifiers in Reactome
ORCID Identifiers in ReactomeORCID, Inc
 
DockerCon US 2016 - Docker Practice in Alibaba Cloud
DockerCon US 2016 - Docker Practice in Alibaba CloudDockerCon US 2016 - Docker Practice in Alibaba Cloud
DockerCon US 2016 - Docker Practice in Alibaba CloudLi Yi
 
OWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and ManicoOWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and ManicoEoin Keary
 

Similaire à Building APIs That Last for Decades - Irakli Nadareishvili, Director of API Strategy, API Academy (20)

Workshop 04 android-development
Workshop 04 android-developmentWorkshop 04 android-development
Workshop 04 android-development
 
Sec presentation
Sec presentationSec presentation
Sec presentation
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about REST
 
zendframework2 restful
zendframework2 restfulzendframework2 restful
zendframework2 restful
 
[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheel[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheel
 
NASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise ServicesNASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise Services
 
REST and Resource Oriented Architecture - okcDG March 2008
REST and Resource Oriented Architecture - okcDG March 2008REST and Resource Oriented Architecture - okcDG March 2008
REST and Resource Oriented Architecture - okcDG March 2008
 
Bio2RDF@BH2010
Bio2RDF@BH2010Bio2RDF@BH2010
Bio2RDF@BH2010
 
Stakeholders’ information needs for artifacts and their dependencies in a rea...
Stakeholders’ information needs for artifacts and their dependencies in a rea...Stakeholders’ information needs for artifacts and their dependencies in a rea...
Stakeholders’ information needs for artifacts and their dependencies in a rea...
 
Data Insights - sentiXchange
Data Insights - sentiXchangeData Insights - sentiXchange
Data Insights - sentiXchange
 
Building Better Web Apps with Angular.js (SXSW 2014)
Building Better Web Apps with Angular.js (SXSW 2014)Building Better Web Apps with Angular.js (SXSW 2014)
Building Better Web Apps with Angular.js (SXSW 2014)
 
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele PecorariMobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
WTF is Semantic Web?
WTF is Semantic Web?WTF is Semantic Web?
WTF is Semantic Web?
 
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
Sliding away from Roy Fielding's REST model (Filippos Vasilakis)
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying Fast
 
ORCID Identifiers in Reactome
ORCID Identifiers in ReactomeORCID Identifiers in Reactome
ORCID Identifiers in Reactome
 
DockerCon US 2016 - Docker Practice in Alibaba Cloud
DockerCon US 2016 - Docker Practice in Alibaba CloudDockerCon US 2016 - Docker Practice in Alibaba Cloud
DockerCon US 2016 - Docker Practice in Alibaba Cloud
 
OWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and ManicoOWASP Free Training - SF2014 - Keary and Manico
OWASP Free Training - SF2014 - Keary and Manico
 

Plus de CA API Management

API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...CA API Management
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...CA API Management
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...CA API Management
 
Using APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceUsing APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceCA API Management
 
Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ...
 Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ... Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ...
Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ...CA API Management
 
Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014
Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014
Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014CA API Management
 
The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...
The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...
The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...CA API Management
 
Is there an API in that (IoT)?
Is there an API in that (IoT)?Is there an API in that (IoT)?
Is there an API in that (IoT)?CA API Management
 
Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...
Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...
Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...CA API Management
 
Your New Digital Business & APIs
Your New Digital Business & APIs Your New Digital Business & APIs
Your New Digital Business & APIs CA API Management
 
Mapping the API Landscape - Mike Amundsen, Director of API Architecture
Mapping the API Landscape - Mike Amundsen, Director of API ArchitectureMapping the API Landscape - Mike Amundsen, Director of API Architecture
Mapping the API Landscape - Mike Amundsen, Director of API ArchitectureCA API Management
 
Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...
Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...
Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...CA API Management
 
Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...
Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...
Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...CA API Management
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellCA API Management
 

Plus de CA API Management (14)

API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
 
Using APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceUsing APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail Experience
 
Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ...
 Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ... Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ...
Panel Session: Security & Privacy for Connected Cars w/ Scott Morrison, SVP ...
 
Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014
Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014
Clients Matter, Services Don't - Mike Amundsen's talk from QCon New York 2014
 
The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...
The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...
The Connected Car UX Through APIs - Francois Lascelles, VP Solutions Architec...
 
Is there an API in that (IoT)?
Is there an API in that (IoT)?Is there an API in that (IoT)?
Is there an API in that (IoT)?
 
Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...
Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...
Truth, Lies & APIs - Ross Garrett, Director Product Marketing, CA Layer 7 @ G...
 
Your New Digital Business & APIs
Your New Digital Business & APIs Your New Digital Business & APIs
Your New Digital Business & APIs
 
Mapping the API Landscape - Mike Amundsen, Director of API Architecture
Mapping the API Landscape - Mike Amundsen, Director of API ArchitectureMapping the API Landscape - Mike Amundsen, Director of API Architecture
Mapping the API Landscape - Mike Amundsen, Director of API Architecture
 
Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...
Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...
Lean API Strategy - Holger Reinhardt, Snr Principal Business Unit Strategy, L...
 
Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...
Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...
Enterprise on the Go - Devon Winkworth, Snr. Principal Consultant, Layer 7 @ ...
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring Webshell
 

Building APIs That Last for Decades - Irakli Nadareishvili, Director of API Strategy, API Academy

  • 3.
  • 4. 2013: 80 devices /sec Source:!Cisco!
  • 5. 2014: 100 devices /sec Source:!Cisco!
  • 6. 2020: 250 devices /sec Source:!Cisco!
  • 7. 2020: 50bn conn. devices Source:!Cisco!
  • 8.
  • 9.
  • 11.
  • 12. !
  • 13.
  • 14.
  • 15. Hypermedia-Oriented Style What!if!the!server!could!dynamically! tell!the!client!what!the!client!can!do! and!how,!guiding!the!client!from!one! desired!state!to!another?! Avoid&'ght&coupling&and&hardcoding!& @inadarei
  • 16. Response = Data + Controls API!server!would!have!to!send!client! not!just!sta$c!data,!but!also!controls! describing!API!affordances.! @inadarei
  • 17. Hypermedia per Fielding "Hypermedia!is!defined!by!the!presence!of! applicaQon!control!informaQon!embedded! within,!or!as!a!layer!above,!the! presentaQon!of!informaQon!(2001)! Architectural!Styles!and!the!Design!of! NetworkFbased!SoGware,!2001! F!Roy!T.!Fielding!
  • 18. Affordances Affordances!are!all!acQon!possibiliQes! latent!in!the!environment.! ! @inadarei Theory!of!Affordances,!1979! F!James!J.!Gibson! !
  • 21. Affordances’re key to a good design Imagine!a!car!or!a!building!that!you!couldn't! possibly!use,!unless!you!had!a!manual.!That! sounds!silly,!we!don't!build!cars!or!buildings! like!that.!Yet,!that!is!exactly!how!we!build! APIs!today.!
  • 22. Familiarity Creates Usability Are!all!cars!exactly!the!same?!No.!Can!we!do! basic!things!with!any!car,!once!we!understand! how!cars!in!general!work?!Yes!!Do!we!need!to! read!a!manual!for!that?!No!!
  • 23. Common vocabulary: in Media Types paginaQon,!internaQonalizaQon,!templated!querying,!data!updates…!
  • 25. Profiles RFC6906:!! [Profile!link!relaQon!defines]!addiQonal! semanQcs!that!can!be!used!to!process!a! resource!representaQon,!such!as!constraints,! convenQons,!extensions,!or!any!other!aspects! that!do!not!alter!the!basic!media!type!semanQcs! Profiles!can!be!combined,!meaning!that!a!single! resource!representaQon!can!conform!to!zero!or! any!number!of!profiles.!
  • 26. Profile Examples: 1. XMDP (HTML-only) http://gmpg.org/xmdp/ 2. PMP (CDoc-only) https://github.com/publicmediaplatform/pmpdocs/ wiki/Profile-profile 3. ALPS http://www.ietf.org/id/draft-amundsen-richardson-foster- alps-00.txt And!many!others…!
  • 27. OMG! This Feels So Complicated! @inadarei
  • 28. No, It Is Not Complicated! You!are!already!very!familiar!with!all!of!it:!World! Wide!Web!is!a!perfect!Hypermedia!system!and! HTML!is!one!of!the!most!successful!hypermedia! types.! @inadarei
  • 29. When in doubt: Always!draw!parallels!with!web!and!think!about:! “—Ok,sohowwouldIdothisifIwasjust buildingawebsiteandthiswasjustHTML?” @inadarei Bingo! Except!HTML![usually]!deals!with!unstructured!content!and! is!not!always!appropriate!for!APIs!that!marshal!structured! data.!Let’s!do!a!ligle!more!of!the!learning!thing.!
  • 30. 7-Step Design Process 1. List Semantic Descriptors 2. Draw a State Diagram 3. Reconcile Names 4. Choose a Media Type 5. Write a Profile 6. Implementation 7. Publication Source:!Richardson!!Amundsen,!Resiul!Web!APIs!
  • 31. #2 State Diagram Example: Blog List of blog posts Create blog post Save post
  • 32. #3 Reconcile Names 1. IANA Link Relations http://www.iana.org/assignments/link-relations/link-relations. xhtml 2. Microformats Link Relations http://microformats.org/wiki/existing-rel-values 3. Dublin Core Metadata Element Set, Version 1 http://dublincore.org/documents/dces/ Source:!M.!Amundsen,!UBER!Hypermedia!Format!
  • 33. #4 Choose a Hypermedia Type 1. UBER (http://uberhypermedia.org) 2. Collection+JSON (Col.Doc) 3. HAL 4. Siren 5. JSON:API 6. HTML (yeap! Just ask Jon Moore)
  • 34. 7-Step Design Process 1. List Semantic Descriptors 2. Draw a State Diagram 3. Reconcile Names 4. Choose a Media Type 5. Write a Profile 6. Implementation 7. Publication Source:!Richardson!!Amundsen,!Resiul!Web!APIs!
  • 35. Who Uses Hypermedia APIs? 1. AWS Streaming API 2. ElasticPath Cortex 3. Comcast 4. Microsoft Lync 5. Paypal 6. Github 7. FoxyCart 8. Huddle 9. Public Media Platform 10. … You?
  • 36. What now? 1. Follow @mamund 2. Follow @apiacademy 3. Follow @darrel_miller 4. Follow @jharmn 5. Follow @kinlane (always) 6. Follow @inadarei (if you want) 7. Dave Goldberg’s Hypermedia Resources: http://davejonathangoldberg.github.io/apis/hypermedia/2014/08/08/ hypermedia-resources/ 8. Hypermedia Google Group https://groups.google.com/forum/#!forum/hypermedia-web 9. UBER Google Group https://groups.google.com/forum/#!forum/uber-hypermedia Be involved. This is a super-active and exciting space!