Advertisement

Towards a UML and IFML Mapping to GraphQL

  • Roberto Rodriguez-Echeverria
  • Javier Luis Cánovas Izquierdo
  • Jordi Cabot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10544)

Abstract

Web APIs have become first-class citizens on the Web, in particular, to provide a more unified access to heterogeneous data sources that organizations want to make publicly available. While REST APIs have become the norm to structure web APIs, they can be regarded as a server-side solution, offering default limited query capabilities and therefore forcing developers to implement ad-hoc solutions for clients requiring to perform complex queries on the data. Lately, GraphQL has gained popularity as a way to simplify this work. GraphQL is a query language for Web APIs specially designed to build client applications by providing an intuitive and flexible syntax for describing their data schema, requirements and interactions. In this paper we propose an approach for the generation of GraphQL schemas from UML class diagrams and IFML interaction models, two well-known standard modeling languages in the web engineering field, to facilitate the creation of web applications relying on this new GraphQL paradigm following a model-based approach. While UML is used to generate the GraphQL schema, IFML is used to derive the set of queries and modifications to be performed on that schema.

Keywords

GraphQL UML IFML Web APIs 

References

  1. 1.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Birmingham (2013)Google Scholar
  2. 2.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers, San Rafael (2012)Google Scholar
  3. 3.
    Brambilla, M., Fraternali, P.: Interaction Flow Modeling Language. Morgan Kaufmann, San Francisco (2014)Google Scholar
  4. 4.
    Ed-douibi, H., Cánovas Izquierdo, J.L., Cabot, J.: A UML profile for OData web APIs. In: Cabot, J., De Virgilio, R., Torlone, R. (eds.) ICWE 2017. LNCS, vol. 10360, pp. 420–428. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-60131-1_28 CrossRefGoogle Scholar
  5. 5.
    Fielding, R.T.: Architectural styles and the design of network-based software architectures (2000)Google Scholar
  6. 6.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  7. 7.
    Fraternali, P.: Tools and approaches for developing data-intensive web applications: a survey. ACM Comput. Surv. 31(3), 227–263 (1999)CrossRefGoogle Scholar
  8. 8.
    Herzig, D.M., Tran, T.: Heterogeneous web data search using relevance-based on the fly data integration. In: World Wide Web Conference, pp. 141–150 (2012)Google Scholar
  9. 9.
    Preda, N., Kasneci, G., Suchanek, F.M., Neumann, T., Yuan, W., Weikum, G.: Active knowledge: dynamically enriching RDF knowledge bases by web services. In: International Conference on Management of Data, pp. 399–410 (2010)Google Scholar
  10. 10.
    Quarteroni, S., Brambilla, M., Ceri, S.: A bottom-up, knowledge-aware approach to integrating and querying web data services. TWEB 7(4), 19:1–19:33 (2013)CrossRefGoogle Scholar
  11. 11.
    Rossi, G., Pastor, O., Schwabe, D., Olsina, L. (eds.): Web Engineering: Modelling and Implementing Web Applications. Human-Computer Interaction Series. Springer, Heidelberg (2008)Google Scholar
  12. 12.
    Valderas, P., Pelechano, V.: A survey of requirements specification in model-driven development of web applications. TWEB 5(2), 10 (2011)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Roberto Rodriguez-Echeverria
    • 1
  • Javier Luis Cánovas Izquierdo
    • 2
  • Jordi Cabot
    • 3
  1. 1.Quercus SEGUniversidad de ExtremaduraCáceresSpain
  2. 2.UOCBarcelonaSpain
  3. 3.ICREA – UOCBarcelonaSpain

Personalised recommendations