This page gives you an initial overview of the Caplin Platform, and introduces you to a few key concepts you should know.
What the Caplin Platform does
The Caplin Platform is a suite of server applications and other components that you can use to manage trades and distribute streaming data. This data is typically financial data - but it doesn’t have to be - and could potentially be from any data source.
It does this by managing client sessions, (which could be connected from web trading apps or from installed applications), and providing them with real-time access to pricing and trading systems.
The Caplin Platform is an open architecture. It supports a number of different technologies both for developing client applications and for developing integration adapters on the server side.
This makes it possible to integrate with mixed technology stacks across multiple departments or teams, and if you change your client technology, you do not have to redevelop the whole technology stack.
How the Caplin Platform fits together
A web trading platform built using Caplin’s software and tools consists of a number of components. The following diagram shows the full software stack in a typical deployment, including the APIs from the Caplin Integration Suite used to build the Integration Adapters. Note that a production deployment would have multiple instances of many of the components, to provide scalability and fault tolerance.
The Caplin Platform Deployment Framework
Once you have developed the Caplin Platform components and Integration Adapters using the Caplin Integration Suite, you can deploy them independently of each other and in a way that fits in with your existing conventions and policies. However, you can also use the Caplin Platform Deployment Framework, which makes the deployment process easy and flexible.
The Deployment Framework is a directory structure, into which you can deploy both applications and configuration. It provides a highly convenient way to deploy new functionality across multiple machines. The framework uses the concept of a Caplin Platform blade, which is a package containing an application and the configuration required for it to run on the Caplin Platform.
For example, an Integration Adapter could be packaged together with its own configuration and any configuration changes needed for Liberator and Transformer to support the Adapter. This Platform blade would then be deployed on each Liberator and Transformer machine, as well as the machine the Integration Adapter runs on. The following diagram shows how blades deploy into a typical setup.
And there’s more…
You can also make use of a number of additional components in the Caplin Platform that provide extra functionality in conjunction with Liberator and Transformer.
Caplin Management Console (CMC)
Liberator, Transformer and other DataSource applications all expose internal data via a monitoring interface, which is available via JMX. The Caplin Management Console (CMC) is a Java application that connects to each components JMX server and gives you an easy to use interface for viewing the available monitored data.
Information that you can monitor with the CMC includes:
Which users arelogged in to Liberator, and what data they are subscribed to
The state of the connections between Caplin Platform components
The rate at which messages are send to, and received by, a component
What data Liberator has in it’s cache
You can extend the CMC to show different views of the data available, or you can expose more JMX beans in your code and show them in the CMC.
Caplin KeyMaster lets you integrate the Caplin Platform with any Single Sign-On (SSO) system. This means that your end-users will only sign into your application once, and the connection to the Platform for streaming data will happen seamlessly.
KeyMaster is a simple API used to create a Java Servlet or ASP.NET application. Keymaster generates secure tokens for the user of your application. The Java Servlet or ASP.NET application is configured to be protected by your existing SSO system. The application uses this token to log in to the Liberator.
Although not a component of the Caplin Platform, Caplin Director can be used as a complete user administration system that allows you to control how end-users can access the Platform and what they can do when connected to it. You can define permissions and assign them to users or groups of users and the Platform is updated in real-time.
Examples of permissions that can be set are:
Ability to stream prices for specific instruments
Abilty to trade specific instruments
Enabling or disabling features delivered through the Platform
Director users can also control what data people receive; for example by mapping users' subscriptions to different price bands based on who they are, or in which volume band they are trying to trade in. This also takes effect in real-time.
Director consists of a web-based administration interface, a database, and an Integration Adapter that uses the Caplin Integration Suite’s Permissioning Integration API.