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 Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
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)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
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🔝
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
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...
 
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...
 

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