Caplin Platform overview

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 it 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.

In the diagram below, you can see where the Caplin Platform fits into a typical web trading stack that makes use of Caplin Trader and the Caplin Integration Suite:

cp highlevel

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.

cp detail revised2

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.

cp blades

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 are logged 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 its 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

Caplin KeyMaster lets you integrate the Caplin Platform with any Single Sign-On (SSO) system. This means that your end-users only sign into your application once, and the connection to the Platform for streaming data happens 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.

See also: