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

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

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