« The Spotfire Type System vs. SAS | Main | Spotfire DXP - exiting new stuff »
May 1, 2006
Spotfire DecisionSite - the Analytics Foundation
The ten years of successful delivery of Spotfire DecisionSite is to a large extent based on the agility of the product. There are very few cases where the standard version of Spotfire DecisionSite meets all the requirements of a customer, instead the success is to a large extent built on the ability to adapt the product to meet a vide range of new requirements.
Spotfire DecisionSite started out as a groundbreaking tool for doing interactive ad-hoc data analytics and over the time Spotfire DecisionSite has added a number of different methods that can be used to customize the product to meet the needs of different end users:
- A rich COM API that enables automation of repetitive task
- Numerous extension APIs that enables addition of new functionality in many places of the product
- Central management of software deployment and user based access to functionality
- Central management of data access via the Spotfire Information Services, a middle layer that manages data access from a large selection of data bases
- Workflow recording and sharing via Guides and DecisionSite Library
- Sharing of results and online collaboration via DecisionSite Posters
Much time and effort has been put into enabling the usage of the tools best suited for a particular problem. We also try really hard to "eat our own dog food", almost all additions we do to the product now are done using the extension APIs of the product.
In later postings I will describe how we have evolved the APIs of Spotfire to become as versatile as it is today. In this entry I will give an overview of what different technologies Spotfire is using to add new features to the product.
The core of Spotfire DecisionSite was originally developed in C-Plus-Plus, C-Plus-Plus is still used for some development, but the focus has shifted to other technologies.
Over the decade that we have been developing the DecisionSite product the used platforms have been:
- Year 1-3 C-Plus-Plus
- Year 4-6 Jscript, Html, Java, C-Plus-Plus
- Year 7-10 C#, Jscript, Java, C-Plus-Plus
The main reason for these technology shifts has been to improve productivity and ease of implementation of new features. So far we find the C# as the compromise in between code quality, ease of implementation and efficiency, but there are a number of hurdles that must be overcome to build an application that mixes COM, Jscript, C-Plus-Plus and C# to the extent that we do, more on this in later postings.
Regards,
Jonas
Posted by Jonas Lagerblad at May 1, 2006 9:15 PM
