RESTful Web Processing Service Theodor Foerster, Andre Bruehl, Bastian Schaeffer AGILE 2011, Utrecht, the Netherlands
Why RESTful WPS? <ul><li>Representational State Transfer (Fielding, 2000) </li></ul><ul><ul><li>RESTful Web Services are a...
Web-based Geoprocessing <ul><li>Data   Information </li></ul>GetCapabilities Execute WPS Process 1 Process 2 Process n De...
REST – architectural style <ul><li>“ ... a hybrid style derived from several of the network-based architectural styles [.....
REST for Geo <ul><li>Services available </li></ul><ul><ul><li>Google, Yahoo, GeoCommons, etc. </li></ul></ul><ul><li>Docum...
Design approach <ul><li>Identify resources </li></ul><ul><ul><li>What are the relevant resources? </li></ul></ul><ul><li>L...
Resources <ul><li>Links & navigation </li></ul><ul><li>Jobs & processes </li></ul>
HTTP verbs - Examples <ul><li>Perform process </li></ul><ul><ul><li>GET: processes/[process_ID]?[parameters] </li></ul></u...
Representations <ul><li>ATOM, KML, GML, OGC WPS, JSON </li></ul><ul><li>Example – processes/buffer </li></ul>
WPS Compatibility <ul><li>Processes modelled as resources </li></ul><ul><li>OGC WPS return formats possible through conten...
Implementation
Client <ul><li>JavaScript & RESTful APIs </li></ul>
Humanitarian relief workflow <ul><li>Evaluating campsites for medical access </li></ul><ul><ul><li>Inspired by OGC testbed...
Qualitative evaluation <ul><li>Addressability </li></ul><ul><ul><li>Each process & job is a resource and addressed via URL...
Discussion & Outlook <ul><li>Difference to ESRI GeoServices </li></ul><ul><li>Towards modular specifications at OGC </li><...
Conclusion <ul><li>REST is a hot topic </li></ul><ul><ul><li>GeoWeb & APIs </li></ul></ul><ul><li>Process as a resource </...
Thanks for your attention! <ul><li>swsl.uni-muenster.de </li></ul><ul><li>Theodor Foerster </li></ul><ul><li>[email_addres...
Upcoming SlideShare
Loading in …5
×

RESTful Web Processing Service

2,975 views

Published on

Presentation held at AGILE 2011 based on the paper by:

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,975
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
21
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

RESTful Web Processing Service

  1. 1. RESTful Web Processing Service Theodor Foerster, Andre Bruehl, Bastian Schaeffer AGILE 2011, Utrecht, the Netherlands
  2. 2. Why RESTful WPS? <ul><li>Representational State Transfer (Fielding, 2000) </li></ul><ul><ul><li>RESTful Web Services are available </li></ul></ul><ul><ul><li>For mapping & data </li></ul></ul><ul><ul><li>GeoWeb & Mashups </li></ul></ul><ul><ul><li>Producers = Consumers </li></ul></ul><ul><li>Processing missing, but essential </li></ul><ul><ul><li>Seamless integration </li></ul></ul><ul><ul><li>OGC WPS compatibility </li></ul></ul>
  3. 3. Web-based Geoprocessing <ul><li>Data  Information </li></ul>GetCapabilities Execute WPS Process 1 Process 2 Process n DescribeProcess
  4. 4. REST – architectural style <ul><li>“ ... a hybrid style derived from several of the network-based architectural styles [...] and combined with additional constraints that define a uniform connector interface.” (Fielding, 2000) </li></ul><ul><li>REST properties </li></ul><ul><ul><li>Addressability, statelessness, connectedness, uniform interface </li></ul></ul><ul><li>Resources accessible through URLs </li></ul><ul><li>HTTP Verbs </li></ul><ul><ul><li>GET, POST, PUT, DELETE,… </li></ul></ul><ul><li>Hypermedia approach </li></ul><ul><li>Representations & content negotiation </li></ul>
  5. 5. REST for Geo <ul><li>Services available </li></ul><ul><ul><li>Google, Yahoo, GeoCommons, etc. </li></ul></ul><ul><li>Documents & specifications too </li></ul>
  6. 6. Design approach <ul><li>Identify resources </li></ul><ul><ul><li>What are the relevant resources? </li></ul></ul><ul><li>Link resources </li></ul><ul><ul><li>How does the client navigate between the resources? </li></ul></ul><ul><li>Interaction with HTTP verbs </li></ul><ul><ul><li>How to build the functionality </li></ul></ul><ul><li>Multiple representations for the resources </li></ul><ul><ul><li>Which are the relevant representations? </li></ul></ul>
  7. 7. Resources <ul><li>Links & navigation </li></ul><ul><li>Jobs & processes </li></ul>
  8. 8. HTTP verbs - Examples <ul><li>Perform process </li></ul><ul><ul><li>GET: processes/[process_ID]?[parameters] </li></ul></ul><ul><li>Jobs </li></ul><ul><ul><li>POST: processes/[process_ID]/jobs </li></ul></ul><ul><ul><li>GET: processes/[process_ID]/jobs </li></ul></ul><ul><li>Job </li></ul><ul><ul><li>GET: processes/[process_ID]/jobs/[job_ID] </li></ul></ul><ul><ul><li>DELETE: processes/[process_ID]/jobs/[job_ID] </li></ul></ul>
  9. 9. Representations <ul><li>ATOM, KML, GML, OGC WPS, JSON </li></ul><ul><li>Example – processes/buffer </li></ul>
  10. 10. WPS Compatibility <ul><li>Processes modelled as resources </li></ul><ul><li>OGC WPS return formats possible through content negotiation </li></ul><ul><li>OGC WPS functionality fully reflected </li></ul><ul><ul><li>Process by reference </li></ul></ul><ul><ul><li>Synchronous & asynchronous processing </li></ul></ul>
  11. 11. Implementation
  12. 12. Client <ul><li>JavaScript & RESTful APIs </li></ul>
  13. 13. Humanitarian relief workflow <ul><li>Evaluating campsites for medical access </li></ul><ul><ul><li>Inspired by OGC testbed </li></ul></ul><ul><li>GeoCommons </li></ul><ul><ul><li>Medical facilities </li></ul></ul><ul><ul><li>Campsites </li></ul></ul><ul><li>Interactive & client-based chaining </li></ul><ul><ul><li>Buffer, intersection & symDifference </li></ul></ul>
  14. 14. Qualitative evaluation <ul><li>Addressability </li></ul><ul><ul><li>Each process & job is a resource and addressed via URL </li></ul></ul><ul><li>Statelessness </li></ul><ul><ul><li>Required information available at runtime </li></ul></ul><ul><li>Connectedness </li></ul><ul><ul><li>Resources are connected </li></ul></ul><ul><li>Uniform interface </li></ul><ul><ul><li>HTTP </li></ul></ul>
  15. 15. Discussion & Outlook <ul><li>Difference to ESRI GeoServices </li></ul><ul><li>Towards modular specifications at OGC </li></ul><ul><li>Incorporating WPS-T </li></ul><ul><li>Link to open linked data to be investigated </li></ul>
  16. 16. Conclusion <ul><li>REST is a hot topic </li></ul><ul><ul><li>GeoWeb & APIs </li></ul></ul><ul><li>Process as a resource </li></ul><ul><li>Seamless integration through REST </li></ul><ul><li>OGC compatibility </li></ul><ul><li>Humanitarian relief use case </li></ul>
  17. 17. Thanks for your attention! <ul><li>swsl.uni-muenster.de </li></ul><ul><li>Theodor Foerster </li></ul><ul><li>[email_address] </li></ul>

×