Advertisement

Designing API for Using Publicly Accessible Data Sets

  • Tomasz GórskiEmail author
  • Ewa Wojtach
Conference paper
Part of the Topics in Intelligent Engineering and Informatics book series (TIEI, volume 15)

Abstract

The paper explores two aspects of using data which is shared in clouds. First of all, authors present steps of data preprocessing which allow the usage of nearly each data source available in public data sets. Authors give hints in which situations it is recommended using replication and synchronization mechanisms. Furthermore, authors discuss possible ways of publishing own API from middleware tier for client application, mainly REST API, GraphQL and OData. Static REST API gives more control of the way the data is being queried. On the other hand, if you have many different client applications making use of data the GraphQL gives much more flexibility for API usage. OData gives common way query, filter and structure response data but adheres to server domain model. Our findings can be useful by organizations while exposing new data sets for public usage. Moreover, the authors summarize the paper and outline directions for further work.

Keywords

Data sets Data sharing Application programming interface (API) REST API GraphQL OData 

References

  1. 1.
    Badii, C., Bellini, P., Cenni, D., Difino, A., Nesi, P., Paolucci, M.: Analysis and assessment of a knowledge based smart city architecture providing service APIs. Futur. Gener. Comput. Syst. 75, 14–29 (2017)CrossRefGoogle Scholar
  2. 2.
    Brito, G., Hora, A., Valente, M.T., Robbes, R.: On the use of replacement messages in API deprecation: an empirical study. J. Syst. Softw. 137, 306–321 (2018)CrossRefGoogle Scholar
  3. 3.
    Byars, B.: Enterprise integration using REST. https://martinfowler.com/articles/enterpriseREST.html
  4. 4.
    Douzis, K., Sotiriadis, S., Petrakis, E.G.M., Amza, C.: Modular and generic IoT management on the cloud. Futur. Gener. Comput. Syst. 78, 369–378 (2018)CrossRefGoogle Scholar
  5. 5.
    Espinha, T., Zaidman, A., Gross, H.: Web API growing pains: loosely coupled yet strongly tied. J. Syst. Softw. 100, 27–43 (2015)CrossRefGoogle Scholar
  6. 6.
    Fielding, R.T., Taylor, R.N.: Principled design of the modern web architecture. ACM Trans. Internet Technol. 2(2), 115–150 (2012)CrossRefGoogle Scholar
  7. 7.
    Gaur, A., Scotney, B., Parr, G., McClean, S.: Smart city architecture and its applications based on IoT, the 5th international symposium on internet of ubiquitous and pervasive things (IUPT 2015). Procedia Comput. Sci. 52, 1089–1094 (2015)CrossRefGoogle Scholar
  8. 8.
    Górski, T.: UML profiles for architecture description of an integration platform. Bull. Mil.Y Univ. Technol., LXI I(2), 43–56 (2013)Google Scholar
  9. 9.
    Jezek, K., Dietrich, J., Brada, P.: How java APIs break an empirical study. Inf. Softw. Technol. 65, 129–146 (2015)CrossRefGoogle Scholar
  10. 10.
    Kim, D., Choi, Y.: A two-step approach for pattern-based API-call constraint checking. Sci. Comput. Program. 163, 19–41 (2018)CrossRefGoogle Scholar
  11. 11.
    Mayvan, B.B., Rasoolzadegan, A., Yazdi, Z.G.: The state of the art on design patterns: a systematic mapping of the literature. J. Syst. Softw. 125, 93–118 (2017)CrossRefGoogle Scholar
  12. 12.
    Mosqueira-Rey, E., Alonso-Ríos, D., Moret-Bonillo, V., Fernández-Varela, I., Álvarez-Estévez, D.: A systematic approach to API usability: taxonomy-derived criteria and a case study. Inf. Softw. Technol. 97, 46–63 (2018)CrossRefGoogle Scholar
  13. 13.
    Niu, H., Keivanloo, I., Zou, Y.: API usage pattern recommendation for software development. J. Syst. Softw. 129, 127–139 (2017)CrossRefGoogle Scholar
  14. 14.
    Postel J.: Transmission control protocol. IETF, RFC 761 (1980)Google Scholar
  15. 15.
    Qiu, D., Li, B., Leung, H.: Understanding the API usage in java. Inf. Softw. Technol. 73, 81–100 (2016)CrossRefGoogle Scholar
  16. 16.
    Requirements for Internet Hosts – Communication Layers. https://tools.ietf.org/html/rfc1122 RFC 1122 (1989)
  17. 17.
    Salman, H.E.: Identification multi-level frequent usage patterns from APIs. J. Syst. Softw. 130, 42–56 (2017)CrossRefGoogle Scholar
  18. 18.
    Santos, A.L., Myers, B.: Design annotations to improve API discoverability. J. Syst. Softw. 126, 17–33 (2017)CrossRefGoogle Scholar
  19. 19.
    Scheller, T., Kühn, E.: Automated measurement of API usability: the API concepts framework. Inf. Softw. Technol. 61, 145–162 (2015)CrossRefGoogle Scholar
  20. 20.
    White, G., Nallur, V., Clarke, S.: Quality of service approaches in IoT: a systematic mapping. J. Syst. Softw. 132, 186–203 (2017)CrossRefGoogle Scholar
  21. 21.
    Xu, C., Sun, X., Li, B., Lu, X., Guo, H.: MULAPI: improving API method recommendation with API usage location. J. Syst. Softw. 142, 195–205 (2018)CrossRefGoogle Scholar
  22. 22.
  23. 23.
  24. 24.
  25. 25.

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Institute of Computer and Information Systems, Faculty of CyberneticsMilitary University of TechnologyWarsawPoland
  2. 2.IBM Polska Business Services Sp. z o.oWarsawPoland

Personalised recommendations