TEST

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

Abstractions

Microservices

Interfaces

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

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

Question

Send your suggestions to [email protected]

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

Use a spacebar or arrow keys to navigate