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 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.
REST on Routers? Preliminary Lessons for Language Designers, Framework Architects, and App DevelopersProc. 6th International Conference on Software and Data Technologies
Document TypeConference Proceeding
Creative Commons LicenseCreative Commons Attribution-Noncommercial-No Derivative Works 3.0
Copyright StatementCopyright © 2011 Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal
Citation InformationJoseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal, REST on Routers? "Preliminary Lessons for Language Designers, Framework Architects, and App Developers", In Proc. 6th International Conference on Software and Data Technologies (ICSOFT) (July 2011)