Caplin DataSource

Caplin's connectivity protocol and APIs

Caplin DataSource is a protocol, a set of APIs in C/C++, Java and .NET, and an associated set of adapters and applications. Caplin DataSource links Caplin Xaqua components together and enables them to exchange data with a financial services firm's internal trading, pricing, permissioning and messaging systems.

DataSource Overview

Caplin DataSource+ connectivity

Caplin DataSource connectivity

The term "DataSource" can refer to one or more of several related items:

  • The DataSource network - a messaging network used within Caplin Xaqua
  • The DataSource protocol - the protocol used by this messaging network
  • DataSource applications and DataSource peers - applications that can communicate using the DataSource protocol
  • DataSource adapters that act as the interface between internal systems and Caplin Xaqua
  • DataSource SDKs that are used to write custom DataSource adapters

As the diagram shows, Caplin DataSource is used for communication between Caplin Xaqua components and other systems, typically a bank's internal market data and trading systems. In contrast, the client-facing "front end" software, such as a Rich Internet Application (RIA) running in a browser or a desktop application, does not use DataSource but instead uses Caplin StreamLink to communicate with Caplin Liberator servers using the RTTP protocol.

The DataSource Network

The DataSource network is the network and supporting communications software used within Caplin Xaqua. It provides a common communications mechanism for Caplin Xaqua components, such as Caplin Liberator and Caplin Transformer, and allows these components to communicate with external (non-Caplin) components through DataSource adapters.

The network uses peer to peer messaging under a dedicated protocol, the DataSource protocol.

The DataSource Protocol

Messages are passed across the DataSource network using the DataSource protocol.

This bidirectional protocol is specifically designed to support real-time financial messaging, including the transmission of market data and financial trading messages. It is a lightweight protocol sitting on TCP/IP and implements efficient messaging with high throughput and low latency.

Most data is transmitted in text format, but the protocol will also handle binary data.

Where high security is required, DataSource connections can be configured to use the Secure Sockets Layer (SSL), providing an encrypted channel over which DataSource applications can exchange data.

DataSource Applications

A DataSource application is a software application that can communicate with another such application using the DataSource protocol. Caplin Xaqua components such as Caplin Liberator and Caplin Transformer are DataSource applications. A DataSource application can act as both a source and destination of data.

Because the DataSource protocol operates on a peer to peer basis, the other DataSource applications that are connected to a DataSource application are known as its DataSource peers or simply peers.

DataSource Adapters

A DataSource adapter is a DataSource application that communicates with external (non-Caplin) components, such as trading order systems, market data distribution systems, vendor feeds, and databases.

An adapter transforms incoming data into DataSource messages that can be read by other Caplin Xaqua components, and sends the messages to any of its DataSource peers that have requested the data. Adapters can also be implemented to convert DataSource messages received from their peers into the formats required by external systems and pass the data on to these systems.

Off-the-shelf adapters

Caplin can supply a number of off-the-shelf adapters for accessing existing market data distribution systems, vendor feeds, messaging middleware, and databases. These include:

  • Caplin DataSource for Reuters RMDS
  • Caplin DataSource for Reuters Triarch
  • Caplin DataSource for TIB/RV
  • Caplin DataSource for Databases

The DataSource for Databases adapter provides a mechanism for moving data between a JDBC™ compliant database and Caplin Xaqua. It includes a comprehensive XML-based configuration facility, allowing you to implement fully functional applications without needing to write code.

DataSource Library and SDKs

A DataSource application contains calls to the DataSource library. The DataSource library is a software library that allows the application to use DataSource messaging and related functionality.

The DataSource Library is packaged into a DataSource SDK, which allows you to create new applications that use DataSource messaging. Caplin provides DataSource SDKs for C, C++, and Java™, for rapid development of custom adapters.

A DataSource SDK contains:

  • APIs to perform DataSource-specific tasks within an application
  • A configuration file to use as a template when configuring the DataSource aspects of your application
  • Example programs created using the kit, to demonstrate how it can be used
  • Documentation on how to use the SDK, including the APIs

Custom DataSource Adapters

You use the DataSource SDKs to write custom DataSource adapters. A custom DataSource adapter allows you to feed data into Caplin Xaqua from your own internal (non Caplin) systems, or feed data back to your internal systems that has been modified or enhanced by Caplin components, such as Caplin Transformer.