UML-based Model-Driven REST API Development

Davide Rossi

Abstract

In the last few years we have witnessed the expansion of REST APIs as a method to implement machine-to- machine interactions in open distributed systems. Recently REST APIs can also be found in several B2B and enterprise scenarios that were previously reserved to alternative technologies such as SOAP-based Web Services. Despite that, the development of REST-based solutions has remained mostly inspired by agile approaches with no or limited explicit modeling artifacts produced during the development process. This clashes with software development methods in which modeling artifacts are expected to be available for all developed software. Another problem is related to the resource-based nature of these APIs that miss standardized methods to discover and understand their capabilities akin to what object-oriented interfaces can do for objects and services. In this paper we propose a model-driven approach to REST API development; this approach is composed by two main steps: (i) UML modeling of the API using specific profiles and (ii) a model transformation that exploits RAML, a recent RESTful API modeling language, as an intermediate notation that can be used to automatically produce documentation and code for various languages/platforms.

References

  1. Buschmann, F., Henney, K., and Schimdt, D. (2007). Pattern-oriented Software Architecture: On Patterns and Pattern Language, volume 5. John wiley & sons.
  2. Jacobson, I., Booch, G., Rumbaugh, J., Rumbaugh, J., and Booch, G. (1999). The unified software development process, volume 1. Addison-wesley Reading.
  3. Jouault, F., Allilaire, F., B├ęzivin, J., Kurtev, I., and Valduriez, P. (2006). ATL: a QVT-like transformation language. In Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, pages 719-720. ACM.
  4. OMG (2008). MOF Model to Text Transformation Languag.
  5. OMG (2012). Service oriented architecture Modeling Language (SoaML).
  6. OMG (2015a). Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT).
  7. OMG (2015b). Unified Modeling Language (UML).
  8. Ormeno, E., Lund, M., Aballay, L., and Aciar, S. (2012). An UML profile for modeling RESTful services. In 13th Argentine Symposium on Software Engineering, ASSE 2012, pages 119-133.
  9. Pautasso, C. (2014). RESTful web services: principles, patterns, emerging technologies. In Web Services Foundations, pages 31-51. Springer.
  10. Rathod, D. M., Parikh, S. M., and Buddhadev, B. (2013). Structural and behavioral modeling of RESTful web service interface using UML. In Intelligent Systems and Signal Processing (ISSP), 2013 International Conference on, pages 28-33. IEEE.
  11. Rauf, I., Ruokonen, A., Systa, T., and Porres, I. (2010). Modeling a composite RESTful web service with UML. In Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, pages 253-260. ACM.
  12. Schmidt, D. C. (2006). Guest editor's introduction: Modeldriven engineering. Computer, 39(2):0025-31.
  13. Schreibmann, V. (2014). Design and Implementation of a Model-Driven Approach for RESTful APIs. In Proc. Fifth IEEE Germany Students Conference.
  14. Schreier, S. (2011). Modeling restful applications. In Proceedings of the second international workshop on restful design, pages 15-21. ACM.
  15. Van Deursen, A., Klint, P., and Visser, J. (2000). DomainSpecific Languages: An Annotated Bibliography.Sigplan Notices, 35(6):26-36.
  16. W3C XML Protocol Working Group (2007). Latest SOAP versions.
  17. Web Services Description Working Group (2007). Web Services Description Language (WSDL) 1.1.
Download


Paper Citation


in Harvard Style

Rossi D. (2016). UML-based Model-Driven REST API Development . In Proceedings of the 12th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-186-1, pages 194-201. DOI: 10.5220/0005906001940201


in Bibtex Style

@conference{webist16,
author={Davide Rossi},
title={UML-based Model-Driven REST API Development},
booktitle={Proceedings of the 12th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2016},
pages={194-201},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005906001940201},
isbn={978-989-758-186-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 12th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - UML-based Model-Driven REST API Development
SN - 978-989-758-186-1
AU - Rossi D.
PY - 2016
SP - 194
EP - 201
DO - 10.5220/0005906001940201