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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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
M. Amundsen, Building Hypermedia APIs with HTML5 and Node (O’Reilly, Beijing, 2011)
B. Benatallah, F. Casati, F. Toumani, Web service conversation modeling: a cornerstone for e-business automation. IEEE Internet Comput. 8(1), 46–54 (2004)
M. Brambilla, J. Cabot, M. Wimmer, Model-Driven Software Engineering in Practice (Morgan & Claypool Publishers, San Rafael, 2017)
M. Cohn, User Stories Applied: For Agile Software Development (Addison-Wesley Professional, Boston, 2004)
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)
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
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
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
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
J. Gregorio, R. Fielding, M. Hadley, M. Nottingham, D. Orchard, URI Template (2012). Request for Comments: 6570
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)
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)
G. Hohpe, Let’s have a conversation. IEEE Internet Comput. 11(3), 78–81 (2007)
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
A. Ivanchikj, C. Pautasso, Sketching process models by mining participant stories, in International Conference on Business Process Management (Springer, Berlin, 2019), pp. 3–19
A. Ivanchikj, C. Pautasso, S. Schreier, Visual modeling of restful conversations with restalk. J. Softw. Syst. Model. 17, 1–21 (2016)
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
A. Ivanchikj, C. Pautasso, S. Schreier, Visual modeling of RESTful conversations with RESTalk. Softw. Syst. Model. 17(3), 1031–1051 (2018)
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)
D. Jordan, J. Evdemon, Business Process Model and Notation Version 2.0 (OMG, Needham, 2011). http://www.omg.org/spec/BPMN/2.0/
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
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)
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
S. Newman, Building Microservices (O’Reilly, Sebastopol, 2015)
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
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
C. Richardson, Microservices Patterns: With Examples in Java (Manning, Shelter Island, 2018)
L. Richardson, M. Amundsen, S. Ruby, RESTful Web APIs (O’Reilly, Sebastopol, 2013)
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
R. Thomas Fielding, Architectural Styles and the Design of Network-based Software Architectures, PhD thesis, University of California, Irvine, 2000
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
W. van der Aalst, Process Mining: Discovery, Conformance and Enhancement of Business Processes (Springer, Berlin, 2011)
M. Völter, M. Kircher, U. Zdun, Remoting Patterns: Foundations of Enterprise, Internet and Realtime Distributed Object Middleware (Wiley, Hoboken, 2013)
O. Zimmermann, Microservices tenets. Comput. Sci. Res. Dev. 32(3), 301–310 (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
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)