Skip to main content

Modeling Microservice Conversations with RESTalk

  • Chapter
  • First Online:
Microservices

Abstract

Microservices are characterized by their small size and low degree of coupling. As a consequence, building microservice architectures requires composing multiple microservices and determine how they interact to achieve a given client’s goal. In this chapter we introduce the concept of RESTful conversation, whereby clients or API gateways perform multiple basic HTTP request/response interactions with one or more microservice APIs. To represent possible sequences of interactions, we introduce the RESTalk visual notation, as well as its textual DSL, and the corresponding metamodel, and show how it can be used to complement existing structural approaches to represent RESTful APIs, such as the OpenAPI Specification. To reveal the degree of coupling between clients and microservices, the language supports the concept of hyperlink flow, showing whether, within a conversation, the links embedded into responses provided by a microservice are used by the client/API gateway to form the subsequent requests.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. N. Alshuqayran, N. Ali, R. Evans, A systematic mapping study in microservice architecture, in 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA) (IEEE, Piscataway, 2016), pp. 44–51

    Book  Google Scholar 

  2. M. Amundsen, Building Hypermedia APIs with HTML5 and Node (O’Reilly, Beijing, 2011)

    Google Scholar 

  3. B. Benatallah, F. Casati, F. Toumani, Web service conversation modeling: a cornerstone for e-business automation. IEEE Internet Comput. 8(1), 46–54 (2004)

    Article  Google Scholar 

  4. M. Brambilla, J. Cabot, M. Wimmer, Model-Driven Software Engineering in Practice (Morgan & Claypool Publishers, San Rafael, 2017)

    Google Scholar 

  5. M. Cohn, User Stories Applied: For Agile Software Development (Addison-Wesley Professional, Boston, 2004)

    Google Scholar 

  6. S. Daya, N. Van Duy, K. Eati, C.M. Ferreira, D. Glozic, V. Gucer, M. Gupta, S. Joshi, V. Lampkin, M. Martins, et al. Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach (IBM Redbooks, Poughkeepsie, 2016)

    Google Scholar 

  7. P. de Lange, P. Nicolaescu, R. Klamma, M. Jarke, Engineering web applications using real-time collaborative modeling, in CYTED-RITOS International Workshop on Groupware (Springer, Berlin, 2017), pp. 213–228

    Google Scholar 

  8. N. Dragoni, S. Giallorenzo, A.L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, Microservices: yesterday, today, and tomorrow, in Present and Ulterior Software Engineering (Springer, Berlin, 2017), pp. 195–216

    Book  Google Scholar 

  9. H. Ed-Douibi, J.L. Cánovas Izquierdo, J. Cabot, Example-driven web api specification discovery, in European Conference on Modelling Foundations and Applications (Springer, Berlin, 2017), pp. 267–284

    Google Scholar 

  10. G. Granchelli, M. Cardarelli, P. Di Francesco, I. Malavolta, L. Iovino, A. Di Salle, Towards recovering the software architecture of microservice-based systems, in 2017 IEEE International Conference on Software Architecture Workshops (ICSAW) (IEEE, Piscataway, 2017), pp. 46–53

    Google Scholar 

  11. J. Gregorio, R. Fielding, M. Hadley, M. Nottingham, D. Orchard, URI Template (2012). Request for Comments: 6570

    Google Scholar 

  12. F. Haupt, F. Leymann, C. Pautasso, A conversation based approach for modeling REST APIs, in Proceeding of the 12th Working IEEE/IFIP Conference on Software Architecture (WICSA 2015), Montreal, Canada (2015)

    Google Scholar 

  13. F. Haupt, F. Leymann, K. Vukojevic-Haupt, API governance support through the structural analysis of rest APIS. Comput. Sci. Res. Dev. 33(3), 291–303 (2018)

    Article  Google Scholar 

  14. G. Hohpe, Let’s have a conversation. IEEE Internet Comput. 11(3), 78–81 (2007)

    Article  Google Scholar 

  15. A. Ivanchikj, RESTful conversation with RESTalk -the use case of doodle-, in Proceedings of the International Conference on Web Engineering (ICWE’16) (Springer, Berlin, 2016), pp. 583–587

    Google Scholar 

  16. A. Ivanchikj, C. Pautasso, Sketching process models by mining participant stories, in International Conference on Business Process Management (Springer, Berlin, 2019), pp. 3–19

    Google Scholar 

  17. A. Ivanchikj, C. Pautasso, S. Schreier, Visual modeling of restful conversations with restalk. J. Softw. Syst. Model. 17, 1–21 (2016)

    Google Scholar 

  18. A. Ivanchikj, I. Gjorgjiev, C. Pautasso, Restalk miner: mining restful conversations, pattern discovery and matching, in International Conference on Service-Oriented Computing (Springer, Berlin, 2018), pp. 470–475

    Google Scholar 

  19. A. Ivanchikj, C. Pautasso, S. Schreier, Visual modeling of RESTful conversations with RESTalk. Softw. Syst. Model. 17(3), 1031–1051 (2018)

    Article  Google Scholar 

  20. P. Jamshidi, C. Pahl, N.C. Mendonça, J. Lewis, S. Tilkov, Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)

    Article  Google Scholar 

  21. D. Jordan, J. Evdemon, Business Process Model and Notation Version 2.0 (OMG, Needham, 2011). http://www.omg.org/spec/BPMN/2.0/

  22. P. Karwatka, M. Gil, M. Grabowski, A. Graf, P. Jedrzejewski, M. Kurzeja, A. Orfin, B. Picho, Microsevice Architecture for eCommerce (2017). https://divante.co/books/PDFy/microservices-architecture-for-ecommerce.pdf

  23. H. Knoche, W. Hasselbring, Drivers and barriers for microservice adoption–a survey among professionals in germany. Enterp. Model. Inf. Syst. Archit. (EMISAJ) 14, 1–1 (2019)

    Google Scholar 

  24. D. Malavalli, S. Sathappan, Scalable microservice based architecture for enabling DMTF profiles, in 2015 11th International Conference on Network and Service Management (CNSM) (IEEE, Piscataway, 2015), pp. 428–432

    Google Scholar 

  25. S. Newman, Building Microservices (O’Reilly, Sebastopol, 2015)

    Google Scholar 

  26. A. Nikaj, S. Mandal, C. Pautasso, M. Weske, From choreography diagrams to RESTful interactions, in Proceeding of the 11th International Workshop on Engineering Service-Oriented Applications (WESOA) (2015), pp. 3–14

    Google Scholar 

  27. S. Patanjali, B. Truninger, P. Harsh, T.M. Bohnert, Cyclops: a micro service based approach for dynamic rating, charging & billing for cloud, in 2015 13th International Conference on Telecommunications (ConTEL) (IEEE, Piscataway, 2015), pp. 1–8

    Google Scholar 

  28. C. Richardson, Microservices Patterns: With Examples in Java (Manning, Shelter Island, 2018)

    Google Scholar 

  29. L. Richardson, M. Amundsen, S. Ruby, RESTful Web APIs (O’Reilly, Sebastopol, 2013)

    Google Scholar 

  30. T. Steiner, J. Algermissen, Fulfilling the Hypermedia constraint via HTTP OPTIONS, the HTTP vocabulary in RDF, and link headers, in Proceedings of the Second International Workshop on RESTful Design (ACM, New York, 2011), pp. 11–14

    Google Scholar 

  31. R. Thomas Fielding, Architectural Styles and the Design of Network-based Software Architectures, PhD thesis, University of California, Irvine, 2000

    Google Scholar 

  32. G. Toffetti, S. Brunner, M. Blöchlinger, F. Dudouet, A. Edmonds, An architecture for self-managing microservices, in Proceedings of the 1st International Workshop on Automated Incident Management in Cloud (ACM, New York, 2015), pp. 19–24

    Google Scholar 

  33. W. van der Aalst, Process Mining: Discovery, Conformance and Enhancement of Business Processes (Springer, Berlin, 2011)

    Book  Google Scholar 

  34. M. Völter, M. Kircher, U. Zdun, Remoting Patterns: Foundations of Enterprise, Internet and Realtime Distributed Object Middleware (Wiley, Hoboken, 2013)

    Google Scholar 

  35. O. Zimmermann, Microservices tenets. Comput. Sci. Res. Dev. 32(3), 301–310 (2017)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana Ivanchikj .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ivanchikj, A., Pautasso, C. (2020). Modeling Microservice Conversations with RESTalk. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31646-4_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31645-7

  • Online ISBN: 978-3-030-31646-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics