SlideShare a Scribd company logo
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 - 2010
Kalman 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 Web
Ralf Klamma
 
Lsms SUPSI DTI ISIN
Lsms SUPSI DTI ISINLsms SUPSI DTI ISIN
Lsms SUPSI DTI ISIN
Lorenzo Sommaruga
 
Community Analytics – An Information Systems Perspective
Community Analytics – An Information Systems PerspectiveCommunity Analytics – An Information Systems Perspective
Community Analytics – An Information Systems Perspective
Ralf Klamma
 
Future of Content Platforms
Future of Content PlatformsFuture of Content Platforms
Future of Content Platforms
scroisier
 
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
Odinot 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 madness
semanticsconference
 
Katasonov icinco08
Katasonov icinco08Katasonov icinco08
Katasonov icinco08
cg19920128
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
Nuxeo
 
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
Nicolaescu Petru
 
Making Conversations Visible
Making Conversations VisibleMaking Conversations Visible
Making Conversations Visible
Simon Buckingham Shum
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
Ralf 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 1
Geoffrey 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 SDK
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 SDK
Dominik Renzel
 
The ROLE Requirements Bazaar
The ROLE Requirements BazaarThe ROLE Requirements Bazaar
The ROLE Requirements Bazaar
Dominik 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 Engineering
Dominik 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

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 

Recently uploaded (20)

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 

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