COSMOS-Eventflows Smart Events Marketplace

Τhe ability to analyze data and extract meaningful conclusions (often in the form of events) is one of the key aspects and use cases in the modern IoT, Big Data and Cloud combination of technologies. Combining events in an abstracted manner (without having knowledge of how events are created and published), with each other or with  raw data, is one of the key aspects for gradually ascending in awareness levels. Through the Eventflows Marketplace, powered by the COSMOS project, these combinations may be achieved in a very efficient and agnostic manner, enabling developers to build upon results, extend them according to their specific use case or vision and monetize their effort. The Eventflows Marketplace runs as an actual service offering, to which Producers and Consumers may register and interact.  
  • Tags: , ,
  • Latest update: July 20, 2016
  • Developed by: George Kousiouris, ICCS/NTUA
  • Contact name: George Kousiouris
  • Contact email: [email protected]
  • Source code repository:

Marketplace Description

The COSMOS Events Marketplace ( is based on the marketplace tool Sharetribe. While an open source version of the tool exists, we chose the respective commercial provider ( for a variety of reasons including:

  • Faster deployment and configuration of the front end
  • Lack of need for management and maintenance
  • Lack of significant payment plugins available in the open source version

The Events Marketplace has been created and configured including categorization of available events, ability to filter based on the technology or location and the definition of templates for the description of the events. It has also been populated with initial events produced by the COSMOS project. Users may create free accounts, browse through the available events and register to one or more of them or post a new listing tha refers to a new offered event.


The marketplace consists of the Front End for event discovery and registration and the Back End messaging system for actual publication and consumption of the data from which each event is comprised. Separate accounts exist for each case given that the back end is separated in different virtual domains based on the publication scheme.

Front End Description

For a producer to register a new event, you need to post a new listing. During this process, a description template is provided in order to include various information on the event (such as category, tags etc). The most critical of these fields is the data schema based on which the data flows will abide. There is no requirement posed on the content of this schema, other that it needs to be (along with the published data) in a JSON format.


For a Consumer, the actions include filtering of the available events via the provided filters and the registration to them (via Paypal if it is an event for which a payment is expected).


Back End Messaging System Description

Upon the creation of a new listing, the specific user is automatically considered as a Producer and a publishing account is created for them in the backend publising system. Credentials for this account are communicated to this producer, along with the endpoint to which they should forward their data flows that correspond to the event information. The Back End system is based on the AMQP protocol and the producers may use whatever kind of client in order to push data. We provide a set of clients based on the graphical Node-RED environment, that may be directly used after configuration with the received credentials and information.


Similarly, a user upon registration to an event is considered a consumer, and similar information for plugging into the respective data flow is provided (endpoints, credentials etc.).

COSMOS Tools that can support development

In order to aid developers in their endeavours, the COSMOS project offers a variety of tools that may be easily reused, since they are based on the Node-RED environment. These mainly relate to flows for data ingestion, filtering, aggregation and transformation among others and may be directly pasted in your Node-RED installation.


Furthermore, flows are given regarding more complex flows such as registration and consumption of Twitter related data, in order to serve as examples.


Inside each flow relevant configuration and README information is provided. Other helpful material may include the inclusion details for dependencies that may be node.js but not Node-RED packaged nodes. For this case, which is very common, a short guideline needs to be followed.

Service level

Operational for main marketplace and publishing system.

Event production depends on each developer. QoS features are included in the event description of the marketplace template.

Reuse Readiness Levels refer to the published events and clients for using the messaging system.

Technology Readiness Level

8 - system complete and qualified

Reuse Readiness Levels

5 - Reuse is practical; the software could be reused by most users with reasonable cost and risk

The business model is based on the concept of Producers and Consumers. Any entity (freelancer, company etc.) may create their own solutions through which they identify an interesting event (by using parts of the COSMOS tools, the COSMOS Smart Events flow on Bluemix or any other solution).


This event may be described in the eventflows marketplace and the data flow for it needs to be linked to the common messaging system of the platform. Interested consumers may register to this event and get credentials for plugging into the data flow, following a payment on the marketplace. These events may then be exploited in the context of e.g. a mobile app or combined with new information/data in order to produce a more complicated event, transforming the original Consumer into a Producer .