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

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

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