Caplin StreamLink

Caplin's web connectivity technology

Caplin StreamLink is a set of APIs and underlying code libraries that allow client applications to exchange pricing, trading and permissioning data with Caplin Xaqua. Client applications can be either browser-based RIAs developed using the Web, Flex or Silverlight, or local applications developed using Java or .NET.

Contents of this page

Caplin StreamLink Overview

Caplin StreamLink acts as the interface between a client application and a Liberator server. Caplin Liberator is a real-time financial Internet hub designed to deliver financial market data and trade messages across the Internet, intranets, or dedicated networks. Using StreamLink the client application can connect to Caplin Liberator and receive streaming price data and other market data that is updated in real time. With a suitably coded client, end users can execute trades based on the displayed data. StreamLink passes the trade messages to Liberator for onward transmission to a trading system and will receive the response messages via Liberator, forwarding them to the client application.

StreamLink exchanging financial data and trade messages

StreamLink exchanging financial data and trade messages

Caplin StreamLink and Caplin Xaqua

Caplin StreamLink is a component of Caplin Xaqua that resides in client applications. The following diagram shows in a little more detail how it fits in with the rest of Caplin Xaqua.

StreamLink within the Caplin Xaqua Architecture
StreamLink within the Caplin Xaqua Architecture

Caplin StreamLink communicates with a Liberator server using Caplin's Real Time Text Protocol, RTTP, typically across an Internet connection tunnelled over HTTP or HTTPS. The StreamLink API conveniently hides from the client application the details of how to handle the RTTP connection and protocol.

Caplin Liberator acts as the gateway for all data flows between Caplin Xaqua and the StreamLink API in clients. Caplin Liberator communicates with other Caplin Xaqua components using an internal protocol called DataSource. Liberator obtains data from and sends data to external systems via components called DataSource adapters (often referred to as "DataSources" in Caplin documents).

In a typical trading application the real-time financial data displayed by clients is obtained from one or more external data feeds via dedicated DataSource adapters and Caplin Liberator. Messages about trades pass between clients and trading systems via Liberator and dedicated DataSource adapters.

Caplin StreamLink Features

This is the list of StreamLink 5.0 features.

Supported data types
  • Records:
    • Type 1: subject + fields
    • Type 2: Supports level 2 quote data
    • Type 3: Holds history of updates
  • Containers
  • Directories
  • Pages
  • News headlines
  • News stories
  • Chat
  • Permissions
Supported connection types (to server)
  • Direct via TCP/IP
  • HTTP/HTTPS tunnelled

There are several connection types to support different combinations of application and network technology

Data transmission
  • Real-time data updates
  • Trade messaging support
  • Batching of requests and discards
    • One request message can subscribe to many data items or discard many subscriptions
Data manipulation
  • Ability to specify server-side data filtering from the client
    • Record image filtering
    • Record update filtering
    • News filtering
  • Discarding specified fields
    If a data item has been requested with specific fields, you can discard some of these fields and keep receiving updates for others
Commands to modify data
  • The client can modify data on the server, on other DataSources, and on other clients:
    • Create new data items
    • Delete existing data items
    • Publish to existing data items (update them)
Performance
  • Efficient data transmission through the RTTP protocol
  • Dynamically configurable throttling levels: global and per subject
Resilience
  • Rapid and seamless recovery from transient connection loss
  • NOOP connection monitoring: RTTP detects connection loss even when TCP/IP sockets are not closed properly
  • Failover modes of arbitrary complexity through XML configuration
Security
  • Single sign-on support
Status reporting
  • Liberator Data Service notification and object status updates
  • Access to connection statistics
Configuration
  • Configuration through XML
Logging
  • Set log levels and categories of information to log
  • Set up custom logger class