Prof. Dr. Cesare Pautasso

A Pattern Language for RESTful Conversations

Cesare Pautasso, Ana Ivanchikj, Silvia Schreier

21st European Conference on Pattern Languages of Programs (EuroPLoP), Kloster Irsee, Germany, pp. 4:1-4:22

July 2016

Abstract

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.

Download

URL: 10.1145/3011784.3011788

ISBN: 978-1-4503-4074-8

DOI: 10.1145/3011784.3011788

PDF: ▼resttalk-EuroPLoP2016-RESTfulConversationPatterns.pdf (373KB)

Citation

Bibtex

@inproceedings{restalk:2016:europlop,
	author = {Cesare Pautasso and Ana Ivanchikj and Silvia Schreier},
	title = {A Pattern Language for RESTful Conversations},
	booktitle = {21st European Conference on Pattern Languages of Programs (EuroPLoP)},
	year = {2016},
	month = {July},
	pages = {4:1-4:22},
	publisher = {ACM},
	address = {Kloster Irsee, Germany},
	abstract = {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.},
	keywords = {conversation, conversation patterns, pattern language, RESTalk, RESTful conversation, RESTful web services},
	isbn = {978-1-4503-4074-8},
	doi = {10.1145/3011784.3011788},
	url = {10.1145/3011784.3011788}
}