Sinfonier Architecture

Content:

Architecture Overview

Sinfonier has three main components:

  • Drag & Drop interface where user can define Topologies, add new modules (Spouts, Bolts and Drains) and manage Apache Storm Cluster. (Sinfonier-Drawer)
  • Integration API to join Apache Storm Cluster with FrontEnd interface (Sinfonier-API) and all related modules: Dependencies (Apache Maven and Python PIP), Classpath and project packaging. (Sinfonier-Backend)
  • Apache Storm cluster. Sifonier works using clean Apache Storm deploy.

Figure 1 - Sinfonier Overview

Sinfonier is partitioned in order to interact with each of the parts of the project independently. Sinfonier API can be using without Sinfonier Drawer. Sinfonier Backend is an independient project magaed by Sinfonier API.

Top

Components

Sinfonier Drawer

FrontEnd part of Sinfonier Project. Allow users to define Apache Storm Topologies (DAG - Directed acyclic graph) in a visual way and send it to Storm Cluster using Sifonier API.

Technologies

Integrated

Sinfonier Drawer use:

Sinfonier API

Sinfonier API was develop to manage Sinfonier Backend and deal with Apache Storm cluster.

This software is part of Sinfonier-Project.

Technologies

Sinfonier BackEnd

Sinfoner BackEnd allow to deploy Apache Storm Topologies defined using XML into Apache Storm Cluster. It's the final step on Sinfonier Project architecture and It's used by Sinfonier API.

Sinfonier BackEnd use Apache Maven to manage Java dependencies. Python dependencies must be solved using Python Pip.

Technologies

Apache Storm

Apache Storm is a free and open source distributed realtime computation system Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Storm is simple, can be used with any programming language, and is a lot of fun to use!.