COMPOSE: the design of Internet of Things Marketplace

Focus Area

Internet of Things, Marketplaces, Data Streaming, Cloud Computing, Data Processing, Smart Cities

Market sector targets

Our COMPOSE demo targets IoT Apps developers, IoT Infrastructure Managers and Sensor makers.

Addressing new challenges for cloud, IoT, big data

There is an increasing demand for advanced IoT data management and processing platforms. Such platforms require support for multiple protocols at the edge for extended connectivity with the objects, but also need to exhibit uniform internal data organization and advanced data processing capabilities to fulfil the demands of the application and services that consume IoT data.
To provide an answer to this growing demand, the COMPOSE project developed servIoTicy, a state-of-the-art platform for hosting Internet of Things (IoT) workloads in the Cloud. It provides multi-tenant data stream processing capabilities, a REST API, data analytics, advanced queries and multi-protocol support in a combination of advanced data-centric services. ServIoTicy aims to provide a technological platform for easily creating services based on the Internet of Things (IoT), thus unleashing the full potential of an Internet of Services (IoS) based on the IoT. The main focus of servIoTicy is to provide a rich set of features to store and process data through it REST API, allowing objects, services and humans to access the information produced by the devices connected to the platform. servIoTicy allows for a real time processing of device-generated data, and enables for simple creation of data transformation pipelines using user generated logic. Unlike traditional service composition approaches, usually focused on addressing the problems of functional composition of existing services, one of the goals of the servIoTicy is to focus on data processing scalability. Other components that can be connected to servIoTicy provide added capabilities to automatically create compositions (through the GlueThings project) of high-level services using existing tools, as well as to perform Composition Recommendation and Sensor Discovery through the iServe semantic engine.

How can you turn big data into smart data?

At the core of the ServIoTicy runtime, there is a novel technique to dynamically construct data stream processing topologies based on user-supplied codes. These topologies are built on-the-fly using a data subscription model defined by the applications that consume data. Each user-defined processing unit is called a Service Object, and each Service Object consumes input data streams and may produce output streams that others can consume. Data streams can originate in real-world devices or they can the outputs of Service Objects deployed in the platform.

Advanced streaming and analytics platforms such as servIoTicy are complex pieces of software that integrate a large set of components under the hood. They hide their complexity behind simple REST APIs and multi-protocol channels, but the reality is that their deployment and configuration is complex. ServIoTicy leverages Apache STORM runtime for parallel data processing, that combined with dynamic user-code injection provides multi-tenant stream processing topologies for the Internet of Things.

Links and references