A Software Architecture Enabling the Web of Things. Mainetti, L., Mighali, V., & Patrono, L. IEEE Internet of Things Journal, 2(6):445-454, IEEE, 12, 2015.
A Software Architecture Enabling the Web of Things [link]Website  abstract   bibtex   
The Internet of Things (IoT) will include billions of smart ” things” connected to the Web and characterized by sensing, actuating, and data processing capabilities. In this context, also known as Web of Things (WoT), the user should ideally be able to collect information provided by smart things, and to mash-up them to obtain value-added services. However, in the current solutions, the access to physical objects is poorly scalable and efficient, the communications are often unidirectional (from the devices to the users), and only tech-savvy people are able to develop mash-up applications. Based on these assumptions, we propose a software architecture to easily mash-up constrained application protocol (CoAP) resources. It is able to discover the available devices and to virtualize them outside the physical network. These virtualizations are then exposed to the upper layers by a REpresentational State Transfer (REST) interface, so that the physical devices interact only with their own virtualization. Furthermore, the system provides simplified tools allowing the development of mash-up applications to different-skilled users. Finally, the architecture allows not only to monitor but also to control the devices, thus establishing a bidirectional communication channel. To evaluate the proposal, we deeply modify and integrate some existing software components to realize an instance of the architecture.
@article{
 title = {A Software Architecture Enabling the Web of Things},
 type = {article},
 year = {2015},
 identifiers = {[object Object]},
 keywords = {discovery,iot,web,wireless},
 pages = {445-454},
 volume = {2},
 websites = {http://dx.doi.org/10.1109/jiot.2015.2477467},
 month = {12},
 publisher = {IEEE},
 institution = {Department of Innovation Engineering, University of Salento, Lecce, Italy},
 id = {30ee5b8e-6372-325b-a0c3-b3d30a3007f0},
 created = {2018-07-12T21:30:52.039Z},
 file_attached = {false},
 profile_id = {f954d000-ce94-3da6-bd26-b983145a920f},
 group_id = {b0b145a3-980e-3ad7-a16f-c93918c606ed},
 last_modified = {2018-07-12T21:30:52.039Z},
 read = {false},
 starred = {false},
 authored = {false},
 confirmed = {true},
 hidden = {false},
 citation_key = {mainetti:wot},
 source_type = {article},
 private_publication = {false},
 abstract = {The Internet of Things (IoT) will include billions of smart ” things” connected to the Web and characterized by sensing, actuating, and data processing capabilities. In this context, also known as Web of Things (WoT), the user should ideally be able to collect information provided by smart things, and to mash-up them to obtain value-added services. However, in the current solutions, the access to physical objects is poorly scalable and efficient, the communications are often unidirectional (from the devices to the users), and only tech-savvy people are able to develop mash-up applications. Based on these assumptions, we propose a software architecture to easily mash-up constrained application protocol (CoAP) resources. It is able to discover the available devices and to virtualize them outside the physical network. These virtualizations are then exposed to the upper layers by a REpresentational State Transfer (REST) interface, so that the physical devices interact only with their own virtualization. Furthermore, the system provides simplified tools allowing the development of mash-up applications to different-skilled users. Finally, the architecture allows not only to monitor but also to control the devices, thus establishing a bidirectional communication channel. To evaluate the proposal, we deeply modify and integrate some existing software components to realize an instance of the architecture.},
 bibtype = {article},
 author = {Mainetti, Luca and Mighali, Vincenzo and Patrono, Luigi},
 journal = {IEEE Internet of Things Journal},
 number = {6}
}

Downloads: 0