Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

A conversation based approach for modeling REST APIs

Florian Haupt, Frank Leymann and Cesare Pautasso






Modeling RESTful Web APIs


GET /booking/42?payment HTTP/1.1
HTTP/1.1 302
Link: </payment?booking=42>; rel="payment"
GET /payment?booking=42 HTTP/1.1
HTTP/1.1 200


POST /slow HTTP/1.1
HTTP/1.1 202 Accepted
Location: /slow/42


GET /slow/42
HTTP/1.1 200


GET /slow/42
HTTP/1.1 303 See Other
Location: /result/42
GET /result/42
HTTP/1.1 200


GET / HTTP/1.1
HTTP/1.1 302
Location: /blog
GET /blog HTTP/1.1
HTTP/1.1 200
Link: </blog/add>; rel="create"
POST /blog/add HTTP/1.1
Slug: my post
HTTP/1.1 201 Created
Location: /blog/my-post/

RESTful Conversation

abstraction to simplify descriptions
of RESTful Web APIs

Model-Driven Service Engineering

F. Haupt, D. Karastoyanova, F. Leymann, and B. Schroth, A model-driven approach for REST compliant services, IEEE International Conference on Web Services (ICWS), IEEE, 2014.

Atomic Resource Model

Composite Resource Model

"Collection" is a conversation type aggregating multiple interactions with one or more resources.

The conversation type can be reused and instantiated multiple times across the API description

Conversation Types

Next Steps


Send your suggestions to c.pautasso@ieee.org

Ack: Gregor Hohpe, Silvia Schreier, Guy Pardon, Ana Ivanchikj

Use a spacebar or arrow keys to navigate