SlideShare a Scribd company logo
1 of 14
The 13th International Conference on Web Information
                                                           Systems Engineering (WISE 2012)
                                                           November 28th-30th, 2012
                                                           Paphos, Cyprus.




                            Today’s Top “RESTful” Services and
                                 Why They Aren’t RESTful


                                          Dominik Renzel, Patrick Schlebusch, Ralf Klamma
                                                     RWTH Aachen University
                                          Advanced Community Information Systems (ACIS)
                                                        Aachen, Germany
                                                   renzel@dbis.rwth-aachen.de

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
          1              These presentation slides by Dominik Renzel are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Advanced Community
                          Information Systems (ACIS)




                                           Responsive
                         Web Engineering                 Community




                                                                         Web Analytics
                                              Open
                                                         Visualization
                                           Community
                                                             and
                                           Information
                                                          Simulation
                                             Systems



                                           Community      Community
                                            Support        Analytics




Lehrstuhl Informatik 5
                                             Requirements
(Information Systems)
   Prof. Dr. M. Jarke
          2
                                              Engineering
Motivation

                                          Service

                                          Service

                                                          HELP!


                            Huge variety of Communities of Practice in the Long Tail
                            Lack of custom tools for niche communities
                            Common in Web CIS: “RESTful“ APIs as (part of) products
                            Mash-ups become possible
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
                         Great! Aren‘t we happy? Well, partially yes, but…
          3
RESTful Services –
                                        Problems in Practice
                                    Theory       Design Guidelines   Dev Frameworks




                         But: Lack of compliance to RESTful principles
                          Increased workload & costs for service integration
                          Bad mash-up code quality
                          Lower customer satisfaction (developers & end-user communities)
                          Automatic compliance checks hardly possible
                          Lower overall service success (community practice & provider revenue)

Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
                         Study: How RESTful are today‘s top “RESTful“ services?
          4
Methodology
                            Check adherence of 20 APIs…
                            … to 17 RESTful design principles
                            Data sources
                             – API descriptions from programmableweb.com
                               (Top 20 by popularity; 53% coverage of mash-ups; May 2011)
                             – Respective official API documentation
                             – 17 RESTful design principles (here only excerpt)
                                 – REST dissertation (Fielding, 2000)
                                 – RESTful service design principles (Richardson & Ruby, 2007)
                                 – Related HTTP protocol features

                            Manual analysis
Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
          5
Results Overview




                                                    Amazon Product Advert.




                                                     Google Content/Search
                                                      Google Custom Search




                                                        Yahoo Local Search
                                                         Yahoo Placefinder
                                                           Facebook Graph




                                                              Google Charts
                                                               Amazon EC2
                                                                Yahoo Map




                                                                Amazon S3
                                                                GeoNames




                                                                MediaWiki
                                                                 del.icio.us




                                                                   Box.net
                                                                    Twitter




                                                                    last.fm

                                                                      Twilio
                                                                       Flickr



                                                                       ebay




                                                                        Digg
                         Formal Description
                         Links in Representations
                         Forms in Representations
                         Resource Types
                         Versioned Endpoint
                         Scoping Information
                         Parameter Sources
                         Meaningful HTTP Status
                         Use of HTTP Methods
Lehrstuhl Informatik 5   HTTP Method Override
(Information Systems)
   Prof. Dr. M. Jarke
                         Format Selection
          6
Availability of Formal Description
                            Benefits
                              – Usable documentation
                              – Better service discovery & integration



                                                                4, 20%

                                                                     1, 5%          WSDL
                                                                                    Response XML Schema
                                                      15, 75%                       None




                            Good examples                                      Bad examples
Lehrstuhl Informatik 5
                              Amazon, ebay, Yahoo Local Search                   Twitter, Flickr and many more
(Information Systems)
   Prof. Dr. M. Jarke
          7
Links in Representations
                            Benefits
                              – Links as possible follow-up actions  navigational help
                              – HATEOAS as part of "uniform interface“ (Fielding 2000)



                                                                 4, 20%
                                                                                   Links used
                                                                                   No Links
                                                       16, 80%




                            Good examples                                    Bad examples
Lehrstuhl Informatik 5
                              Twilio, Google Custom Search                      Twitter, Flickr and many more
(Information Systems)
   Prof. Dr. M. Jarke
          8
Forms in Representations &
                                         Parameter Sources
                             Benefits
                               – Better information on structure and semantics of user input
                               – Formal description of request construction

                                         1, 5%
                                                                                     3, 15%
                                                                                          1, 5%       Both
                                                           Forms Used
                                                           No Forms                                   Form-encoded Content
                                     19, 95                               16, 80%
                                                                                                      Query Parameter
                                       %

                             Forms in Representations                   Parameter Sources

                             Good examples                                     Bad examples
                               – Google Custom (in repr.)                           Twitter, Flickr, Digg
Lehrstuhl Informatik 5
(Information Systems)
                               – Last.fm, Twilio (Both param sources)
   Prof. Dr. M. Jarke
          9
                               – Ebay (form-encoded params)
Number of Resource Types
                            Benefits
                              – Grouping resources by functionality/semantics
                              – Good indicator for “RPC-style disguised as RESTful“



                                                      5, 25%
                                                                                 Multiple
                                                                 8, 40%
                                                                                 Single
                                                                                 Overloaded
                                                        7, 35%




                            Good examples                                   Bad examples
Lehrstuhl Informatik 5
                              – Twitter (multiple)                             – Flickr (single overloaded)
                              – Google Custom Search (single)                  – Box.net (few overloaded)
(Information Systems)
   Prof. Dr. M. Jarke
         10
Versioned Endpoints
                            Benefits
                              – Avoids breaking consumer applications after new releases
                              – Indicates service development activity




                                                               7, 35%             yes
                                                                                  no
                                                     13, 65%




                            Good examples                                   Bad examples
Lehrstuhl Informatik 5
                              Twitter, delicio.us, last.fm                    Amazon EC2, Google Charts
(Information Systems)
   Prof. Dr. M. Jarke
         11
Meaningful Usage of
                                 HTTP Methods & Status Codes
                             Benefits
                               – Well-defined operational semantics for HTTP methods
                               – Well-defined vocabulary for communicating success/problems to clients
                         25
                         20
                         15
                                                               Bad               6, 30%
                         10                                                                                  yes
                                                               Reasonable
                          5                                                                                  no
                                                                                          14, 70%
                          0
                                GET      POST   DELETE   PUT


                                 Meaningful Use of Methods                  Meaningful Use of Status Codes

                             Good examples                                    Bad examples
Lehrstuhl Informatik 5
                               Twitter, flickr, Twilio                          del.icio.us, digg
(Information Systems)
   Prof. Dr. M. Jarke
         12
Conclusions
                         General Finding: “REST-smattering“
                            –   Mixed adoption of REST concepts among top services
                            –   Deliberate decisions or ongoing misconceptions
                            –   Often rather buzzword than compliance
                            –   Disadvantages for users & providers


                          Antidote: Increased formalization
                            –   Enables helpful tools & KPIs
                            –   Requires wide support by research & industry
                            –   Reduces complexity in service orchestration
Lehrstuhl Informatik 5
                            –   Cure on the way from research, industry to support!
(Information Systems)
   Prof. Dr. M. Jarke
         13
Questions?




                         Contact: renzel@dbis.rwth-aachen.de




Lehrstuhl Informatik 5
(Information Systems)
   Prof. Dr. M. Jarke
         14

More Related Content

Similar to Today's Top "RESTful" Services and Why They Are Not RESTful

Learning Analytics in a Mobile World - A Community Information Systems Perspe...
Learning Analytics in a Mobile World - A Community Information Systems Perspe...Learning Analytics in a Mobile World - A Community Information Systems Perspe...
Learning Analytics in a Mobile World - A Community Information Systems Perspe...Ralf Klamma
 
2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...
2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...
2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...eMadrid network
 
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...Kalman Graffi
 
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010Kalman Graffi
 
Open data and Collaborative Governance (the UW lecture)
Open data and Collaborative Governance (the UW lecture)Open data and Collaborative Governance (the UW lecture)
Open data and Collaborative Governance (the UW lecture)Yannis Charalabidis
 
An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...
An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...
An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...Michael Derntl
 
Reflection Support for Communities on the Web
Reflection Support for Communities on the WebReflection Support for Communities on the Web
Reflection Support for Communities on the WebRalf Klamma
 
Community Analytics – An Information Systems Perspective
Community Analytics – An Information Systems PerspectiveCommunity Analytics – An Information Systems Perspective
Community Analytics – An Information Systems PerspectiveRalf Klamma
 
Future of Content Platforms
Future of Content PlatformsFuture of Content Platforms
Future of Content Platformsscroisier
 
Big Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureBig Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureOdinot Stanislas
 
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Till Riedel
 
Session 0.0 poster minutes madness
Session 0.0   poster minutes madnessSession 0.0   poster minutes madness
Session 0.0 poster minutes madnesssemanticsconference
 
Katasonov icinco08
Katasonov icinco08Katasonov icinco08
Katasonov icinco08cg19920128
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebNuxeo
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentNicolaescu Petru
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information SystemsRalf Klamma
 
CTS Conference Web 2.0 Tutorial Part 1
CTS Conference Web 2.0 Tutorial Part 1CTS Conference Web 2.0 Tutorial Part 1
CTS Conference Web 2.0 Tutorial Part 1Geoffrey Fox
 
Linked Data at the Open University: From Technical Challenges to Organization...
Linked Data at the Open University: From Technical Challenges to Organization...Linked Data at the Open University: From Technical Challenges to Organization...
Linked Data at the Open University: From Technical Challenges to Organization...Mathieu d'Aquin
 

Similar to Today's Top "RESTful" Services and Why They Are Not RESTful (20)

Learning Analytics in a Mobile World - A Community Information Systems Perspe...
Learning Analytics in a Mobile World - A Community Information Systems Perspe...Learning Analytics in a Mobile World - A Community Information Systems Perspe...
Learning Analytics in a Mobile World - A Community Information Systems Perspe...
 
2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...
2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...
2012 03 16 (uc3m) emadrid rklamma rwth au analitica aprendizaje mundo movil p...
 
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
 
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
 
Open data and Collaborative Governance (the UW lecture)
Open data and Collaborative Governance (the UW lecture)Open data and Collaborative Governance (the UW lecture)
Open data and Collaborative Governance (the UW lecture)
 
An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...
An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...
An Embeddable Dashboard for Widget-Based Visual Analytics on Scientific Commu...
 
Reflection Support for Communities on the Web
Reflection Support for Communities on the WebReflection Support for Communities on the Web
Reflection Support for Communities on the Web
 
Lsms SUPSI DTI ISIN
Lsms SUPSI DTI ISINLsms SUPSI DTI ISIN
Lsms SUPSI DTI ISIN
 
Community Analytics – An Information Systems Perspective
Community Analytics – An Information Systems PerspectiveCommunity Analytics – An Information Systems Perspective
Community Analytics – An Information Systems Perspective
 
Future of Content Platforms
Future of Content PlatformsFuture of Content Platforms
Future of Content Platforms
 
Big Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureBig Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the Future
 
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
 
Session 0.0 poster minutes madness
Session 0.0   poster minutes madnessSession 0.0   poster minutes madness
Session 0.0 poster minutes madness
 
Katasonov icinco08
Katasonov icinco08Katasonov icinco08
Katasonov icinco08
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application Development
 
Making Conversations Visible
Making Conversations VisibleMaking Conversations Visible
Making Conversations Visible
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
 
CTS Conference Web 2.0 Tutorial Part 1
CTS Conference Web 2.0 Tutorial Part 1CTS Conference Web 2.0 Tutorial Part 1
CTS Conference Web 2.0 Tutorial Part 1
 
Linked Data at the Open University: From Technical Challenges to Organization...
Linked Data at the Open University: From Technical Challenges to Organization...Linked Data at the Open University: From Technical Challenges to Organization...
Linked Data at the Open University: From Technical Challenges to Organization...
 

More from Dominik Renzel

Information Systems Success Awareness for Professional Long Tail Communities ...
Information Systems Success Awareness for Professional Long Tail Communities ...Information Systems Success Awareness for Professional Long Tail Communities ...
Information Systems Success Awareness for Professional Long Tail Communities ...Dominik Renzel
 
Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...
Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...
Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...Dominik Renzel
 
ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?Dominik Renzel
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKDominik Renzel
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKDominik Renzel
 
The ROLE Requirements Bazaar
The ROLE Requirements BazaarThe ROLE Requirements Bazaar
The ROLE Requirements BazaarDominik Renzel
 
JTEL11 - Short Introduction to ROLE Social Requirements Engineering
JTEL11 - Short Introduction to ROLE Social Requirements EngineeringJTEL11 - Short Introduction to ROLE Social Requirements Engineering
JTEL11 - Short Introduction to ROLE Social Requirements EngineeringDominik Renzel
 

More from Dominik Renzel (7)

Information Systems Success Awareness for Professional Long Tail Communities ...
Information Systems Success Awareness for Professional Long Tail Communities ...Information Systems Success Awareness for Professional Long Tail Communities ...
Information Systems Success Awareness for Professional Long Tail Communities ...
 
Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...
Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...
Requirements Bazaar: Experiences, Added Value & Acceptance of Requirements Ne...
 
ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
 
The ROLE Requirements Bazaar
The ROLE Requirements BazaarThe ROLE Requirements Bazaar
The ROLE Requirements Bazaar
 
JTEL11 - Short Introduction to ROLE Social Requirements Engineering
JTEL11 - Short Introduction to ROLE Social Requirements EngineeringJTEL11 - Short Introduction to ROLE Social Requirements Engineering
JTEL11 - Short Introduction to ROLE Social Requirements Engineering
 

Recently uploaded

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Today's Top "RESTful" Services and Why They Are Not RESTful

  • 1. The 13th International Conference on Web Information Systems Engineering (WISE 2012) November 28th-30th, 2012 Paphos, Cyprus. Today’s Top “RESTful” Services and Why They Aren’t RESTful Dominik Renzel, Patrick Schlebusch, Ralf Klamma RWTH Aachen University Advanced Community Information Systems (ACIS) Aachen, Germany renzel@dbis.rwth-aachen.de Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 1 These presentation slides by Dominik Renzel are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
  • 2. Advanced Community Information Systems (ACIS) Responsive Web Engineering Community Web Analytics Open Visualization Community and Information Simulation Systems Community Community Support Analytics Lehrstuhl Informatik 5 Requirements (Information Systems) Prof. Dr. M. Jarke 2 Engineering
  • 3. Motivation Service Service HELP!  Huge variety of Communities of Practice in the Long Tail  Lack of custom tools for niche communities  Common in Web CIS: “RESTful“ APIs as (part of) products  Mash-ups become possible Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Great! Aren‘t we happy? Well, partially yes, but… 3
  • 4. RESTful Services – Problems in Practice Theory Design Guidelines Dev Frameworks But: Lack of compliance to RESTful principles  Increased workload & costs for service integration  Bad mash-up code quality  Lower customer satisfaction (developers & end-user communities)  Automatic compliance checks hardly possible  Lower overall service success (community practice & provider revenue) Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Study: How RESTful are today‘s top “RESTful“ services? 4
  • 5. Methodology  Check adherence of 20 APIs…  … to 17 RESTful design principles  Data sources – API descriptions from programmableweb.com (Top 20 by popularity; 53% coverage of mash-ups; May 2011) – Respective official API documentation – 17 RESTful design principles (here only excerpt) – REST dissertation (Fielding, 2000) – RESTful service design principles (Richardson & Ruby, 2007) – Related HTTP protocol features  Manual analysis Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 5
  • 6. Results Overview Amazon Product Advert. Google Content/Search Google Custom Search Yahoo Local Search Yahoo Placefinder Facebook Graph Google Charts Amazon EC2 Yahoo Map Amazon S3 GeoNames MediaWiki del.icio.us Box.net Twitter last.fm Twilio Flickr ebay Digg Formal Description Links in Representations Forms in Representations Resource Types Versioned Endpoint Scoping Information Parameter Sources Meaningful HTTP Status Use of HTTP Methods Lehrstuhl Informatik 5 HTTP Method Override (Information Systems) Prof. Dr. M. Jarke Format Selection 6
  • 7. Availability of Formal Description  Benefits – Usable documentation – Better service discovery & integration 4, 20% 1, 5% WSDL Response XML Schema 15, 75% None  Good examples  Bad examples Lehrstuhl Informatik 5 Amazon, ebay, Yahoo Local Search Twitter, Flickr and many more (Information Systems) Prof. Dr. M. Jarke 7
  • 8. Links in Representations  Benefits – Links as possible follow-up actions  navigational help – HATEOAS as part of "uniform interface“ (Fielding 2000) 4, 20% Links used No Links 16, 80%  Good examples  Bad examples Lehrstuhl Informatik 5 Twilio, Google Custom Search Twitter, Flickr and many more (Information Systems) Prof. Dr. M. Jarke 8
  • 9. Forms in Representations & Parameter Sources  Benefits – Better information on structure and semantics of user input – Formal description of request construction 1, 5% 3, 15% 1, 5% Both Forms Used No Forms Form-encoded Content 19, 95 16, 80% Query Parameter % Forms in Representations Parameter Sources  Good examples  Bad examples – Google Custom (in repr.) Twitter, Flickr, Digg Lehrstuhl Informatik 5 (Information Systems) – Last.fm, Twilio (Both param sources) Prof. Dr. M. Jarke 9 – Ebay (form-encoded params)
  • 10. Number of Resource Types  Benefits – Grouping resources by functionality/semantics – Good indicator for “RPC-style disguised as RESTful“ 5, 25% Multiple 8, 40% Single Overloaded 7, 35%  Good examples  Bad examples Lehrstuhl Informatik 5 – Twitter (multiple) – Flickr (single overloaded) – Google Custom Search (single) – Box.net (few overloaded) (Information Systems) Prof. Dr. M. Jarke 10
  • 11. Versioned Endpoints  Benefits – Avoids breaking consumer applications after new releases – Indicates service development activity 7, 35% yes no 13, 65%  Good examples  Bad examples Lehrstuhl Informatik 5 Twitter, delicio.us, last.fm Amazon EC2, Google Charts (Information Systems) Prof. Dr. M. Jarke 11
  • 12. Meaningful Usage of HTTP Methods & Status Codes  Benefits – Well-defined operational semantics for HTTP methods – Well-defined vocabulary for communicating success/problems to clients 25 20 15 Bad 6, 30% 10 yes Reasonable 5 no 14, 70% 0 GET POST DELETE PUT Meaningful Use of Methods Meaningful Use of Status Codes  Good examples  Bad examples Lehrstuhl Informatik 5 Twitter, flickr, Twilio del.icio.us, digg (Information Systems) Prof. Dr. M. Jarke 12
  • 13. Conclusions General Finding: “REST-smattering“ – Mixed adoption of REST concepts among top services – Deliberate decisions or ongoing misconceptions – Often rather buzzword than compliance – Disadvantages for users & providers  Antidote: Increased formalization – Enables helpful tools & KPIs – Requires wide support by research & industry – Reduces complexity in service orchestration Lehrstuhl Informatik 5 – Cure on the way from research, industry to support! (Information Systems) Prof. Dr. M. Jarke 13
  • 14. Questions? Contact: renzel@dbis.rwth-aachen.de Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 14