SlideShare a Scribd company logo
1 of 22
Download to read offline
Outline    Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion




            A RESTful architecture for integrating
          decomposable delayed services within the
                      Web of Things

          Andreas Ruppen, Jacques Pasquier, Tony Hürlimann
                  {firstname.lastname}@unifr.ch
                                     University of Fribourg
                                  Department of Informatics
                                 Software Engineering Group




                                     December, 2011

                                                                                                  1/22
Outline     Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion




      1   Introduction


      2   Generic Architecture


      3   RESTifying a Service


      4   Validation


      5   Conclusion




                                                                                                   2/22
Outline   Introduction    Generic Architecture   RESTifying a Service     Validation   Conclusion



                    Web of Things
                    Our Vision




                                                                        SunSPOT




                                       Internet Of Things
                smart
                Thing

                                                                   Arduino




                                                                                                    3/22
Outline           Introduction         Generic Architecture   RESTifying a Service           Validation           Conclusion



                            Web of Things
                            Our Vision



                                                                       RESTful Services
                                                SunSPOT
                                                                             REST
                                                                                                   statelessnes

                          Internet Of Things                            HTTP
          smart
          Thing                                                                             HATEOAS

                                               Arduino
                                                                                     addressable




                                                                                                                               4/22
Outline   Introduction           Generic Architecture            RESTifying a Service                    Validation   Conclusion



                      Web of Things
                      Our Vision




                                                                   RESTful Services
                                               SunSPOT
                                                                        REST
                                                                                          statelessnes

                         Internet Of Things                         HTTP
              smart
              Thing                                                                HATEOAS

                                              Arduino
                                                                            addressable




                                                        Web Of Things




                                                                                                                                   5/22
Outline   Introduction                   Generic Architecture                RESTifying a Service   Validation              Conclusion



                    Web of Things
                    Our Vision




                                                             RESTful Services
                                          SunSPOT
                                                                   REST
                                                                                    statelessnes

                    Internet Of Things                        HTTP
           smart
           Thing                                                             HATEOAS

                                         Arduino                                                                 Services
                                                                      addressable




                                                   Web Of Things




                                                                                                                                         6/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Motivating Example
                    The parcel delivery center

          A parcel delivery center deals each day with a big number
          of parcels.
          Parcels are arriving during the day.
          Parcels received the day before are distributed to
          customers.
          The central has a fixed number of trucks.
          Over night an optimal route to deliver the parcels has to be
          found.
          This routing takes into consideration:
                the number of available trucks and
                the priority of each parcel.



                                                                                                  7/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Preliminary considerations
                    Lessons learned from the motivating example

          Resources that appear and disappear are very much in the
          spirit of the WoT.
          We want a RESTful solution.
          The service has no physical representation.
          The service is asynchronous.
          The solution decomposes itself in sub-solutions.




                                                                                                  8/22
Outline    Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion



                     WoT Services
                     Taxonomy

      Services can roughly be classified into four categories:
          Short-living services.
          Real-time services.
          Delayed services.
          Complex-delayed services.




                                                                                                  9/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Preliminary considerations
                    Architectural starting point

          The approach proposed by Richardson et al. for simple
          delayed services is a good starting point.
          The only resources bound to the service are the tasks and
          the task queue.
          As stated by Richardson these tasks are not a state which
          is transferred to the server but a new resource available on
          the server.
          The service is invoked by creating a new task or by
          consulting an existing task.




                                                                                                  10/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Architecture
                    Relation between Tasks

          A sub-task always relates to a parent-taks.
          A parent-task can have zero or more sub-tasks.
          This observation motivates the choice of the following URI
          scheme:
                http://example.com/tasks/ ⇒ List of tasks
                http://example.com/tasks/1/ ⇒ Details of task 1
                http://example.com/tasks/1/5 ⇒ Details of sub-task 5
                ...




                                                                                                  11/22
Outline    Introduction   Generic Architecture   RESTifying a Service   Validation    Conclusion



                     Architecture
                     The Task Model

      All such services have in common that the ongoing task is
      represented by a Task object. We can define a set of minimal
      properties composing a Task:

                                                                A unique id
                                                                A user id
                                                                The result
                                                                The input
                                                                The status
                                                                The start- and end-time
                                                                A short log messages
                                                                A list of sub-tasks
                                                                                                   12/22
Outline    Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion



                     Architecture
                     Semantics

      According to the specification of RESTful services, standard
      CRUD methods are implemented. However in the case of
      decomposable delayed services, it is important to note that:
          POST creates a new Task. The server should immediately
          respond with a 202 Accepted.
          PUT is used to abort a task (and its eventually sub-tasks).
          DELETE has to make sure that first all sub-tasks are
          aborted and second that the delete is cascading.
          GET should allow to filter for most of the fields of a Task.




                                                                                                  13/22
Outline   Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion



                    RESTifying a Service




                                                             Services can be
                                                             re-used.
                                                             Even not RESTful ones.
                                                             They can be restified.




                                                                                                 14/22
Outline   Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion



                    RESTifying a Services




                                                                                                 15/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Validating Example
                    The parcel delivery center

          Given a big parcel delivery center which has to deliver
          parcel to its customers.
          Each parcel has an assigned priority representing an
          additional constraint on the delivery time.
          All parcels received during the day, will be distributed the
          next day respecting the priorities.
          Upon arriving at the parcel delivery center, each parcel is
          scanned and added to the distribution list.
          This is a well know problem in operations-research: The
          Vehicle Routing Problem with Time Window (VRP-TW)
          which consists of finding an optimal set of routes
          performed by a fleet of vehicles respecting the delivery
          time constraints.
                                                                                                  16/22
Outline    Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion



                     Validating Example
                     Vehicle Routing Problem with Time Window (VRP-TW)


      Definition (VRP-TW)
      Given n locations numbered from 1 to n, we want to deliver
      good to each customer in a given time-window using k
      vehicles, all starting at the central (location 1) and return to the
      central using the shortest distances possible.

          The problem is solved in two steps:
                 Partitioning all the customer 2 to n into k subgroups.
                 Finding the shortest path with respect to the time-windows
                 for each subgroup.




                                                                                                  17/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Validating Example
                    Vehicle Routing Problem with Time Window (VRP-TW) — Solution




                                                                                                  18/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Validating Example
                    Vehicle Routing Problem with Time Window (VRP-TW) — Solution




                                                                                                  19/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Validating Example
                    Vehicle Routing Problem with Time Window (VRP-TW) — Solution




                                                                                                  20/22
Outline   Introduction    Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Validating Example
                    Vehicle Routing Problem with Time Window (VRP-TW) — Solution

          Suppose the central has to deliver 199 customer in a given
          region during a given day.
          Starting in the morning at 5h00, each of the four postmen
          visits a subset of all customers.
          Suppose furthermore, that each customer is in a group of
          “express”, “normal” or “slow” delivery.
          “express” means that the item has to be delivered no later
          than 9h25, “normal” no later than 11h05 and “slow” till
          16h00.
          The partitioning takes 10min.
          Each of the 4 routings takes 20min.



                                                                                                  21/22
Outline   Introduction   Generic Architecture   RESTifying a Service   Validation   Conclusion



                    Conclusion
          We identified the challenging problem of integrating
          decomposable delayed service into the WoT.
          We propose a reference architecture for such services.
          We showed how existing services can made be available
          to the Web of Things.
          Finally we validated our findings with a prototypal
          implementation.




                                                                                                 22/22

More Related Content

Similar to A RESTful architecture for integrating decomposable delayed services within the Web of Things

Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationIcws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationFreddy Lecue
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkThomas Pham
 
Architecture for Collaborative Business Items
Architecture for Collaborative Business ItemsArchitecture for Collaborative Business Items
Architecture for Collaborative Business ItemsTill Riedel
 
Venus-c: Using open source clouds in eScience
Venus-c: Using open source clouds in eScienceVenus-c: Using open source clouds in eScience
Venus-c: Using open source clouds in eScienceOW2
 
HP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 LaunchHP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 Launchgrahamwright
 
Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Attune Infocom Pvt Ltd
 
20091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 520091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 5Arian Zwegers
 
Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJuniper Networks
 
Auto DCR building plan approval-nov2012
Auto DCR building plan approval-nov2012Auto DCR building plan approval-nov2012
Auto DCR building plan approval-nov2012SoftTech Engineers
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAIMC Institute
 
20080422 Overview of ICT research in Software & Services
20080422 Overview of ICT research in Software & Services20080422 Overview of ICT research in Software & Services
20080422 Overview of ICT research in Software & ServicesArian Zwegers
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network ServiceLew Tucker
 
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012OpenCity Community
 
Play with cloud foundry
Play with cloud foundryPlay with cloud foundry
Play with cloud foundryPeng Wan
 
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event SlidedeckNavantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event SlidedeckNavantis
 
CCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCICCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCIbefreax
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0lgradina
 
IoT Day 2013 - Madrid
IoT Day 2013 - MadridIoT Day 2013 - Madrid
IoT Day 2013 - Madridwaltercolitti
 
IT Modernization and Cloud Computing
IT Modernization and Cloud ComputingIT Modernization and Cloud Computing
IT Modernization and Cloud ComputingBarry Gervin
 
Value Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric NetworkingValue Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric NetworkingTapio Levä
 

Similar to A RESTful architecture for integrating decomposable delayed services within the Web of Things (20)

Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationIcws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
 
Architecture for Collaborative Business Items
Architecture for Collaborative Business ItemsArchitecture for Collaborative Business Items
Architecture for Collaborative Business Items
 
Venus-c: Using open source clouds in eScience
Venus-c: Using open source clouds in eScienceVenus-c: Using open source clouds in eScience
Venus-c: Using open source clouds in eScience
 
HP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 LaunchHP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 Launch
 
Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)
 
20091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 520091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 5
 
Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, Innovation
 
Auto DCR building plan approval-nov2012
Auto DCR building plan approval-nov2012Auto DCR building plan approval-nov2012
Auto DCR building plan approval-nov2012
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
20080422 Overview of ICT research in Software & Services
20080422 Overview of ICT research in Software & Services20080422 Overview of ICT research in Software & Services
20080422 Overview of ICT research in Software & Services
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
 
Play with cloud foundry
Play with cloud foundryPlay with cloud foundry
Play with cloud foundry
 
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event SlidedeckNavantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
 
CCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCICCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCI
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0
 
IoT Day 2013 - Madrid
IoT Day 2013 - MadridIoT Day 2013 - Madrid
IoT Day 2013 - Madrid
 
IT Modernization and Cloud Computing
IT Modernization and Cloud ComputingIT Modernization and Cloud Computing
IT Modernization and Cloud Computing
 
Value Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric NetworkingValue Networks and Business Models of Information-centric Networking
Value Networks and Business Models of Information-centric Networking
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

A RESTful architecture for integrating decomposable delayed services within the Web of Things

  • 1. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion A RESTful architecture for integrating decomposable delayed services within the Web of Things Andreas Ruppen, Jacques Pasquier, Tony Hürlimann {firstname.lastname}@unifr.ch University of Fribourg Department of Informatics Software Engineering Group December, 2011 1/22
  • 2. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion 1 Introduction 2 Generic Architecture 3 RESTifying a Service 4 Validation 5 Conclusion 2/22
  • 3. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Web of Things Our Vision SunSPOT Internet Of Things smart Thing Arduino 3/22
  • 4. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Web of Things Our Vision RESTful Services SunSPOT REST statelessnes Internet Of Things HTTP smart Thing HATEOAS Arduino addressable 4/22
  • 5. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Web of Things Our Vision RESTful Services SunSPOT REST statelessnes Internet Of Things HTTP smart Thing HATEOAS Arduino addressable Web Of Things 5/22
  • 6. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Web of Things Our Vision RESTful Services SunSPOT REST statelessnes Internet Of Things HTTP smart Thing HATEOAS Arduino Services addressable Web Of Things 6/22
  • 7. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Motivating Example The parcel delivery center A parcel delivery center deals each day with a big number of parcels. Parcels are arriving during the day. Parcels received the day before are distributed to customers. The central has a fixed number of trucks. Over night an optimal route to deliver the parcels has to be found. This routing takes into consideration: the number of available trucks and the priority of each parcel. 7/22
  • 8. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Preliminary considerations Lessons learned from the motivating example Resources that appear and disappear are very much in the spirit of the WoT. We want a RESTful solution. The service has no physical representation. The service is asynchronous. The solution decomposes itself in sub-solutions. 8/22
  • 9. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion WoT Services Taxonomy Services can roughly be classified into four categories: Short-living services. Real-time services. Delayed services. Complex-delayed services. 9/22
  • 10. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Preliminary considerations Architectural starting point The approach proposed by Richardson et al. for simple delayed services is a good starting point. The only resources bound to the service are the tasks and the task queue. As stated by Richardson these tasks are not a state which is transferred to the server but a new resource available on the server. The service is invoked by creating a new task or by consulting an existing task. 10/22
  • 11. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Architecture Relation between Tasks A sub-task always relates to a parent-taks. A parent-task can have zero or more sub-tasks. This observation motivates the choice of the following URI scheme: http://example.com/tasks/ ⇒ List of tasks http://example.com/tasks/1/ ⇒ Details of task 1 http://example.com/tasks/1/5 ⇒ Details of sub-task 5 ... 11/22
  • 12. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Architecture The Task Model All such services have in common that the ongoing task is represented by a Task object. We can define a set of minimal properties composing a Task: A unique id A user id The result The input The status The start- and end-time A short log messages A list of sub-tasks 12/22
  • 13. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Architecture Semantics According to the specification of RESTful services, standard CRUD methods are implemented. However in the case of decomposable delayed services, it is important to note that: POST creates a new Task. The server should immediately respond with a 202 Accepted. PUT is used to abort a task (and its eventually sub-tasks). DELETE has to make sure that first all sub-tasks are aborted and second that the delete is cascading. GET should allow to filter for most of the fields of a Task. 13/22
  • 14. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion RESTifying a Service Services can be re-used. Even not RESTful ones. They can be restified. 14/22
  • 15. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion RESTifying a Services 15/22
  • 16. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Validating Example The parcel delivery center Given a big parcel delivery center which has to deliver parcel to its customers. Each parcel has an assigned priority representing an additional constraint on the delivery time. All parcels received during the day, will be distributed the next day respecting the priorities. Upon arriving at the parcel delivery center, each parcel is scanned and added to the distribution list. This is a well know problem in operations-research: The Vehicle Routing Problem with Time Window (VRP-TW) which consists of finding an optimal set of routes performed by a fleet of vehicles respecting the delivery time constraints. 16/22
  • 17. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Validating Example Vehicle Routing Problem with Time Window (VRP-TW) Definition (VRP-TW) Given n locations numbered from 1 to n, we want to deliver good to each customer in a given time-window using k vehicles, all starting at the central (location 1) and return to the central using the shortest distances possible. The problem is solved in two steps: Partitioning all the customer 2 to n into k subgroups. Finding the shortest path with respect to the time-windows for each subgroup. 17/22
  • 18. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Validating Example Vehicle Routing Problem with Time Window (VRP-TW) — Solution 18/22
  • 19. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Validating Example Vehicle Routing Problem with Time Window (VRP-TW) — Solution 19/22
  • 20. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Validating Example Vehicle Routing Problem with Time Window (VRP-TW) — Solution 20/22
  • 21. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Validating Example Vehicle Routing Problem with Time Window (VRP-TW) — Solution Suppose the central has to deliver 199 customer in a given region during a given day. Starting in the morning at 5h00, each of the four postmen visits a subset of all customers. Suppose furthermore, that each customer is in a group of “express”, “normal” or “slow” delivery. “express” means that the item has to be delivered no later than 9h25, “normal” no later than 11h05 and “slow” till 16h00. The partitioning takes 10min. Each of the 4 routings takes 20min. 21/22
  • 22. Outline Introduction Generic Architecture RESTifying a Service Validation Conclusion Conclusion We identified the challenging problem of integrating decomposable delayed service into the WoT. We propose a reference architecture for such services. We showed how existing services can made be available to the Web of Things. Finally we validated our findings with a prototypal implementation. 22/22