SlideShare a Scribd company logo
1 of 28
Download to read offline
Are  REST  APIs for  Cloud Computing
Well-­Designed?  An Exploratory Study
Fabio Petrillo1,3,4, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3
1 Université du Québec à Montréal
2 Inria Lille - Nord Europe
3 École Polytechnique de Montréal, QC, Canada
4 Federal University of Rio Grande do Sul, RS, Brazil
The 14thInternational Conference on Service Oriented Computing (ICSOC’2016)
October 10-13, 2016 - Banff, Alberta, Canada
1
Previous ICSOC  Editions
2
• ICSOC’12:  Specification and Detection of SOA  Antipatterns
• ICSOC’13: Detection  of  SOA  Patterns  
• ICSOC’14: Detection of REST  Patterns and Antipatterns:  A  
Heuristics-­based Approach
• ICSOC’15: Are  RESTFul APIs Well-­designed?  Detection of their
Linguistic (Anti)Patterns
• ICSOC’16: Are  REST  APIs for  Cloud Computing Well-­designed ?
Context
3
• Cloud  computing =  model  to  offer and  access computational
resources and  services
• REST  APIs for  offering such computational resources
Web  Services
• Wide  variety of  Cloud  APIs
• Cloud  APIs  are  difficult to  design  and  therefore to  
understand and  use
Problem
• Well-­designed REST  APIs may
attract client developers
• Quality factors:  
understandability and reusability 4
• Best  practices  to  make REST  APIs  understandable and  
reusable
• BUT scattered in  the  litterature
• BUT not  studied on  real-­world  APIs 5
Solution
6
• CRUD  function names should not  be used in  URIs
• Lowercase letters should be preferred in  URI  paths
Examples of  Best  Practices
Outline
7
• Contributions on REST  APIs for  Cloud Computing
• Contrib 1  :  Catalog of  Best  Practices
• Contrib 2  :  Exploratory Study
• Results
• Conclusion and Future  work
Outline
8
• Contributions on REST  APIs for  Cloud Computing
• Contrib 1  :  Catalog of  Best  Practices
• Contrib 2  :  Exploratory Study
• Results
• Conclusion and Future  work
9
Contributions
Goal:  To  evaluate  the  conformance  of  Cloud  APIs  with  best  
practices
Contrib 1: Catalog of 73  best practices on design  of REST  APIs
Contrib 2  :  Study of  the  conformance of  three different and  
well-­known REST  APIs  with our best practices’  catalog
Outline
10
• Contributions on REST  APIs for  Cloud Computing
• Contrib 1  :  Catalog of  Best  Practices
• Contrib 2  :  Exploratory Study
• Results
• Conclusion and Future  work
11
State of Art
REST  API
7  main
studies
Massé
(2011)
Select
categories
5  cate-­
gories
Contrib 1  :  Catalog of  Best  Practices
Extraction of
Practices
Author
convergence
Extracted  
practices
Catalog of 73  best
practices
Contrib 1  :  Catalog of  Best  Practices
State of Art
REST  API
7  main
studies
Massé
(2011)
Select
categories
5  cate-­
gories
12
13
Contrib 1  :  Catalog of  Best  Practices
Outline
14
• Contributions on REST  APIs for  Cloud Computing
• Contrib 1  :  Catalog of  Best  Practices
• Contrib 2  :  Exploratory Study
• Results
• Conclusion and Future  work
15
Study
Objects:  
RQ1.  What are  the main services provided by cloud REST  APIs?
RQ2.  How many best practices are  followed by cloud REST  APIs?
RQ3.  What best practices are  adopted by all APIs?
RQ4.  What best practices are  adopted by none of the APIs?
Commercial Open  source Standard
16
Study
Identification
of services
Extraction of
URIs
Matching
practices and
URIs
Data  Analysis
11  
services
URI  Data
Cloud  
REST  API  
Practices  
Data
Results
Procedure:  Manual  analysis  of  Cloud  API  documentations
Outline
17
• Contributions on REST  APIs for  Cloud Computing
• Contrib 1  :  Catalog of  Best  Practices
• Contrib 2  :  Exploratory Study
• Results
• Conclusion and Future  work
Google  and OpenStack API  have a  good support for  all services while OCCI  has
yet some  lacks
RQ1.  What are  the main services provided by cloud REST  APIs?
18
Results
RQ2.  How many best practices are  followed by cloud REST  APIs?
19
Results
• Set  of practices forming a  “consensus”
• Only 32% (24/73)  of practices
Ø No  agreement on the main good practices
Ø Majority of practices are  adopted at least by one API
Ø Overall,  APIs are  well-­designed
RQ3.  What best practices are  adopted by all APIs?
20
Results
• Set  of practices forming a  “negative consensus”
• Only 14% (10/73)  of practices not followed
Ø Further work required to analyse why
RQ4.  What best practices are  adopted by none of the APIs?
21
Results
• The  best practices were representative
• Other characteristics should be investigated
• Largest study on the design  of REST  APIs
Ø BUT  we cannot generalise our results
22
Results :  Threats to Validity
Does  these good practices apply universally to all cloud
services?  
Outline
23
• Contributions on REST  APIs for  Cloud Computing
• Contrib 1  :  Catalog of  Best  Practices
• Contrib 2  :  Exploratory Study
• Results
• Conclusion and Future  work
24
Conclusion
• Well designing REST  APIs is difficult
• Catalog of 73  best practices for  REST  APIs design
• Evaluation of  the  use  of  these practices  in  three sets  of  
APIs
• First  study evaluating and  comparing the  design  of  the  
REST  APIs
25
Future  Work
• Apply this study to more  cloud APIs (Amazon  Web  Services,  
Apache’s CloudStack,  etc.)
• Automate the  procedure
• Lexical  and semantical analysis
• Contribute to  the  improvement of  OCCI  specifications
Are REST APIs for
Cloud Computing
Well-Designed?
26
Cloud APIs reach
an acceptable level of maturity
when considering good practices pertaining to
the design in terms of understandability and
reusability
27
Are  REST  APIs  for  Cloud  Computing  
Well-­Designed?  An  Exploratory  Study
Fabio Petrillo1,3,4, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3
1 Université du Québec à Montréal
2 Inria Lille - Nord Europe
3 École Polytechnique de Montréal, QC, Canada
4 Federal University of Rio Grande do Sul, RS, Brazil
The 14thInternational Conference on Service Oriented Computing (ICSOC’2016)
October 10-13, 2016 - Banff, Alberta, Canada
28

More Related Content

Similar to Icsoc16a.ppt

Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Lionel Briand
 
Crossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application developmentCrossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application developmentPaola Espinoza-Arias
 
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...IncQuery Labs
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice ContainerJamie (Taka) Wang
 
Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Lionel Briand
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightabhijit2511
 
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglassapidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglassapidays
 
apidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoff
apidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoffapidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoff
apidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoffapidays
 
Addressing the Interoperability Question
Addressing the Interoperability QuestionAddressing the Interoperability Question
Addressing the Interoperability QuestionDeborah Porchivina
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2bdemchak
 
Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Saul Caganoff
 
Model Checking as a Service: Towards Pragmatic Hidden Formal Methods
Model Checking as a Service: Towards Pragmatic Hidden Formal MethodsModel Checking as a Service: Towards Pragmatic Hidden Formal Methods
Model Checking as a Service: Towards Pragmatic Hidden Formal MethodsIncQuery Labs
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Austin API Summit 2018: Are REST APIs Still Relevant Today?
Austin API Summit 2018: Are REST APIs Still Relevant Today?Austin API Summit 2018: Are REST APIs Still Relevant Today?
Austin API Summit 2018: Are REST APIs Still Relevant Today?LaunchAny
 
Are REST APIs Still Relevant Today?
Are REST APIs Still Relevant Today?Are REST APIs Still Relevant Today?
Are REST APIs Still Relevant Today?Nordic APIs
 
Thesis+of+wei+wu.ppt
Thesis+of+wei+wu.pptThesis+of+wei+wu.ppt
Thesis+of+wei+wu.pptPtidej Team
 
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...apidays
 
Koneksys Presentation March 2021
Koneksys Presentation March 2021Koneksys Presentation March 2021
Koneksys Presentation March 2021Axel Reichwein
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsAxel Reichwein
 

Similar to Icsoc16a.ppt (20)

Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
Crossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application developmentCrossing the chasm between ontology engineering and application development
Crossing the chasm between ontology engineering and application development
 
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice Container
 
Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglassapidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
 
apidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoff
apidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoffapidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoff
apidays LIVE Australia - Growing an API Culture by Liz Douglass & Saul Caganoff
 
Addressing the Interoperability Question
Addressing the Interoperability QuestionAddressing the Interoperability Question
Addressing the Interoperability Question
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020
 
Colt inter-provider SDN NNIs and APIs
Colt inter-provider SDN NNIs and APIsColt inter-provider SDN NNIs and APIs
Colt inter-provider SDN NNIs and APIs
 
Model Checking as a Service: Towards Pragmatic Hidden Formal Methods
Model Checking as a Service: Towards Pragmatic Hidden Formal MethodsModel Checking as a Service: Towards Pragmatic Hidden Formal Methods
Model Checking as a Service: Towards Pragmatic Hidden Formal Methods
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Austin API Summit 2018: Are REST APIs Still Relevant Today?
Austin API Summit 2018: Are REST APIs Still Relevant Today?Austin API Summit 2018: Are REST APIs Still Relevant Today?
Austin API Summit 2018: Are REST APIs Still Relevant Today?
 
Are REST APIs Still Relevant Today?
Are REST APIs Still Relevant Today?Are REST APIs Still Relevant Today?
Are REST APIs Still Relevant Today?
 
Thesis+of+wei+wu.ppt
Thesis+of+wei+wu.pptThesis+of+wei+wu.ppt
Thesis+of+wei+wu.ppt
 
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
 
Koneksys Presentation March 2021
Koneksys Presentation March 2021Koneksys Presentation March 2021
Koneksys Presentation March 2021
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standards
 

More from Yann-Gaël Guéhéneuc

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Yann-Gaël Guéhéneuc
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Yann-Gaël Guéhéneuc
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
Icsm20.ppt
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

Icsoc16a.ppt

  • 1. Are  REST  APIs for  Cloud Computing Well-­Designed?  An Exploratory Study Fabio Petrillo1,3,4, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3 1 Université du Québec à Montréal 2 Inria Lille - Nord Europe 3 École Polytechnique de Montréal, QC, Canada 4 Federal University of Rio Grande do Sul, RS, Brazil The 14thInternational Conference on Service Oriented Computing (ICSOC’2016) October 10-13, 2016 - Banff, Alberta, Canada 1
  • 2. Previous ICSOC  Editions 2 • ICSOC’12:  Specification and Detection of SOA  Antipatterns • ICSOC’13: Detection  of  SOA  Patterns   • ICSOC’14: Detection of REST  Patterns and Antipatterns:  A   Heuristics-­based Approach • ICSOC’15: Are  RESTFul APIs Well-­designed?  Detection of their Linguistic (Anti)Patterns • ICSOC’16: Are  REST  APIs for  Cloud Computing Well-­designed ?
  • 3. Context 3 • Cloud  computing =  model  to  offer and  access computational resources and  services • REST  APIs for  offering such computational resources Web  Services
  • 4. • Wide  variety of  Cloud  APIs • Cloud  APIs  are  difficult to  design  and  therefore to   understand and  use Problem • Well-­designed REST  APIs may attract client developers • Quality factors:   understandability and reusability 4
  • 5. • Best  practices  to  make REST  APIs  understandable and   reusable • BUT scattered in  the  litterature • BUT not  studied on  real-­world  APIs 5 Solution
  • 6. 6 • CRUD  function names should not  be used in  URIs • Lowercase letters should be preferred in  URI  paths Examples of  Best  Practices
  • 7. Outline 7 • Contributions on REST  APIs for  Cloud Computing • Contrib 1  :  Catalog of  Best  Practices • Contrib 2  :  Exploratory Study • Results • Conclusion and Future  work
  • 8. Outline 8 • Contributions on REST  APIs for  Cloud Computing • Contrib 1  :  Catalog of  Best  Practices • Contrib 2  :  Exploratory Study • Results • Conclusion and Future  work
  • 9. 9 Contributions Goal:  To  evaluate  the  conformance  of  Cloud  APIs  with  best   practices Contrib 1: Catalog of 73  best practices on design  of REST  APIs Contrib 2  :  Study of  the  conformance of  three different and   well-­known REST  APIs  with our best practices’  catalog
  • 10. Outline 10 • Contributions on REST  APIs for  Cloud Computing • Contrib 1  :  Catalog of  Best  Practices • Contrib 2  :  Exploratory Study • Results • Conclusion and Future  work
  • 11. 11 State of Art REST  API 7  main studies Massé (2011) Select categories 5  cate-­ gories Contrib 1  :  Catalog of  Best  Practices
  • 12. Extraction of Practices Author convergence Extracted   practices Catalog of 73  best practices Contrib 1  :  Catalog of  Best  Practices State of Art REST  API 7  main studies Massé (2011) Select categories 5  cate-­ gories 12
  • 13. 13 Contrib 1  :  Catalog of  Best  Practices
  • 14. Outline 14 • Contributions on REST  APIs for  Cloud Computing • Contrib 1  :  Catalog of  Best  Practices • Contrib 2  :  Exploratory Study • Results • Conclusion and Future  work
  • 15. 15 Study Objects:   RQ1.  What are  the main services provided by cloud REST  APIs? RQ2.  How many best practices are  followed by cloud REST  APIs? RQ3.  What best practices are  adopted by all APIs? RQ4.  What best practices are  adopted by none of the APIs? Commercial Open  source Standard
  • 16. 16 Study Identification of services Extraction of URIs Matching practices and URIs Data  Analysis 11   services URI  Data Cloud   REST  API   Practices   Data Results Procedure:  Manual  analysis  of  Cloud  API  documentations
  • 17. Outline 17 • Contributions on REST  APIs for  Cloud Computing • Contrib 1  :  Catalog of  Best  Practices • Contrib 2  :  Exploratory Study • Results • Conclusion and Future  work
  • 18. Google  and OpenStack API  have a  good support for  all services while OCCI  has yet some  lacks RQ1.  What are  the main services provided by cloud REST  APIs? 18 Results
  • 19. RQ2.  How many best practices are  followed by cloud REST  APIs? 19 Results
  • 20. • Set  of practices forming a  “consensus” • Only 32% (24/73)  of practices Ø No  agreement on the main good practices Ø Majority of practices are  adopted at least by one API Ø Overall,  APIs are  well-­designed RQ3.  What best practices are  adopted by all APIs? 20 Results
  • 21. • Set  of practices forming a  “negative consensus” • Only 14% (10/73)  of practices not followed Ø Further work required to analyse why RQ4.  What best practices are  adopted by none of the APIs? 21 Results
  • 22. • The  best practices were representative • Other characteristics should be investigated • Largest study on the design  of REST  APIs Ø BUT  we cannot generalise our results 22 Results :  Threats to Validity Does  these good practices apply universally to all cloud services?  
  • 23. Outline 23 • Contributions on REST  APIs for  Cloud Computing • Contrib 1  :  Catalog of  Best  Practices • Contrib 2  :  Exploratory Study • Results • Conclusion and Future  work
  • 24. 24 Conclusion • Well designing REST  APIs is difficult • Catalog of 73  best practices for  REST  APIs design • Evaluation of  the  use  of  these practices  in  three sets  of   APIs • First  study evaluating and  comparing the  design  of  the   REST  APIs
  • 25. 25 Future  Work • Apply this study to more  cloud APIs (Amazon  Web  Services,   Apache’s CloudStack,  etc.) • Automate the  procedure • Lexical  and semantical analysis • Contribute to  the  improvement of  OCCI  specifications
  • 26. Are REST APIs for Cloud Computing Well-Designed? 26
  • 27. Cloud APIs reach an acceptable level of maturity when considering good practices pertaining to the design in terms of understandability and reusability 27
  • 28. Are  REST  APIs  for  Cloud  Computing   Well-­Designed?  An  Exploratory  Study Fabio Petrillo1,3,4, Philippe Merle2, Naouel Moha1, Yann-Gaël Guéhéneuc3 1 Université du Québec à Montréal 2 Inria Lille - Nord Europe 3 École Polytechnique de Montréal, QC, Canada 4 Federal University of Rio Grande do Sul, RS, Brazil The 14thInternational Conference on Service Oriented Computing (ICSOC’2016) October 10-13, 2016 - Banff, Alberta, Canada 28