Advertisement

Example-Driven Web API Specification Discovery

  • Hamza Ed-douibi
  • Javier Luis Cánovas Izquierdo
  • Jordi Cabot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10376)

Abstract

REpresentational State Transfer (REST) has become the dominant approach to design Web APIs nowadays, resulting in thousands of public REST Web APIs offering access to a variety of data sources (e.g., open-data initiatives) or advanced functionalities (e.g., geolocation services). Unfortunately, most of these APIs do not come with any specification that developers (and machines) can rely on to automatically understand and integrate them. Instead, most of the time we have to rely on reading its ad-hoc documentation web pages, despite the existence of languages like Swagger or, more recently, OpenAPI that developers could use to formally describe their APIs. In this paper we present an example-driven discovery process that generates model-based OpenAPI specifications for REST Web APIs by using API call examples. A tool implementing our approach and a community-driven repository for the discovered APIs are also presented.

Keywords

REST web APIs Discovery process OpenAPI Repository 

Notes

Acknowledgment

This work has been supported by the Spanish government (TIN2016-75944-R project).

References

  1. 1.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, San Rafael (2012)Google Scholar
  2. 2.
    Brambilla, M., Fraternali, P., et al.: The Interaction Flow Modeling Language (IFML). Technical report, Object Management Group (OMG) (2014)Google Scholar
  3. 3.
    Cabot, J., Gogolla, M.: Object constraint language (OCL): a definitive guide. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 58–90. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-30982-3_3 CrossRefGoogle Scholar
  4. 4.
    Cánovas Izquierdo, J.L., Cabot, J.: JSONDiscoverer: visualizing the schema lurking behind JSON documents. Knowl.-Based Syst. 103, 52–55 (2016)CrossRefGoogle Scholar
  5. 5.
    Frankle, J., Osera, P.M., Walker, D., Zdancewic, S.: Example-directed synthesis: a type-theoretic interpretation. In: ACM Symposium on Principles of Programming Languages, pp. 802–815 (2016)Google Scholar
  6. 6.
    Hadley, M.J.: Web Application Description Language (WADL). Technical report (2006)Google Scholar
  7. 7.
    Klettke, M., Störl, U., Scherzinger, S., Regensburg, O.: Schema extraction and structural outlier detection for JSON-based NoSQL data stores. In: Conference on Database Systems for Business, Technology, and Web, pp. 425–444 (2015)Google Scholar
  8. 8.
    López-Fernández, J.J., Cuadrado, J.S., Guerra, E., de Lara, J.: Example-driven meta-model development. Softw. Syst. Model. 14(4), 1323–1347 (2015)CrossRefGoogle Scholar
  9. 9.
    Motahari-Nezhad, H.R., Saint-Paul, R., Casati, F., Benatallah, B.: Event correlation for process discovery from web service interaction logs. Inter. J. Very Large Data Bases 20(3), 417–444 (2011)CrossRefGoogle Scholar
  10. 10.
    Nierstrasz, O., Kobel, M., Girba, T., Lanza, M.: Example-driven reconstruction of software models. In: European Conference on Software Maintenance and Reengineering, pp. 275–286 (2007)Google Scholar
  11. 11.
    Pautasso, C., Zimmermann, O., Leymann, F.: RESTful web services vs. “Big” web services. In: International Conference on World Wide Web, pp. 805–814 (2008)Google Scholar
  12. 12.
    Pezoa, F., Reutter, J.L., Suarez, F., Ugarte, M., Vrgoč, D.: Foundations of JSON schema. In: International Conference on World Wide Web, pp. 263–273 (2016)Google Scholar
  13. 13.
    Quarteroni, S., Brambilla, M., Ceri, S.: A bottom-up, knowledge-aware approach to integrating and querying web data services. ACM Trans. Web 7(4), 19–33 (2013)CrossRefGoogle Scholar
  14. 14.
    Rodriguez Mier, P., Pedrinaci, C., Lama, M., Mucientes, M.: An integrated semantic web service discovery and composition framework. IEEE Trans. Serv. Comput. 9(4), 537–550 (2015)CrossRefGoogle Scholar
  15. 15.
    Ruiz, D.S., Morales, S.F., Molina, J.G.: Inferring versioned schemas from NoSQL databases and its applications. In: International Conference on Conceptual Modeling, pp. 467–480 (2015)Google Scholar
  16. 16.
    Schmidt, C., Parashar, M.: A peer-to-peer approach to web service discovery. In: International Conference on World Wide Web, pp. 211–229 (2004)Google Scholar
  17. 17.
    Serrour, B., Gasparotto, D.P., Kheddouci, H., Benatallah, B.: Message correlation and business protocol discovery in service interaction logs. In: Bellahsène, Z., Léonard, M. (eds.) CAiSE 2008. LNCS, vol. 5074, pp. 405–419. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-69534-9_31 CrossRefGoogle Scholar
  18. 18.
    Sohan, S., Anslow, C., Maurer, F.: SpyREST: automated RESTful API documentation using an HTTP proxy server (N). In: International Conference on Automated Software Engineering, pp. 271–276 (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.UOCBarcelonaSpain
  2. 2.ICREABarcelonaSpain

Personalised recommendations