Are REST APIs for Cloud Computing Well-Designed? An Exploratory Study. Petrillo, F., Merle, P., Moha, N., & Guéhéneuc, Y. In Sheng, M., Stroulia, E., & Tata, S., editors, Proceedings of the 14<sup>th</sup> International Conference on Service Oriented Computing (ICSOC), pages 157–170, October, 2016. Springer. 13 pages.Paper abstract bibtex Cloud computing is currently the most popular model to offer and access computational resources and services. Many cloud providers use the REST architectural style (Representational State Transfer) for offering such computational resources. However, these cloud providers face challenges when designing and exposing REST APIs that are easy to handle by end-users and/or developers. Yet, they benefit from best practices to help them design understandable and reusable REST APIs. However, these best practices are scattered in the literature and they have not be studied systematically on real-world APIs. Consequently, we propose two contributions. In our first contribution, we survey the literature and compile a catalog of 73 best practices in the design of REST APIs making APIs more understandable and reusable. In our second contribution, we perform a study of three different and well-known REST APIs from three cloud providers to investigate how their APIs are offered and accessed. These cloud providers are Google Cloud Platform, OpenStack, and Open Cloud Computing Interface (OCCI). In particular, we evaluate the coverage of the features provided by the REST APIs of these cloud providers and their conformance with the best practices for REST APIs design. Our results show that Google Cloud follows 66% (48/73), OpenStack follows 62% (45/73), and OCCI 1.2 follows 56% (41/73) of the best practices. Second, although these numbers are not necessarily high, partly because of the strict and precise specification of best practices, we showed that cloud APIs reach an acceptable level of maturity.
@INPROCEEDINGS{Petrillo16-ICSOC-CloudRestAPIs,
author = {F{\'a}bio Petrillo and Philippe Merle and Naouel Moha and Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc},
title = {Are {REST} {API}s for Cloud Computing Well-Designed? An Exploratory Study},
booktitle = {Proceedings of the 14<sup>{th}</sup> International Conference on Service Oriented Computing ({ICSOC})},
year = {2016},
month = {October},
editor = {Michael Sheng and Eleni Stroulia and Samir Tata},
publisher = {Springer},
note = {13 pages.},
abstract = {
Cloud computing is currently the most popular model to offer and access
computational resources and services. Many cloud providers use the REST
architectural style (Representational State Transfer) for offering such
computational resources. However, these cloud providers face challenges when
designing and exposing REST APIs that are easy to handle by end-users and/or
developers. Yet, they benefit from best practices to help them design
understandable and reusable REST APIs. However, these best practices are
scattered in the literature and they have not be studied systematically on
real-world APIs. Consequently, we propose two contributions. In our first
contribution, we survey the literature and compile a catalog of 73 best
practices in the design of REST APIs making APIs more understandable and
reusable. In our second contribution, we perform a study of three different
and well-known REST APIs from three cloud providers to investigate how their
APIs are offered and accessed. These cloud providers are Google Cloud
Platform, OpenStack, and Open Cloud Computing Interface (OCCI). In
particular, we evaluate the coverage of the features provided by the REST
APIs of these cloud providers and their conformance with the best practices
for REST APIs design. Our results show that Google Cloud follows 66\%
(48/73), OpenStack follows 62\% (45/73), and OCCI 1.2 follows 56\% (41/73) of
the best practices. Second, although these numbers are not necessarily high,
partly because of the strict and precise specification of best practices, we
showed that cloud APIs reach an acceptable level of maturity.},
grant = {NSERC DG and CRC on Software Patterns},
keywords = {Code and design smells ; ICSOC},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/ICSOC16a.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/ICSOC16a.ppt.pdf},
pages = {157--170}
}
Downloads: 0
{"_id":"AXmDiQ3X9QiKrgkwe","bibbaseid":"petrillo-merle-moha-guhneuc-arerestapisforcloudcomputingwelldesignedanexploratorystudy-2016","downloads":0,"creationDate":"2018-01-17T20:29:42.193Z","title":"Are REST APIs for Cloud Computing Well-Designed? An Exploratory Study","author_short":["Petrillo, F.","Merle, P.","Moha, N.","Guéhéneuc, Y."],"year":2016,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Fábio"],"propositions":[],"lastnames":["Petrillo"],"suffixes":[]},{"firstnames":["Philippe"],"propositions":[],"lastnames":["Merle"],"suffixes":[]},{"firstnames":["Naouel"],"propositions":[],"lastnames":["Moha"],"suffixes":[]},{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]}],"title":"Are REST APIs for Cloud Computing Well-Designed? An Exploratory Study","booktitle":"Proceedings of the 14<sup>th</sup> International Conference on Service Oriented Computing (ICSOC)","year":"2016","month":"October","editor":[{"firstnames":["Michael"],"propositions":[],"lastnames":["Sheng"],"suffixes":[]},{"firstnames":["Eleni"],"propositions":[],"lastnames":["Stroulia"],"suffixes":[]},{"firstnames":["Samir"],"propositions":[],"lastnames":["Tata"],"suffixes":[]}],"publisher":"Springer","note":"13 pages.","abstract":"Cloud computing is currently the most popular model to offer and access computational resources and services. Many cloud providers use the REST architectural style (Representational State Transfer) for offering such computational resources. However, these cloud providers face challenges when designing and exposing REST APIs that are easy to handle by end-users and/or developers. Yet, they benefit from best practices to help them design understandable and reusable REST APIs. However, these best practices are scattered in the literature and they have not be studied systematically on real-world APIs. Consequently, we propose two contributions. In our first contribution, we survey the literature and compile a catalog of 73 best practices in the design of REST APIs making APIs more understandable and reusable. In our second contribution, we perform a study of three different and well-known REST APIs from three cloud providers to investigate how their APIs are offered and accessed. These cloud providers are Google Cloud Platform, OpenStack, and Open Cloud Computing Interface (OCCI). In particular, we evaluate the coverage of the features provided by the REST APIs of these cloud providers and their conformance with the best practices for REST APIs design. Our results show that Google Cloud follows 66% (48/73), OpenStack follows 62% (45/73), and OCCI 1.2 follows 56% (41/73) of the best practices. Second, although these numbers are not necessarily high, partly because of the strict and precise specification of best practices, we showed that cloud APIs reach an acceptable level of maturity.","grant":"NSERC DG and CRC on Software Patterns","keywords":"Code and design smells ; ICSOC","kind":"MISA","language":"english","url":"http://www.ptidej.net/publications/documents/ICSOC16a.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/ICSOC16a.ppt.pdf","pages":"157–170","bibtex":"@INPROCEEDINGS{Petrillo16-ICSOC-CloudRestAPIs,\n author = {F{\\'a}bio Petrillo and Philippe Merle and Naouel Moha and Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc},\n title = {Are {REST} {API}s for Cloud Computing Well-Designed? An Exploratory Study},\n booktitle = {Proceedings of the 14<sup>{th}</sup> International Conference on Service Oriented Computing ({ICSOC})},\n year = {2016},\n month = {October},\n editor = {Michael Sheng and Eleni Stroulia and Samir Tata},\n publisher = {Springer},\n note = {13 pages.},\n abstract = {\nCloud computing is currently the most popular model to offer and access\ncomputational resources and services. Many cloud providers use the REST\narchitectural style (Representational State Transfer) for offering such\ncomputational resources. However, these cloud providers face challenges when\ndesigning and exposing REST APIs that are easy to handle by end-users and/or\ndevelopers. Yet, they benefit from best practices to help them design\nunderstandable and reusable REST APIs. However, these best practices are\nscattered in the literature and they have not be studied systematically on\nreal-world APIs. Consequently, we propose two contributions. In our first\ncontribution, we survey the literature and compile a catalog of 73 best\npractices in the design of REST APIs making APIs more understandable and\nreusable. In our second contribution, we perform a study of three different\nand well-known REST APIs from three cloud providers to investigate how their\nAPIs are offered and accessed. These cloud providers are Google Cloud\nPlatform, OpenStack, and Open Cloud Computing Interface (OCCI). In\nparticular, we evaluate the coverage of the features provided by the REST\nAPIs of these cloud providers and their conformance with the best practices\nfor REST APIs design. Our results show that Google Cloud follows 66\\%\n(48/73), OpenStack follows 62\\% (45/73), and OCCI 1.2 follows 56\\% (41/73) of\nthe best practices. Second, although these numbers are not necessarily high,\npartly because of the strict and precise specification of best practices, we\nshowed that cloud APIs reach an acceptable level of maturity.},\n grant = {NSERC DG and CRC on Software Patterns},\n keywords = {Code and design smells ; ICSOC},\n kind = {MISA},\n language = {english},\n url = {http://www.ptidej.net/publications/documents/ICSOC16a.doc.pdf},\n pdf = {http://www.ptidej.net/publications/documents/ICSOC16a.ppt.pdf},\n pages = {157--170}\n}\n\n","author_short":["Petrillo, F.","Merle, P.","Moha, N.","Guéhéneuc, Y."],"editor_short":["Sheng, M.","Stroulia, E.","Tata, S."],"key":"Petrillo16-ICSOC-CloudRestAPIs","id":"Petrillo16-ICSOC-CloudRestAPIs","bibbaseid":"petrillo-merle-moha-guhneuc-arerestapisforcloudcomputingwelldesignedanexploratorystudy-2016","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ICSOC16a.doc.pdf"},"keyword":["Code and design smells ; ICSOC"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0,"html":""},"search_terms":["rest","apis","cloud","computing","well","designed","exploratory","study","petrillo","merle","moha","guéhéneuc"],"keywords":["code and design smells ; icsoc"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4","KfXmPhaoCuAwjS2aX","SCHo5ZZkXuxNNaMME"]}