A Pattern Language for RESTful Conversations

TitleA Pattern Language for RESTful Conversations
Publication TypeConference Paper
Year of Publication2016
AuthorsCesare Pautasso, Ana Ivanchikj, and Silvia Schreier
Conference NameProceedings of the 21st European Conference on Pattern Languages of Programs (EuroPLoP)
Conference LocationKloster Irsee, Germany
Keywordsconversation composition, conversation patterns, pattern language, RESTalk, RESTful conversation, RESTful web services

As a good user interface design is important for the success of an app, so is a good API for the success of a Web service. Within the RESTful Web services community there is a need for a systematic approach in knowledge sharing, for which patterns are particularly suitable. Using a RESTful service to achieve a certain goal often requires multiple client-server interactions, i.e., to have a conversation. While patterns of such RESTful conversations can be uncovered from existing APIs' usage scenarios, or the service engineering literature, they have never been gathered in a pattern language, nor properly visualized with a Domain Specific Modeling Language (DSML). These patterns provide valuable input for API designers, as well as API consumers, by establishing a common vocabulary to describe recurring conversations. To do so, this paper uses RESTalk, a DSML, to model the basic RESTful conversation patterns structured around the life cycle of a resource (create, discover, read, edit, delete, protect) by showing the corresponding sequences of HTTP request-response interactions. We show how the resulting pattern language can be applied to individual resources, or also collections of resources.

Citation Keyrestalk:2016:europlop
Refereed DesignationRefereed