Submit Search
Upload
Composing REST APIs with JOpera Mashup Tool
•
5 likes
•
996 views
AI-enhanced title
C
Cesare Pautasso
Follow
Software Composition 2009
Read less
Read more
Technology
Business
Report
Share
Report
Share
1 of 31
Recommended
Composing REST Services
Composing REST Services
Cesare Pautasso
RESTful Service Composition with JOpera
RESTful Service Composition with JOpera
Cesare Pautasso
Techniques for Composing REST services - SOA Symposium 2009
Techniques for Composing REST services - SOA Symposium 2009
Cesare Pautasso
Composing REST Services
Composing REST Services
elliando dias
BPM with REST
BPM with REST
Cesare Pautasso
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
jtimberman
SOA2010 SOA with REST
SOA2010 SOA with REST
Cesare Pautasso
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
Cesare Pautasso
Recommended
Composing REST Services
Composing REST Services
Cesare Pautasso
RESTful Service Composition with JOpera
RESTful Service Composition with JOpera
Cesare Pautasso
Techniques for Composing REST services - SOA Symposium 2009
Techniques for Composing REST services - SOA Symposium 2009
Cesare Pautasso
Composing REST Services
Composing REST Services
elliando dias
BPM with REST
BPM with REST
Cesare Pautasso
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
jtimberman
SOA2010 SOA with REST
SOA2010 SOA with REST
Cesare Pautasso
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
Cesare Pautasso
Building a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talk
dotCloud
Building a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and Salt
Docker, Inc.
SOA with REST
SOA with REST
Cesare Pautasso
WS-* vs. RESTful Services
WS-* vs. RESTful Services
Cesare Pautasso
Atomic Transactions for the REST of us
Atomic Transactions for the REST of us
Cesare Pautasso
Mule ESB - Integration Simplified
Mule ESB - Integration Simplified
Rich Software
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
Cesare Pautasso
Building a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and Salt
baremetal
Philly Spring UG Roo Overview
Philly Spring UG Roo Overview
krimple
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
Guillaume Laforge
BPMN for REST
BPMN for REST
Cesare Pautasso
Cloud Foundry Bootcamp
Cloud Foundry Bootcamp
Joshua Long
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Cesare Pautasso
Rewire the Net
Rewire the Net
Davide Eynard
Www2008 Restws Pautasso Talk
Www2008 Restws Pautasso Talk
Kalyan Vijay Kumar Pasumarthi
SOA/SCA FraScAti
SOA/SCA FraScAti
Inria
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
Thomas Pham
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The Question
Duncan Hull
Why Memcached?
Why Memcached?
Gear6
Bicocca Restws Pautasso Talk
Bicocca Restws Pautasso Talk
Kalyan Vijay Kumar Pasumarthi
Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
Cesare Pautasso
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
Cesare Pautasso
More Related Content
Similar to Composing REST APIs with JOpera Mashup Tool
Building a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talk
dotCloud
Building a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and Salt
Docker, Inc.
SOA with REST
SOA with REST
Cesare Pautasso
WS-* vs. RESTful Services
WS-* vs. RESTful Services
Cesare Pautasso
Atomic Transactions for the REST of us
Atomic Transactions for the REST of us
Cesare Pautasso
Mule ESB - Integration Simplified
Mule ESB - Integration Simplified
Rich Software
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
Cesare Pautasso
Building a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and Salt
baremetal
Philly Spring UG Roo Overview
Philly Spring UG Roo Overview
krimple
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
Guillaume Laforge
BPMN for REST
BPMN for REST
Cesare Pautasso
Cloud Foundry Bootcamp
Cloud Foundry Bootcamp
Joshua Long
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Cesare Pautasso
Rewire the Net
Rewire the Net
Davide Eynard
Www2008 Restws Pautasso Talk
Www2008 Restws Pautasso Talk
Kalyan Vijay Kumar Pasumarthi
SOA/SCA FraScAti
SOA/SCA FraScAti
Inria
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
Thomas Pham
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The Question
Duncan Hull
Why Memcached?
Why Memcached?
Gear6
Bicocca Restws Pautasso Talk
Bicocca Restws Pautasso Talk
Kalyan Vijay Kumar Pasumarthi
Similar to Composing REST APIs with JOpera Mashup Tool
(20)
Building a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talk
Building a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and Salt
SOA with REST
SOA with REST
WS-* vs. RESTful Services
WS-* vs. RESTful Services
Atomic Transactions for the REST of us
Atomic Transactions for the REST of us
Mule ESB - Integration Simplified
Mule ESB - Integration Simplified
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
Building a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and Salt
Philly Spring UG Roo Overview
Philly Spring UG Roo Overview
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
BPMN for REST
BPMN for REST
Cloud Foundry Bootcamp
Cloud Foundry Bootcamp
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Rewire the Net
Rewire the Net
Www2008 Restws Pautasso Talk
Www2008 Restws Pautasso Talk
SOA/SCA FraScAti
SOA/SCA FraScAti
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
If Web Services are the Answer, What's The Question
If Web Services are the Answer, What's The Question
Why Memcached?
Why Memcached?
Bicocca Restws Pautasso Talk
Bicocca Restws Pautasso Talk
More from Cesare Pautasso
Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
Cesare Pautasso
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
Cesare Pautasso
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?
Cesare Pautasso
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC Theorem
Cesare Pautasso
The Blockchain as a Software Connector
The Blockchain as a Software Connector
Cesare Pautasso
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
Cesare Pautasso
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
Cesare Pautasso
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process Execution
Cesare Pautasso
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service Geografici
Cesare Pautasso
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
Cesare Pautasso
USI SCUBE Associate Member
USI SCUBE Associate Member
Cesare Pautasso
Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)
Cesare Pautasso
Mashups09
Mashups09
Cesare Pautasso
Scientific and Grid Workflow Management (SGS09)
Scientific and Grid Workflow Management (SGS09)
Cesare Pautasso
Mashup Ecosystem
Mashup Ecosystem
Cesare Pautasso
Mashup Atelier
Mashup Atelier
Cesare Pautasso
MetaCDN
MetaCDN
Cesare Pautasso
Internet Mashups
Internet Mashups
Cesare Pautasso
More from Cesare Pautasso
(18)
Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC Theorem
The Blockchain as a Software Connector
The Blockchain as a Software Connector
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process Execution
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service Geografici
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
USI SCUBE Associate Member
USI SCUBE Associate Member
Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)
Mashups09
Mashups09
Scientific and Grid Workflow Management (SGS09)
Scientific and Grid Workflow Management (SGS09)
Mashup Ecosystem
Mashup Ecosystem
Mashup Atelier
Mashup Atelier
MetaCDN
MetaCDN
Internet Mashups
Internet Mashups
Recently uploaded
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Alan Dix
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Recently uploaded
(20)
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Composing REST APIs with JOpera Mashup Tool
1.
Composing RESTful Services with
JOpera Cesare Pautasso Software Composition 2009 Zurich, Switzerland 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 1
2.
Composing RESTful Services
with JOpera Cesare Pautasso Faculty of Informatics University of Lugano (USI), Switzerland http://www.pautasso.info http://www.jopera.org 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 2
3.
Web Service Composition
Today Composition Language WS-BPEL 2.0 Component Model WSDL 1.1 The WS-BPEL process model is layered on top of the service model defined by WSDL 1.1. […] Both the process and its partners are exposed as WSDL services [BPEL 2.0 Standard, Section 3] 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 3
4.
RESTful Web Services
APIs… WSDL 1.1 …do not use WSDL 1.1 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 4
5.
Our Goal
Compose RESTful Web Services into Mashups 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 5
6.
Web 2.0 Mashups
Software Composition for the Web A mashup is a web application that combines data or functionality from two or more external sources to create a new service [Wikipedia] 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 6
7.
Example Mashup with
RESTful Web Services + + = 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 7
8.
Our Goal
Compose RESTful Web Services into Mashups Our Current Solution: JOpera Workflow-based, Visual Composition Language Abstract and Extensible Component Model Eclipse-based Integrated Composition Environment 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 8
9.
Agenda Motivation REST
Introduction (one slide) Composing RESTful services Demo: Doodle Map Mashup with JOpera Challenges Discussion 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 9
10.
REST in one
slide PUT Web Services expose their data and functionality trough GET R resources identified by URI POST DELETE Uniform Interface: Clients interact with the state of resources through 4 verbs: GET (read), POST (create), PUT (update), DELETE Multiple representations for the same resource Hyperlinks model resource relationships, valid state transitions and interaction protocols 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 10
11.
REST design elements
Resources are published by Origin Servers Proxy/Gateways for caching, access control, adaptation HTTP User Agent Origin Server HTTP HTTP User Agent Proxy/Gateway Origin Server 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 11
12.
What about composition?
The basic design elements of the REST architectural style do not take composition into account HTTP User Agent Origin Server Origin Server User Agent HTTP Composite ? HTTP Origin Server RESTful service Origin Server 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 12
13.
Composite Resources
DELETE PUT GET C DELETE DELETE POST PUT PUT GET R GET S POST POST 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 13
14.
Doodle Map Mashup
Setup a Doodle with Yahoo! Local search and visualize the results of the poll on Google Maps 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 14
15.
Doodle Map Composite
Resources Client Composite Component Web Browser Resources Resources M GET Y GET PUT POST GET P GET D POST GET G 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 15
16.
Doodle Map Architecture
Web Browser JOpera RESTful Engine Web Services GET APIs POST GET POST GET RESTful API RESTful API 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 16
17.
Demo 2 July 2009
©2009 Cesare Pautasso | www.pautasso.info 17
18.
Modeling the Composition
in JOpera Control Data Flow Flow Service Bindings JAVA XPATH XSLT HTML HTTP … 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 18
19.
Control Flow
Control Flow Dependency 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 19
20.
Data Flow
Data Flow (Copy) 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 20
21.
Service Bindings
HTTP HTML XSLT XPATH JAVA … 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 21
22.
Composition and REST:
Some Challenges Resource addressing through URI How to interact with dynamic, variable set of URI? Uniform Interface (GET, POST, PUT, DELETE) Is this a new composition technique? Multiple resource representations Resource data type may only be known at run-time How to negotiate the most appropriate representation format? Hyperlinks Can the state of a composition be bookmarked? 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 22
23.
Resource Addressing through
URI How to interact with dynamic, variable set of URI? 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 23
24.
Uniform Interface (GET,
POST, PUT, DELETE) Is this a new composition technique? Easy to configure the HTTP method in the adapter Hard to handle failure/idempotency semantics 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 24
25.
Multiple Resource Representations
Resource data type may only be known at run-time How to negotiate the most appropriate representation format? Set HTTP Headers (Accept) 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 25
26.
Hyperlinks Can the
state of a composition be bookmarked? Follow hyperlinks Generate hyperlinks 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 26
27.
Composition and REST:
More Challenges Missing Interface Description How to compose services without machine readable interface descriptions? Request correlation How to ensure stateless communication with the right instance of a composition? Caching/Idempotency Verification and Testing 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 27
28.
Conclusion Business Process
Modeling Languages have been applied with success to compose “traditional” WS-* Web Services Business Process Modeling Languages should also be applied to compose RESTful Web Services JOpera for Eclipse is a visual process modeling tool with an extensible engine for composing both kinds of services (and many more) into Web 2.0 mashups 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 28
29.
Composing RESTful Services
with JOpera Cesare Pautasso Faculty of Informatics University of Lugano (USI), Switzerland http://www.pautasso.info www.jopera.org 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 29
30.
PhD positions available!
Prof. Cesare Pautasso University of Lugano, Switzerland c.pautasso@ieee.org http://www.pautasso.info 2.7.2009 30 ©2008 Cesare Pautasso
31.
Mashups09 @ OOPSLA
http://www.mashup-oopsla.org/ 3rd International Workshop on Web APIs and Services Mashups 2 July 2009 ©2009 Cesare Pautasso | www.pautasso.info 31