REST or WS-*? A Developer’s PerspectiveDominique Guinard, Iulia Ion, and Simon MayerMobiQuitous 2011, Copenhagen, DenmarkS...
Motivation Internet of Things        Integrating functionality from multiple smart things         is hard: It requires e...
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 resource...
REST or WS-*? Beyond                Performance User Acceptance: Performance is not enough, rather  consider perceived ea...
REST or WS-*? A        Developers’ Perspective Study to evaluate the developers’ experience when  learning and implementi...
Study Setup:        Data Sources Data Sources (quantitative and qualitative feedback)       1. Implementation of Mobile P...
Study Setup:   Data Sources                                                                      All course material is av...
Study Setup:      Data Sources2. Structured Questionnaire (n = 69)        Qualitative: Advantages and disadvantages of RE...
Results:     Overview Perceived advantages of each technology Ease and speed of learning Perceived suitability for use ...
Results:      Perceived AdvantagesQualitative Results, n = 69 REST        Very easy to understand, learn, and implement ...
Results:       Ease of Learning5 point Likert scale [1 = Not easy at all, ..., 5 = Very easy], n = 37 “Easy” or “Very eas...
Results:       Speed of Learning5 point Likert scale [1 = Not fast at all, ..., 5 = Very fast], n = 29 “Fast” or “Very fa...
Results:      Ease and Speed of LearningQualitative Results, n = 37                                                       ...
Results:        Suitability for Use CasesQualitative Results, n = 69 REST           Simple applications requiring only C...
Results:      Suitability for Use Cases5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 3712/8/2011                    ...
Results:       Suitability for Use Cases5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data Embedde...
Results:      Suitability for Use Cases5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data Mobile P...
Results:      Suitability for Use Cases5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data Business...
Summary REST:       Intuitive, flexible, lightweight WS-*:       Advanced security, clearer standardization,            ...
Summary12/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 securi...
Acknowledgements            Matthias Kovatsch, Web of Things team at ETH            Students of Distributed Systems class ...
WoT 2012      Third International Workshop on the Web of Things                     www.webofthings.org/wot               ...
Upcoming SlideShare
Loading in...5
×

In Search of an Internet of Things Service Architecture: REST or WS-*? A Developers’ Perspective.

18,887

Published on

Current trends inspired from the development of the Web 2.0 advocate designing smart things (e.g., wireless sensors nodes or home appliances) as service platforms. Interoperable services are mainly achieved using two different approaches: WS-* and RESTful Web services. These approaches have previously been compared with respect to performance and features, but no work has been done to elicit the developers' preferences and programming experiences. We conducted a study in which 69 novice developers learned both technologies and implemented mobile phone applications that retrieve sensor data, both through a RESTful and through a WS-* service architecture. The results complement the available technological decision framework when building Internet of Things applications. The results suggest that developers find REST easier to learn than WS-* and consider it more suitable for programming smart things. However, for applications with advanced security and Quality of Service requirements, WS-* Web services are perceived to be better suited.

Published in: Technology, Business

In Search of an Internet of Things Service Architecture: REST or WS-*? A Developers’ Perspective.

  1. 1. REST or WS-*? A Developer’s PerspectiveDominique Guinard, Iulia Ion, and Simon MayerMobiQuitous 2011, Copenhagen, DenmarkSimon Mayer [simon.mayer@inf.ethz.ch]Distributed Systems Group, ETH Zurich
  2. 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 REST12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 2
  3. 3. 12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 3
  4. 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 decision12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 4
  5. 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 Use12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 5
  6. 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. 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-material12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 7
  8. 8. Study Setup: Data Sources All course material is available online: tinyurl.com/vs-material12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 8
  9. 9. Study Setup: Data Sources2. 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 implementation3. 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 implementation12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 9
  10. 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 applications12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 10
  11. 11. Results: Perceived AdvantagesQualitative 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. 12. Results: Ease of Learning5 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. 13. Results: Speed of Learning5 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. 14. Results: Ease and Speed of LearningQualitative 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. 15. Results: Suitability for Use CasesQualitative 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. 16. Results: Suitability for Use Cases5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 3712/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 16
  17. 17. Results: Suitability for Use Cases5 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. 18. Results: Suitability for Use Cases5 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 powerful12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 18
  19. 19. Results: Suitability for Use Cases5 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. 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. 21. Summary12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 21
  22. 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. 23. Acknowledgements Matthias Kovatsch, Web of Things team at ETH Students of Distributed Systems class 201012/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 23
  24. 24. WoT 2012 Third International Workshop on the Web of Things www.webofthings.org/wot Collocated with Pervasive 2012 June 2012, Newcastle, UK12/8/2011 8th International ICST Conference on Mobile and Ubiquitous Systems 24
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×