REST ON ROUTERS? - Preliminary Lessons for Language Designers, Framework Architects and App Developers

Joe Kaylor, Konstantin Läufer, George K. Thiruvathukal

Abstract

In this position paper, we provide a preliminary assessment of hardware and software solution stack choices available to developers of resource-oriented web services on commodity embedded devices. As part of an ongoing interdisciplinary research project on air and water quality in a major urban ecosystem, we are developing an information infrastructure amounting to a role-based hierarchy of individually addressable, interconnected resources, ranging from sensors, analyzers, and other monitoring devices to aggregators and publishers. This infrastructure follows the Representational State Transfer (REST) architectural pattern and integrates non-networked or non-RESTful monitoring devices through RESTful proxy resources running on low-cost, low-energy, possibly wireless, always-on embedded servers. Commodity wireless routers running a suitable embedded Linux distribution are a good choice for this purpose, and we have started to survey the landscape of supported solution stacks, including programming languages and RESTful frameworks: Not only were our preferred, familiar choices unavailable for medium-end routers, but we had to develop our own lightweight REST layer for lower-end routers. Given the growing popularity of embedded Linux devices, however, we argue that programming language designers and framework architects should support them to a much greater extent than they do now. In addition, as the demand for green computing grows, we argue that memory- and processor-efficient languages and frameworks become increasingly important.

References

  1. Amundsen, M. et al. (2011). implementing-rest: Exploring the implementation aspects of the REST architectural style. http://code.google.com/p/implementing-rest.
  2. Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine.
  3. Fielding, R. T. (2008). REST APIs must be hypertextdriven. http://roy.gbiv.com/untangled/2008/rest-apismust-be-hypertext-driven.
  4. Guinard, D., Trifa, V., Karnouskos, S., Spiess, P., and Savio, D. (2010). Interacting with the SOA-based Internet of Things: Discovery, query, selection, and on-demand provisioning of web services. IEEE Trans. Serv. Comput., 3:223-235.
  5. OpenWrt (2010). OpenWrt: a Linux distribution for embedded devices. http://openwrt.org.
  6. Pisupati, B. and Brown, G. (2006). File system framework for organizing sensor networks. In Proceedings of the 2006 ACM symposium on Applied computing, SAC 7806, pages 935-936, New York, NY, USA. ACM.
  7. Taherkordi, A., Rouvoy, R., and Eliassen, F. (2010). A component-based approach for service distribution in sensor networks. In Proc. 5th Intl. Workshop on Middleware Tools, Services and Run-Time Support for Sensor Networks, MidSens 7810, pages 22-28, New York, NY, USA. ACM.
Download


Paper Citation


in Harvard Style

Kaylor J., Läufer K. and K. Thiruvathukal G. (2011). REST ON ROUTERS? - Preliminary Lessons for Language Designers, Framework Architects and App Developers . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 1: ICSOFT, ISBN 978-989-8425-76-8, pages 166-171. DOI: 10.5220/0003612801660171


in Bibtex Style

@conference{icsoft11,
author={Joe Kaylor and Konstantin Läufer and George K. Thiruvathukal},
title={REST ON ROUTERS? - Preliminary Lessons for Language Designers, Framework Architects and App Developers},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 1: ICSOFT,},
year={2011},
pages={166-171},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003612801660171},
isbn={978-989-8425-76-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Software and Database Technologies - Volume 1: ICSOFT,
TI - REST ON ROUTERS? - Preliminary Lessons for Language Designers, Framework Architects and App Developers
SN - 978-989-8425-76-8
AU - Kaylor J.
AU - Läufer K.
AU - K. Thiruvathukal G.
PY - 2011
SP - 166
EP - 171
DO - 10.5220/0003612801660171