Faculty of Informatics, University of Lugano School of Information, UC Berkeley

Introduction

From SOA to REST:
Designing and Implementing RESTful Services
[./]
Tutorial at ICWE 2009 [http://icwe2009.webengineering.org/] (San Sebastián, Spain)

Cesare Pautasso (Faculty of Informatics, University of Lugano)
Erik Wilde (School of Information, UC Berkeley)

June 22, 2009

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Cesare Pautasso: Introduction

Contents

Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(2) Abstract

This introduction presents the schedule, the tutorial presenters, and some background for the tutorial. Specifically, we briefly mention all the *OA terms that have been invented in recent years, such as SOA (Services), ROA (Resources), WOA (Web), SynOA (Syndication), and EOA (Event), and set them into context. Our main goal is to explain our notion of SOA for the purpose of this tutorial, and what we perceive as the core tasks when moving from SOA to REST.



Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(3) Schedule



Presenters

Outline (Presenters)

  1. Presenters [2]
  2. *OA Overload [8]
Presenters Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(5) Cesare Pautasso

usi-complete.png

Presenters Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(6) Erik Wilde

ischool-logo.png

*OA Overload

Outline (*OA Overload)

  1. Presenters [2]
  2. *OA Overload [8]
*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(8) SOA and REST



*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(9) What is SOA?

  1. Alignment of business objectives and IT
    • can be implemented with any architecture, technology, products
    • SOA explained like this is more for business-oriented people
    • this definition is not within the realm of technical terms
  2. Technical architecture (interfaces are exposing services)
    • focus on IT and the idea of services as the main abstraction
    • still little guidance on how exactly a service is identified and exposed
    • this definition is in the right space, but often highly underspecified
  3. SOA as the high-level explanation for WS-* Web Services [http://en.wikipedia.org/wiki/Web_service]
    • this is how SOA as a buzzword started (SOA as architecture for Web Services)
    • most SOA products are focusing on this (overly narrow) view of Web Services
    • this definition has too many implicit decisions built-in


*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(10) From SOA to REST



*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(11) What are Web Services?

Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

Web Services Architecture, W3C Working Group Note, February 11, 2004 [http://www.w3.org/TR/ws-arch/#whatis]



*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(12) Resource Oriented Architecture (ROA)

RESTful Web Services

*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(13) Web Oriented Architecture (WOA)



*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(14) Syndication Oriented Architecture (SynOA)



*OA Overload Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(15) Event Oriented Architecture (EOA)



Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(16) Conclusions



Cesare Pautasso: Introduction
hotspot/hotspot/layout/ischool+usi/usi+ischool.png

(17) Schedule



June 22, 2009 From SOA to REST:
Designing and Implementing RESTful Services
[./]
Tutorial at ICWE 2009 [http://icwe2009.webengineering.org/] (San Sebastián, Spain)