<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Pautasso, Cesare</dc:contributor>
  <dc:creator>Babazadeh, Masiar</dc:creator>
  <dc:date>2017-10-25</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">The Web is rapidly becoming a mature platform to host distributed applications. Pervasive computing application  running on the Web are now common in the era of the Web of Things, which has made it increasingly simple to  integrate sensors and microcontrollers in our everyday life. Such devices are of great in- terest to Makers with  basic Web development skills. With them, Makers are able to build small smart stream processing applications with  sensors and actuators without spending a fortune and without knowing much about the technologies they use.  Thanks to ongoing Web technology trends enabling real-time peer-to- peer communication between Web-enabled  devices, Web browsers and server- side JavaScript runtimes, developers are able to implement pervasive Web ap-  plications using a single programming language. These can take advantage of direct and continuous  communication channels going beyond what was possible in the early stages of the Web to push data in real-time.  Despite these recent advances, building stream processing applications on the Web of Things remains a  challenging task. On the one hand, Web-enabled devices of different nature still have to communicate with different  protocols. On the other hand, dealing with a dynamic, heterogeneous, and volatile environment like the Web  requires developers to face issues like disconnections, unpredictable workload fluctuations, and device overload.  To help developers deal with such issues, in this dissertation we present the Web Liquid Streams (WLS)  framework, a novel streaming framework for JavaScript. Developers implement streaming operators written in  JavaScript and may interactively and dynamically define a streaming topology. The framework takes care of  deploying the user-defined operators on the available devices and connecting them using the appropriate data  channel, removing the burden of dealing with different deployment environments from the developers. Changes in  the semantic of the application and in its execution environment may be ap- plied at runtime without stopping the  stream flow. Like a liquid adapts its shape to the one of its container, the Web Liquid Streams framework makes  streaming topologies flow across multiple heterogeneous devices, enabling dynamic operator migration without  disrupting the data flow. By constantly monitoring the execution of the topology with a hierarchical controller  infrastructure, WLS takes care of parallelising the operator execution across multiple devices in case of bottlenecks  and of recovering the execution of the streaming topology in case one or more devices disconnect, by restarting  lost operators on other available devices.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://susi.usi.ch/global/documents/318789</dc:identifier>
  <dc:identifier>https://n2t.net/ark:/12658/srd1318789</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318789/files/2017INFO015.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-116940</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318789</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">Streaming</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Stream processing</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Web of Things</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">WoT</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">IoT</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Internet of Things</dc:subject>
  <dc:subject xmlns:ns7="xml" ns7:lang="en">Web</dc:subject>
  <dc:subject xmlns:ns8="xml" ns8:lang="en">Web engineering</dc:subject>
  <dc:subject xmlns:ns9="xml" ns9:lang="en">JavaScript</dc:subject>
  <dc:subject xmlns:ns10="xml" ns10:lang="en">Node.js</dc:subject>
  <dc:subject xmlns:ns11="xml" ns11:lang="en">Topologies</dc:subject>
  <dc:subject xmlns:ns12="xml" ns12:lang="en">Topology</dc:subject>
  <dc:subject xmlns:ns13="xml" ns13:lang="en">Sensors</dc:subject>
  <dc:subject xmlns:ns14="xml" ns14:lang="en">Operators</dc:subject>
  <dc:subject xmlns:ns15="xml" ns15:lang="en">Self-healing</dc:subject>
  <dc:subject xmlns:ns16="xml" ns16:lang="en">Parallelization</dc:subject>
  <dc:subject xmlns:ns17="xml" ns17:lang="en">Bottlenecks</dc:subject>
  <dc:subject xmlns:ns18="xml" ns18:lang="en">Autonomous computing</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns19="xml" ns19:lang="en">Liquid stream processing on the web : a JavaScript framework</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
