Skip to main content
Skip Navigation LinksHome  Extending the Spotfire Platform  Architecture  Spotfire Architecture

©Spotfire 2011

Spotfire Architecture

The Spotfire runtime is conceptually divided into model and view. The automation APIs control Spotfire execution, and the extension APIs enable developers to add functionality.

Overview

The Spotfire Runtime Structure is divided into Model and View. This distinction separates application state from user presentation, and defines the interaction. In Spotfire the Document Model Framework is responsible for building and maintaining the model.

Outline of the Spotfire runtime

From a technical perspective, interactive data analysis in Spotfire is the manipulation of View objects. The end user actions are translated into manipulation of the Analysis Application and nodes in the Document. The main Spotfire view is a set of Forms and Controls. When a document has been loaded, the view is extended with more view objects corresponding to the different parts of the document, like pages, visualizations and filters.

  • Deployment Structure
    The Spotfire client software is distributed in disk folders corresponding to the packages making up the deployment on the Spotfire Server.
  • Spotfire Service Contexts
    This page describes the services available on the global, user and analysis levels in Spotfire.
  • Data Management
    The Data Manager makes up a substantial part of the analysis document. It holds and handles data. It is the top node and entry point to data management.
  • TIBCO Spotfire - User's Manual

Automation API

The state and behavior of Spotfire is controlled via the API. Virtually every action available to the end user can be controlled programmatically, like opening a file, setting a filter range, applying a custom tool, and saving a file. The AnalysisApplication is the entry point to the class hierarchy:

The top of the Spotfire class hierarchy

Namespaces

Core Spotfire namespaces

The Spotfire APIs are distributed over four top-level namespaces, which also provide the extension points indicated by the box with dashed borders:

  • The Spotfire.Dxp.Application namespace groups the Spotfire functionality handling the application logic and visual parts, foremost the Document, but it also provides hooks for additional analytic capabilities.
  • The Spotfire.Dxp.Data namespace groups all classes holding and handling data structures, foremost the DataManager.
  • The Spotfire.Dxp.Framework namespace provides the building blocks of the Document, but is also contains classes for licensing, persisting and preferences.
  • The Spotfire.Dxp.Web namespace provides access to base classes for Spotfire Web Player custom authentication.
  • Spotfire API Reference
    The detailed API documentation lists the APIs from the namespace perspective.

Extension API

Business problems may be solved by Extending the Spotfire Platform to include additionanal capabilities. Extensions may be hooked into the Spotfire platform at different extension points. A Spotfire extension is the smallest functional unit added to the platform. It is developed in Visual Studio® and is included in a Spotfire add-in, enabling versioning, licensing, deployment and loading. Solutions may be accomplished by implementing a single extension, but often the combination of a few simple extensions will solve even a complicated business problem.

  • Spotfire SDK
    The SDK provides required Spotfire developer resources: the Spotfire Extension Project Template, development assemblies, example projects, and the Package Builder application wrapping the extensions for deployment.
  • Creating Extensions to the Spotfire Platform
    A Spotfire solution to a complex problem may require a design with several specialized extensions. Still, a single extension based on an SDK example project will often do. The examples are fully functional solutions to common problems, and there are many ways to combine them.
  • Extending the Document
    The document model is a node tree. It is extended by adding new nodes.