This page provides an advanced description of Sisense’s architecture for IT managers and Administrators responsible for supporting Sisense in their organization.

For a high-level overview of the Sisense architecture, click here.

When working with Sisense, there are two possible types of deployments. The first type is a Single deployment in which Sisense is installed on a single server. Single deployments can be leveraged to support single integrations or as proof of concept integrations for larger deployments.

The second type is a Distributed deployment where Sisense is installed on multiple machines, but only part of the components are active on each one. This type of configuration is used to support heavier traffic loads and high availability.

The Sisense full-stack solution is provided in a single installation process.  After installing Sisense on a server, you will have access to all of the Sisense functionality.

The diagram below describes the main components of a Sisense Installation and how Sisense supports a full-stack solution:

archadv

From Sisense V6.7 onwards, the following architecture applies. Sisense has made several changes to the application database. For more information, see the Sisense 6.7 Release Notes.

In this diagram, the yellow components specify Sisense client applications or APIs.  The blue components specify components of the Sisense Server.

The Windows service and application names that you can see in the Windows Task Manager under the Services or Processes tabs appear in a dark blue font.

When Sisense is installed on a single server, the dotted line indicates the boundaries of the server firewall. The lines between the components indicate communication between them, and its direction. When the Sisense Server listens on a specific port for inbound traffic, the relevant ports must be open in the firewall for the communication to succeed.

The diagram above describes the ports used by the services, for more information about communication ports, click here.

Sisense Architecture

Sisense supports a full stack solution from data, such as transaction details, user information, and machine-generated data, to dashboards accessible by viewers. There are two sides to this solution, the management of data and the analytic side where users can interact with the data.

This section provides a description of the Sisense architecture as part of the full stack solution, from data sources to dashboards.

Managing Data

The Sisense Server is responsible for managing data. Before you can begin to manage data however, Sisense communicates with remote servers for importing data sources, licensing information, tracking and similar activities.

Sisense Remote Servers

Sisense remote servers are used for license management, monitoring and software updates.

Data Sources

Data sources may be files or databases located on servers on a local network, or remote locations and web services such as SalesForce and Google AdWords. Sisense supports a variety of data sources through native connectors, customer REST connectors, and ODBC drivers. These connectors are used to import data into the ElastiCube Server.

Sisense Server

The Sisense Server manages data and supports the Sisense Application Server, which hosts the Sisense Web Application. In a Single deployment, the Sisense Server resides locally on your machine. In a Clustered deployment, the Sisense Server can reside on one of your machines or across many machines depending on your needs.  For example, if you want to support a high availability environment, you may install the ElastiCube Server on one machine, the Application Server on another, and the Multi-Node Orchestration server on another machine.

The Sisense Server is comprised of the following components:

  1. Licensing: This service checks and validates licensing information.
  2. Multi-Node Orchestration: The Sisense Orchestrator Service is an automated service that can be configured to synchronize builds across the ElastiCube Set.
  3. Remote Support Analysis: This service is responsible for controlling logging, monitoring and automatic software updates.
  4. Application Server: The Sisense Application Server is installed locally on your computer and hosts the Sisense Web application. For more information, click here.
  5. ElastiCube Server: The ElastiCube Server manages the process of importing data from various data sources and ETL processes. For more information, see ElastiCube Server below.

ElastiCube Server

The ElastiCube Server supports the management of ElastiCubes and the data they contain. The Sisense Server also supports the Application Server, which queries the ElastiCube Server where the ElastiCubes are hosted.

Within the ElastiCube Server are the following main components:

  1. ElastiCube Catalog: The catalog maintains a list of ElastiCubes contained within the ElastiCube server.
  2. Data Connectors:  The Data Connectors service is responsible for managing both native and 3rd party connectors.

The ElastiCube Server supports the following applications:

  1. Sisense ElastiCube Manager: A Windows client application for managing data sources. The ElastiCube Manager provides the GUI for creating ElastiCubes, including importing data sources, preparing them, and building the ElastiCubes.
  2. Sisense Shell (PSM.exe): A command line interface for managing ElastiCubes, such as building an ElastiCube, attaching and detaching ElastiCubes from a server, updating data sources, etc.  The Sisense Shell can also be controlled programmatically.
  3. Sisense Server Console: A Windows application that controls Sisense servers, including attaching ElastiCube folders to Sisense servers and starting and stopping ElastiCubes.

Interacting with Data

After you have created your ElastiCubes, your users can interact with data through Sisense dashboards.

Dashboards are hosted on the Sisense Application Server.

Application Server

The Application Server provides access to Sisense dashboards and Sisense Admin screens for user management.

The Sisense Application Server hosts the Sisense Web application, which provides the user interface from which users can design, share, view and explore dashboards on the Sisense Web Application and the Sisense Mobile App.

Each dashboard created is maintained within the Application Server catalog and application database, which contains metadata regarding users, groups, dashboards and system settings.

The Application Server is comprised of many additional services required by the Sisense front-end, including a Proxy service for routing application requests, plug-in management, and more.

There are three main client applications that communicate with the Application Server:

  1. Sisense Web App: This Sisense Web Application is the client application for dashboard creation and access, and system administration.
  2. Sisense Mobile App: This Sisense Mobile Application is an Android and Apple-device compatible application for viewing viewing dashboards across devices.
  3. REST API: The Sisense REST API provides programmatic access to the Sisense Application Server functionality including managing ElastiCubes, user and group management, white labeling, user roles, reporting, and security.