SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
REST or WS-*? A Developer’s Perspective
Dominique Guinard, Iulia Ion, and Simon Mayer
MobiQuitous 2011, Copenhagen, Denmark

Simon Mayer [simon.mayer@inf.ethz.ch]
Distributed Systems Group, ETH Zurich
Motivation


 Internet of Things
        Integrating functionality from multiple smart things
         is hard: It requires expert knowledge from many domains




 Therefore: Smart Things as Service Platforms
        Provided services should be easy to compose
        Create a loosely coupled ecosystem of smart things
        Main approaches: WS-* and REST




12/8/2011                 8th International ICST Conference on Mobile and Ubiquitous Systems   2
12/8/2011   8th International ICST Conference on Mobile and Ubiquitous Systems   3
REST or WS-*? Previous                                         Comparisons


 REST and SOAP on devices with limited resources1
                                                                                     Power Consumption [mW]          Completion Time [s]




 RESTful vs. “Big” Web Services2
        REST for tactical, ad hoc integration over the Web (“Mashup”)
        WS-* in professional enterprise application integration scenarios with
         a longer lifespan and advanced QoS requirements

                                                            [1] D. Yazar and A. Dunkels: Efficient Application Integration in IP-based Sensor Networks
            [2] C. Pautasso, O. Zimmermann, and F. Leymann: RESTful Web Services vs. “Big” Web Services. Making the right architectural decision

12/8/2011                                     8th International ICST Conference on Mobile and Ubiquitous Systems                               4
REST or WS-*? Beyond                Performance


 User Acceptance: Performance is not enough, rather
  consider perceived ease of use as the key to adoption of
  an IT system

 Increasing reliance on external developers to build
  innovative services (App Store, Android Marketplace)

            Easy to learn and easy to use API is key to
            foster a broad community of developers
                  F. D. Davis: Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology
              D. Gefen and M. Keil: The Impact of Developer Responseiveness on Perceptions of Usefulness and Ease of Use

12/8/2011               8th International ICST Conference on Mobile and Ubiquitous Systems                         5
REST or WS-*? A        Developers’ Perspective


 Study to evaluate the developers’ experience when
  learning and implementing Web Service applications
        Perceived advantages & disadvantages of REST and WS-*
        Ease and speed of learning
        Perceived suitability of REST and WS-* for different scenarios


 Participants
        Computer science students (n = 69)
        Third or fourth year of Bachelor studies
        Previous knowledge: None of WS-* (89%), None of REST (62%)



12/8/2011                  8th International ICST Conference on Mobile and Ubiquitous Systems   6
Study Setup:        Data Sources


 Data Sources (quantitative and qualitative feedback)
       1. Implementation of Mobile Phone Apps                                           Teams (n = 25)
       2. Structured Questionnaire                                                      Individual (n = 69)
       3. Feedback Form                                                                 Anonymous (n = 37)

1. Implementation Task: Mobile Phone Applications (n = 25)
        Access temperature measurements on wireless sensor nodes
            a. RESTful API
            b. WS-* (WSDL + SOAP) API


        Standard libraries: Apache HTTPClient for REST, kSoap2 for WS-*

                                                                               All course material is available online: tinyurl.com/vs-material

12/8/2011                    8th International ICST Conference on Mobile and Ubiquitous Systems                                         7
Study Setup:   Data Sources




                                                                      All course material is available online: tinyurl.com/vs-material

12/8/2011           8th International ICST Conference on Mobile and Ubiquitous Systems                                         8
Study Setup:      Data Sources


2. Structured Questionnaire (n = 69)
        Qualitative: Advantages and disadvantages of REST and WS-*
        Questions related to use case scenarios and suitability of WS-* and
         REST in different domains
        Completed after finishing implementation


3. Anonymous Feedback Form (n = 37)
        Questions related to WS-* / REST ease and speed of learning
        Questions related to suitability of WS-* / REST in different domains
        Completed after finishing implementation



12/8/2011                  8th International ICST Conference on Mobile and Ubiquitous Systems   9
Results:     Overview


 Perceived advantages of each technology

 Ease and speed of learning

 Perceived suitability for use cases
        Embedded devices
        Mobile phone client applications
        Business applications




12/8/2011                  8th International ICST Conference on Mobile and Ubiquitous Systems   10
Results:      Perceived Advantages
Qualitative Results, n = 69




 REST
        Very easy to understand, learn, and implement (36 participants)
        More lightweight (27)
        More scalable (21)


 WS-*
        WSDL enables service contracts (31)
        Better security features (19)
        Better level of abstraction (11)




12/8/2011                     8th International ICST Conference on Mobile and Ubiquitous Systems   11
Results:       Ease of Learning
5 point Likert scale [1 = Not easy at all, ..., 5 = Very easy], n = 37




 “Easy” or “Very easy” to learn
        REST:           70%            18

        WS-*:
                                        16
                         11%            14
                                        12
                                        10
                                                                                                                            REST
                                         8
                                                                                                                            WS-*
                                         6
                                         4
                                         2
                                         0
                                               Not easy at all         Not easy             Average      Easy   Very easy


 Statistics (n = 19, accounted for task participation)
        REST     M = 3.85, SD = 1.09
        WS-*     M = 2.50, SD = 1.10
        REST significantly easier to learn (p < 0.001, Wilcoxon signed rank test)
12/8/2011                           8th International ICST Conference on Mobile and Ubiquitous Systems                      12
Results:       Speed of Learning
5 point Likert scale [1 = Not fast at all, ..., 5 = Very fast], n = 29




 “Fast” or “Very fast” to learn
        REST:            65%            14

        WS-*:            0%             12

                                         10

                                           8
                                                                                                                              REST
                                           6                                                                                  WS-*
                                           4

                                           2

                                           0
                                                 Not fast at all         Not fast            Average       Fast   Very fast

 Statistics (n = 14, accounted for task participation)
        REST     M = 3.43, SD = 1.09
        WS-*     M = 2.21, SD = 0.80
        REST significantly faster to learn (p < 0.009, Wilcoxon signed rank test)
12/8/2011                             8th International ICST Conference on Mobile and Ubiquitous Systems                      13
Results:      Ease and Speed of Learning
Qualitative Results, n = 37


                                                                     “Everybody who is using a browser
                                                                     already knows a little about [REST]”



 REST easier to learn because RESTful Web Services are based on
  familiar technologies such as HTTP (9)


 REST made it easier to understand what services the sensor nodes
  offer (25). This is because of the HTML interface (8)

 WSDL and SOAP are more complex to use (8)

                                                                                            “REST is easy and WS-* is
 Good that WSDL is “standard” (7)                                                           just a complicated mess.”

12/8/2011                     8th International ICST Conference on Mobile and Ubiquitous Systems                         14
Results:        Suitability for Use Cases
Qualitative Results, n = 69




 REST
           Simple applications requiring only CRUD operations (23)
           Applications where no higher security level than https is needed (8)
           Applications that present content directly to the user (6)
           REST services compose easily (14)  Web Mashups


 WS-*
        Applications that require extended security features (20)
        Requirement of strong contracts on the message format (16)




12/8/2011                     8th International ICST Conference on Mobile and Ubiquitous Systems   15
Results:      Suitability for Use Cases
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37




12/8/2011                          8th International ICST Conference on Mobile and Ubiquitous Systems   16
Results:       Suitability for Use Cases
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data




 Embedded Devices
        REST (66%), WS-* (8%)
        Reasons: REST better in heterogeneous environments, more
         lightweight (avg. footprint 17.46 kB for REST, 83.27 kB for WS-* application)
        Smart Home Sensor Network (students’ private homes)
             REST (89%), WS-* (7%)
             REST reasons: Simplicity of deployment and use (24)
             Surprisingly little security concerns in smart home environments (14)



            “Information isn’t really sensitive”




12/8/2011                          8th International ICST Conference on Mobile and Ubiquitous Systems   17
Results:      Suitability for Use Cases
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data




 Mobile Phones
        REST (53%), WS-* (16%), 32% undecided
        Reasons: REST causes less traffic (7)
        Undecided reasons: Mobile phones getting very powerful




12/8/2011                          8th International ICST Conference on Mobile and Ubiquitous Systems   18
Results:      Suitability for Use Cases
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data




 Business Applications
        WS-* (52%), REST (24%)
        WS-* Reasons: Security needs (21), better service contracts (18)
        REST Reasons: Simplicity (10), Scalability (10)




12/8/2011                          8th International ICST Conference on Mobile and Ubiquitous Systems   19
Summary


 REST:       Intuitive, flexible, lightweight
 WS-*:       Advanced security, clearer standardization,
              service contracts

 Preference for REST for learning ease and speed (significant)

 Preference for REST for embedded applications and
  applications for mobile phone clients (significant)

 Preference for WS-* for business applications (not significant)
12/8/2011            8th International ICST Conference on Mobile and Ubiquitous Systems   20
Summary




12/8/2011   8th International ICST Conference on Mobile and Ubiquitous Systems   21
Discussion


 WS-* perceived as being better suited for business
  applications: Perception bias?

 Surprisingly little security concerns for smart homes!

 REST as relatively fuzzy concept: Many wrong
  interpretations of the concept!

 Lack of formal service contracts for RESTful Web
  Services?!
12/8/2011           8th International ICST Conference on Mobile and Ubiquitous Systems   22
Acknowledgements


            Matthias Kovatsch, Web of Things team at ETH

            Students of Distributed Systems class 2010




12/8/2011                  8th International ICST Conference on Mobile and Ubiquitous Systems   23
WoT 2012
      Third International Workshop on the Web of Things
                     www.webofthings.org/wot


                Collocated with Pervasive 2012
                  June 2012, Newcastle, UK




12/8/2011           8th International ICST Conference on Mobile and Ubiquitous Systems   24

Contenu connexe

En vedette

Arthur Bodolec of Feedly on Designing With Your Ears
Arthur Bodolec of Feedly on Designing With Your EarsArthur Bodolec of Feedly on Designing With Your Ears
Arthur Bodolec of Feedly on Designing With Your EarsUserTesting
 
휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평
휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평
휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평gsidjfs
 
China banking industry market research and prospect forecast report
China banking industry market research and prospect forecast reportChina banking industry market research and prospect forecast report
China banking industry market research and prospect forecast reportQianzhan Intelligence
 
강원펜션 일본여행안내
강원펜션 일본여행안내강원펜션 일본여행안내
강원펜션 일본여행안내gsidjfs
 
全球互联网产业研究之美国游戏市场:博彩游戏篇
全球互联网产业研究之美国游戏市场:博彩游戏篇全球互联网产业研究之美国游戏市场:博彩游戏篇
全球互联网产业研究之美国游戏市场:博彩游戏篇Kou Chou
 
WordPress for Beginners
WordPress for BeginnersWordPress for Beginners
WordPress for Beginnersayman diab
 
Підручник
ПідручникПідручник
ПідручникKPG_KPG
 
Ruth Sims - Co-design to generate innovative ideas
Ruth Sims - Co-design to generate innovative ideasRuth Sims - Co-design to generate innovative ideas
Ruth Sims - Co-design to generate innovative ideasUCDUK
 
Audience Reach Measurement Guidelines 1.0
Audience Reach Measurement Guidelines 1.0Audience Reach Measurement Guidelines 1.0
Audience Reach Measurement Guidelines 1.0Leonardo Naressi
 

En vedette (11)

Arthur Bodolec of Feedly on Designing With Your Ears
Arthur Bodolec of Feedly on Designing With Your EarsArthur Bodolec of Feedly on Designing With Your Ears
Arthur Bodolec of Feedly on Designing With Your Ears
 
휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평
휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평
휴대폰결제『BU797』.『COM』미니초코볼자판기 봉평
 
Ephata 629
Ephata 629Ephata 629
Ephata 629
 
China banking industry market research and prospect forecast report
China banking industry market research and prospect forecast reportChina banking industry market research and prospect forecast report
China banking industry market research and prospect forecast report
 
강원펜션 일본여행안내
강원펜션 일본여행안내강원펜션 일본여행안내
강원펜션 일본여행안내
 
全球互联网产业研究之美国游戏市场:博彩游戏篇
全球互联网产业研究之美国游戏市场:博彩游戏篇全球互联网产业研究之美国游戏市场:博彩游戏篇
全球互联网产业研究之美国游戏市场:博彩游戏篇
 
WordPress for Beginners
WordPress for BeginnersWordPress for Beginners
WordPress for Beginners
 
Підручник
ПідручникПідручник
Підручник
 
Merry Xmas Joyeux Nöel - TLTP
Merry Xmas Joyeux Nöel - TLTPMerry Xmas Joyeux Nöel - TLTP
Merry Xmas Joyeux Nöel - TLTP
 
Ruth Sims - Co-design to generate innovative ideas
Ruth Sims - Co-design to generate innovative ideasRuth Sims - Co-design to generate innovative ideas
Ruth Sims - Co-design to generate innovative ideas
 
Audience Reach Measurement Guidelines 1.0
Audience Reach Measurement Guidelines 1.0Audience Reach Measurement Guidelines 1.0
Audience Reach Measurement Guidelines 1.0
 

Similaire à REST or WS-*? A Developer's Perspective on Easy API Design

Ieeepro techno solutions 2013 ieee embedded project design of a wsn platfor...
Ieeepro techno solutions   2013 ieee embedded project design of a wsn platfor...Ieeepro techno solutions   2013 ieee embedded project design of a wsn platfor...
Ieeepro techno solutions 2013 ieee embedded project design of a wsn platfor...srinivasanece7
 
SDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier OpportunitiesSDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier Opportunitiesrjain51
 
An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...
An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...
An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...IRJET Journal
 
Ist africa2012 alert system in case of excess drawing of ground water_1
Ist africa2012 alert system in case of excess drawing of ground water_1Ist africa2012 alert system in case of excess drawing of ground water_1
Ist africa2012 alert system in case of excess drawing of ground water_1Karel Charvat
 
insect monitoring through wsn
insect monitoring through wsninsect monitoring through wsn
insect monitoring through wsnnehasharma12345
 
Chapter 1 of insect monitoring using wsn sensor
Chapter 1 of insect monitoring using wsn sensorChapter 1 of insect monitoring using wsn sensor
Chapter 1 of insect monitoring using wsn sensornehasharma12345
 
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...cscpconf
 
Task & resource self adaptive
Task & resource self adaptiveTask & resource self adaptive
Task & resource self adaptivecsandit
 
Towards internet of things iots integration of wireless sensor network to clo...
Towards internet of things iots integration of wireless sensor network to clo...Towards internet of things iots integration of wireless sensor network to clo...
Towards internet of things iots integration of wireless sensor network to clo...IJCNCJournal
 
Context aware applications
Context aware applicationsContext aware applications
Context aware applicationsRifad Mohamed
 
Managing, searching, and accessing iot devices
Managing, searching, and accessing iot devicesManaging, searching, and accessing iot devices
Managing, searching, and accessing iot devicesIJCNCJournal
 
An Overview and Classification of Approaches to Information Extraction in Wir...
An Overview and Classification of Approaches to Information Extraction in Wir...An Overview and Classification of Approaches to Information Extraction in Wir...
An Overview and Classification of Approaches to Information Extraction in Wir...M H
 
Фреймворк промышленного интернета
Фреймворк промышленного интернетаФреймворк промышленного интернета
Фреймворк промышленного интернетаSergey Zhdanov
 
A SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSN
A SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSNA SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSN
A SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSNIAEME Publication
 
PROJECT FOR CSE BY TUSHAR DHOOT
PROJECT FOR CSE BY TUSHAR DHOOTPROJECT FOR CSE BY TUSHAR DHOOT
PROJECT FOR CSE BY TUSHAR DHOOTTushar Dhoot
 
A Survey of Various Data Communication Schemes in WSN
A Survey of Various Data Communication Schemes in WSNA Survey of Various Data Communication Schemes in WSN
A Survey of Various Data Communication Schemes in WSNIRJET Journal
 
IRJET- Energy Efficient Protocol in Wireless Sensor Network
IRJET- Energy Efficient Protocol in Wireless Sensor NetworkIRJET- Energy Efficient Protocol in Wireless Sensor Network
IRJET- Energy Efficient Protocol in Wireless Sensor NetworkIRJET Journal
 
Introduction to Network Function Virtualization (NFV)
Introduction to Network Function Virtualization (NFV)Introduction to Network Function Virtualization (NFV)
Introduction to Network Function Virtualization (NFV)rjain51
 

Similaire à REST or WS-*? A Developer's Perspective on Easy API Design (20)

Ieeepro techno solutions 2013 ieee embedded project design of a wsn platfor...
Ieeepro techno solutions   2013 ieee embedded project design of a wsn platfor...Ieeepro techno solutions   2013 ieee embedded project design of a wsn platfor...
Ieeepro techno solutions 2013 ieee embedded project design of a wsn platfor...
 
SDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier OpportunitiesSDN and NFV: Facts, Extensions, and Carrier Opportunities
SDN and NFV: Facts, Extensions, and Carrier Opportunities
 
An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...
An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...
An Improved Enhanced Real Time Routing Protocol (IERT) for Mobile Wireless Se...
 
Ist africa2012 alert system in case of excess drawing of ground water_1
Ist africa2012 alert system in case of excess drawing of ground water_1Ist africa2012 alert system in case of excess drawing of ground water_1
Ist africa2012 alert system in case of excess drawing of ground water_1
 
insect monitoring through wsn
insect monitoring through wsninsect monitoring through wsn
insect monitoring through wsn
 
Chapter 1 of insect monitoring using wsn sensor
Chapter 1 of insect monitoring using wsn sensorChapter 1 of insect monitoring using wsn sensor
Chapter 1 of insect monitoring using wsn sensor
 
Insect Mointoring
Insect MointoringInsect Mointoring
Insect Mointoring
 
Semantic Reasoning for Enabling Mobility and Context-Awareness: Application t...
Semantic Reasoning for Enabling Mobility and Context-Awareness: Application t...Semantic Reasoning for Enabling Mobility and Context-Awareness: Application t...
Semantic Reasoning for Enabling Mobility and Context-Awareness: Application t...
 
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
TASK & RESOURCE SELF-ADAPTIVE EMBEDDED REAL-TIME OPERATING SYSTEM MICROKERNEL...
 
Task & resource self adaptive
Task & resource self adaptiveTask & resource self adaptive
Task & resource self adaptive
 
Towards internet of things iots integration of wireless sensor network to clo...
Towards internet of things iots integration of wireless sensor network to clo...Towards internet of things iots integration of wireless sensor network to clo...
Towards internet of things iots integration of wireless sensor network to clo...
 
Context aware applications
Context aware applicationsContext aware applications
Context aware applications
 
Managing, searching, and accessing iot devices
Managing, searching, and accessing iot devicesManaging, searching, and accessing iot devices
Managing, searching, and accessing iot devices
 
An Overview and Classification of Approaches to Information Extraction in Wir...
An Overview and Classification of Approaches to Information Extraction in Wir...An Overview and Classification of Approaches to Information Extraction in Wir...
An Overview and Classification of Approaches to Information Extraction in Wir...
 
Фреймворк промышленного интернета
Фреймворк промышленного интернетаФреймворк промышленного интернета
Фреймворк промышленного интернета
 
A SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSN
A SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSNA SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSN
A SURVEY OF ENERGY-EFFICIENT COMMUNICATION PROTOCOLS IN WSN
 
PROJECT FOR CSE BY TUSHAR DHOOT
PROJECT FOR CSE BY TUSHAR DHOOTPROJECT FOR CSE BY TUSHAR DHOOT
PROJECT FOR CSE BY TUSHAR DHOOT
 
A Survey of Various Data Communication Schemes in WSN
A Survey of Various Data Communication Schemes in WSNA Survey of Various Data Communication Schemes in WSN
A Survey of Various Data Communication Schemes in WSN
 
IRJET- Energy Efficient Protocol in Wireless Sensor Network
IRJET- Energy Efficient Protocol in Wireless Sensor NetworkIRJET- Energy Efficient Protocol in Wireless Sensor Network
IRJET- Energy Efficient Protocol in Wireless Sensor Network
 
Introduction to Network Function Virtualization (NFV)
Introduction to Network Function Virtualization (NFV)Introduction to Network Function Virtualization (NFV)
Introduction to Network Function Virtualization (NFV)
 

Plus de Simon Mayer

Autonomous Agents for Flexible Hypermedia Systems
Autonomous Agents for Flexible Hypermedia Systems Autonomous Agents for Flexible Hypermedia Systems
Autonomous Agents for Flexible Hypermedia Systems Simon Mayer
 
WoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsSimon Mayer
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of ThingsSimon Mayer
 
Configuration of Smart Environments Made Simple
Configuration of Smart Environments Made SimpleConfiguration of Smart Environments Made Simple
Configuration of Smart Environments Made SimpleSimon Mayer
 
Semantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSemantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSimon Mayer
 
Service Integration in the Web of Things
Service Integration in the Web of ThingsService Integration in the Web of Things
Service Integration in the Web of ThingsSimon Mayer
 
Searching in a Web-based Infrastructure for Smart Things
Searching in a Web-based Infrastructure for Smart ThingsSearching in a Web-based Infrastructure for Smart Things
Searching in a Web-based Infrastructure for Smart ThingsSimon Mayer
 
A Computational Space for the Web of Things
A Computational Space for the Web of ThingsA Computational Space for the Web of Things
A Computational Space for the Web of ThingsSimon Mayer
 
Service Integration - A Web of Things Perspective
Service Integration - A Web of Things PerspectiveService Integration - A Web of Things Perspective
Service Integration - A Web of Things PerspectiveSimon Mayer
 
Web-based Smart Things Ecosystems
Web-based Smart Things EcosystemsWeb-based Smart Things Ecosystems
Web-based Smart Things EcosystemsSimon Mayer
 
DiscoWoT - Extensible Discovery for Smart Things
DiscoWoT - Extensible Discovery for Smart ThingsDiscoWoT - Extensible Discovery for Smart Things
DiscoWoT - Extensible Discovery for Smart ThingsSimon Mayer
 

Plus de Simon Mayer (11)

Autonomous Agents for Flexible Hypermedia Systems
Autonomous Agents for Flexible Hypermedia Systems Autonomous Agents for Flexible Hypermedia Systems
Autonomous Agents for Flexible Hypermedia Systems
 
WoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of Things
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of Things
 
Configuration of Smart Environments Made Simple
Configuration of Smart Environments Made SimpleConfiguration of Smart Environments Made Simple
Configuration of Smart Environments Made Simple
 
Semantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSemantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart Environments
 
Service Integration in the Web of Things
Service Integration in the Web of ThingsService Integration in the Web of Things
Service Integration in the Web of Things
 
Searching in a Web-based Infrastructure for Smart Things
Searching in a Web-based Infrastructure for Smart ThingsSearching in a Web-based Infrastructure for Smart Things
Searching in a Web-based Infrastructure for Smart Things
 
A Computational Space for the Web of Things
A Computational Space for the Web of ThingsA Computational Space for the Web of Things
A Computational Space for the Web of Things
 
Service Integration - A Web of Things Perspective
Service Integration - A Web of Things PerspectiveService Integration - A Web of Things Perspective
Service Integration - A Web of Things Perspective
 
Web-based Smart Things Ecosystems
Web-based Smart Things EcosystemsWeb-based Smart Things Ecosystems
Web-based Smart Things Ecosystems
 
DiscoWoT - Extensible Discovery for Smart Things
DiscoWoT - Extensible Discovery for Smart ThingsDiscoWoT - Extensible Discovery for Smart Things
DiscoWoT - Extensible Discovery for Smart Things
 

Dernier

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Dernier (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

REST or WS-*? A Developer's Perspective on Easy API Design

  • 1. REST or WS-*? A Developer’s Perspective Dominique Guinard, Iulia Ion, and Simon Mayer MobiQuitous 2011, Copenhagen, Denmark Simon Mayer [simon.mayer@inf.ethz.ch] Distributed Systems Group, ETH Zurich
  • 2. Motivation  Internet of Things  Integrating functionality from multiple smart things is hard: It requires expert knowledge from many domains  Therefore: Smart Things as Service Platforms  Provided services should be easy to compose  Create a loosely coupled ecosystem of smart things  Main approaches: WS-* and REST 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 2
  • 3. 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 3
  • 4. REST or WS-*? Previous Comparisons  REST and SOAP on devices with limited resources1 Power Consumption [mW] Completion Time [s]  RESTful vs. “Big” Web Services2  REST for tactical, ad hoc integration over the Web (“Mashup”)  WS-* in professional enterprise application integration scenarios with a longer lifespan and advanced QoS requirements [1] D. Yazar and A. Dunkels: Efficient Application Integration in IP-based Sensor Networks [2] C. Pautasso, O. Zimmermann, and F. Leymann: RESTful Web Services vs. “Big” Web Services. Making the right architectural decision 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 4
  • 5. REST or WS-*? Beyond Performance  User Acceptance: Performance is not enough, rather consider perceived ease of use as the key to adoption of an IT system  Increasing reliance on external developers to build innovative services (App Store, Android Marketplace) Easy to learn and easy to use API is key to foster a broad community of developers F. D. Davis: Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology D. Gefen and M. Keil: The Impact of Developer Responseiveness on Perceptions of Usefulness and Ease of Use 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 5
  • 6. REST or WS-*? A Developers’ Perspective  Study to evaluate the developers’ experience when learning and implementing Web Service applications  Perceived advantages & disadvantages of REST and WS-*  Ease and speed of learning  Perceived suitability of REST and WS-* for different scenarios  Participants  Computer science students (n = 69)  Third or fourth year of Bachelor studies  Previous knowledge: None of WS-* (89%), None of REST (62%) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 6
  • 7. Study Setup: Data Sources  Data Sources (quantitative and qualitative feedback) 1. Implementation of Mobile Phone Apps Teams (n = 25) 2. Structured Questionnaire Individual (n = 69) 3. Feedback Form Anonymous (n = 37) 1. Implementation Task: Mobile Phone Applications (n = 25)  Access temperature measurements on wireless sensor nodes a. RESTful API b. WS-* (WSDL + SOAP) API  Standard libraries: Apache HTTPClient for REST, kSoap2 for WS-* All course material is available online: tinyurl.com/vs-material 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 7
  • 8. Study Setup: Data Sources All course material is available online: tinyurl.com/vs-material 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 8
  • 9. Study Setup: Data Sources 2. Structured Questionnaire (n = 69)  Qualitative: Advantages and disadvantages of REST and WS-*  Questions related to use case scenarios and suitability of WS-* and REST in different domains  Completed after finishing implementation 3. Anonymous Feedback Form (n = 37)  Questions related to WS-* / REST ease and speed of learning  Questions related to suitability of WS-* / REST in different domains  Completed after finishing implementation 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 9
  • 10. Results: Overview  Perceived advantages of each technology  Ease and speed of learning  Perceived suitability for use cases  Embedded devices  Mobile phone client applications  Business applications 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 10
  • 11. Results: Perceived Advantages Qualitative Results, n = 69  REST  Very easy to understand, learn, and implement (36 participants)  More lightweight (27)  More scalable (21)  WS-*  WSDL enables service contracts (31)  Better security features (19)  Better level of abstraction (11) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 11
  • 12. Results: Ease of Learning 5 point Likert scale [1 = Not easy at all, ..., 5 = Very easy], n = 37  “Easy” or “Very easy” to learn  REST: 70% 18  WS-*: 16 11% 14 12 10 REST 8 WS-* 6 4 2 0 Not easy at all Not easy Average Easy Very easy  Statistics (n = 19, accounted for task participation)  REST M = 3.85, SD = 1.09  WS-* M = 2.50, SD = 1.10  REST significantly easier to learn (p < 0.001, Wilcoxon signed rank test) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 12
  • 13. Results: Speed of Learning 5 point Likert scale [1 = Not fast at all, ..., 5 = Very fast], n = 29  “Fast” or “Very fast” to learn  REST: 65% 14  WS-*: 0% 12 10 8 REST 6 WS-* 4 2 0 Not fast at all Not fast Average Fast Very fast  Statistics (n = 14, accounted for task participation)  REST M = 3.43, SD = 1.09  WS-* M = 2.21, SD = 0.80  REST significantly faster to learn (p < 0.009, Wilcoxon signed rank test) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 13
  • 14. Results: Ease and Speed of Learning Qualitative Results, n = 37 “Everybody who is using a browser already knows a little about [REST]”  REST easier to learn because RESTful Web Services are based on familiar technologies such as HTTP (9)  REST made it easier to understand what services the sensor nodes offer (25). This is because of the HTML interface (8)  WSDL and SOAP are more complex to use (8) “REST is easy and WS-* is  Good that WSDL is “standard” (7) just a complicated mess.” 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 14
  • 15. Results: Suitability for Use Cases Qualitative Results, n = 69  REST  Simple applications requiring only CRUD operations (23)  Applications where no higher security level than https is needed (8)  Applications that present content directly to the user (6)  REST services compose easily (14)  Web Mashups  WS-*  Applications that require extended security features (20)  Requirement of strong contracts on the message format (16) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 15
  • 16. Results: Suitability for Use Cases 5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 16
  • 17. Results: Suitability for Use Cases 5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data  Embedded Devices  REST (66%), WS-* (8%)  Reasons: REST better in heterogeneous environments, more lightweight (avg. footprint 17.46 kB for REST, 83.27 kB for WS-* application)  Smart Home Sensor Network (students’ private homes)  REST (89%), WS-* (7%)  REST reasons: Simplicity of deployment and use (24)  Surprisingly little security concerns in smart home environments (14) “Information isn’t really sensitive” 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 17
  • 18. Results: Suitability for Use Cases 5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data  Mobile Phones  REST (53%), WS-* (16%), 32% undecided  Reasons: REST causes less traffic (7)  Undecided reasons: Mobile phones getting very powerful 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 18
  • 19. Results: Suitability for Use Cases 5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data  Business Applications  WS-* (52%), REST (24%)  WS-* Reasons: Security needs (21), better service contracts (18)  REST Reasons: Simplicity (10), Scalability (10) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 19
  • 20. Summary  REST: Intuitive, flexible, lightweight  WS-*: Advanced security, clearer standardization, service contracts  Preference for REST for learning ease and speed (significant)  Preference for REST for embedded applications and applications for mobile phone clients (significant)  Preference for WS-* for business applications (not significant) 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 20
  • 21. Summary 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 21
  • 22. Discussion  WS-* perceived as being better suited for business applications: Perception bias?  Surprisingly little security concerns for smart homes!  REST as relatively fuzzy concept: Many wrong interpretations of the concept!  Lack of formal service contracts for RESTful Web Services?! 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 22
  • 23. Acknowledgements Matthias Kovatsch, Web of Things team at ETH Students of Distributed Systems class 2010 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 23
  • 24. WoT 2012 Third International Workshop on the Web of Things www.webofthings.org/wot Collocated with Pervasive 2012 June 2012, Newcastle, UK 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 24