Skip to content
Cesare Pautasso edited this page Jul 16, 2016 · 6 revisions

Cesare Pautasso is associate professor at the USI Faculty of Informatics. He's interested in RESTful business process management, atomic distributed transactions over REST APIs and RESTful conversation patterns and email anti-patterns

Proposed Talks

Title RESTful Conversation Patterns
Level 1 hour (including discussion)
Abstract RESTful conversations are a sequence of multiple HTTP request-response interactions. During a conversation, clients interact with one or more resources, whose state may evolve during the conversation, to achieve their goal. In this talk we present ten conversation patterns we have uncovered within real-world APIs (e.g., Server-side redirection, resource collection traversal, long running request, POST-PUT creation as well as the good old POST once exactly -- and a few others: partial resource editing, basic resource authentication and form-based authentication). We will discuss how the RESTful conversation patterns we have collected can help API designers deal with recurring problems that can only be solved when clients perform more than one basic HTTP interaction with their API.
Supplemental
  • http://restalk-patterns.org
  • Cesare Pautasso, Ana Ivanchikj, Silvia Schreier, A Pattern Language for RESTful Conversations, EuroPloP 2016 (to appear)
  • Ana Ivanchikj, Cesare Pautasso, and Silvia Schreier. Visual Modeling of RESTful Conversations with RESTalk: an Exploratory Survey. Journal of Software and Systems Modeling May 2016. doi
  • Florian Haupt, Frank Leymann, and Cesare Pautasso, A conversation based approach for modeling REST APIs, 12th Working IEEE / IFIP Conference on Software Architecture (WICSA 2015), Montreal, Canada, May, 2015.
Title A RESTful Conversation for Distributed Atomic Transactions
Level 15 Minutes
Abstract The REST architectural style supports the reliable interaction of clients with a single server. However, no guarantees can be made for more complex interactions which require to atomically transfer state among resources distributed across multiple servers. In this paper we describe a lightweight design for transactional composition of RESTful services. The approach -- based on the Try-Cancel/Confirm (TCC) pattern -- does not require any extension to the HTTP protocol. The design assumes that resources are designed to comply with the TCC pattern and ensures that the resources involved in the transaction are not aware of it. It delegates the responsability of achieving the atomicity of the transaction to a coordinator which exposes a RESTful API.
Supplemental
Clone this wiki locally