Clicky

April 27, 2015

The New Standard for Trading Architecture

The basic architecture for screen-based trading platforms has been pretty well established for at least the past 10 to 15 years. That stack is now changing as screens are increasingly going mobile and as HTML5 is displacing previous technologies, including Java, .NET and Flash. The move is a game-changer and represents the most fundamental technology shift in a generation.

In this post, we profile Electronifie, a new fixed income trading platform that is pioneering the new standard for trading architecture. Though architecture decisions are usually delegated to technology teams, business managers will benefit by taking a keen interest, as decisions made today can either hamper or accelerate product development for years to come.

Current Trading Technology Stack

First, a review of the established stack. Front-to-back, it consists of the following main components:

  1. User Interface: Java Swing, Windows Presentation Foundation (WPF), or Adobe Flex
  2. Application Deployment: Java WebStart, Microsoft ClickOnce, Adobe Air, Microsoft Installer (MSI)
  3. Client-Server Connectivity: COMET / long-polling, TCP / custom protocols and ports
  4. Server Language: Java, .NET or C++

These technologies are tried and true methods for delivering a robust trading application up to the standards of real-time institutional trading. Additionally, most firms have a significant internal talent base that is well-versed in these technologies, making them an easy choice even when building a brand-new trading platform in 2015.

Emergence of HTML5 Technologies

The explosion of mobile devices and the fast-growing use of Macs both at home and at work are forcing a rethinking of the trading stack. Firms want to “build once and run everywhere,” and HTML5 has emerged as the only front-end technology supported by all the major tech players – Microsoft, Google, Apple and Adobe.

Three other related technologies have also emerged because they go hand-in-hand with HTML5: Chromium, WebSocket and NodeJS:

  • Chromium is Google’s high-performance engine for running JavaScript (V8) and rendering HTML5 (Blink) on the client.
  • WebSocket is the HTML5 standard for client-server connectivity.
  • NodeJS uses Google’s V8 engine to enable high-performance execution of JavaScript on the server-side.

New Trading Technology Stack

Here is the modern technology stack as exemplified by the Electronifie platform:

  1. User Interface: HTML5
  2. Application Deployment: Chromium Container
  3. Client-Server Connectivity: WebSocket
  4. Server Language: JavaScript (NodeJS)

Electronifie makes extensive use of the Meteor HTML5 framework, which VP of engineering Stefan Kutko selected for its reactive programming model, live data updates, and ease-of-use. Other common framework choices include AngularJS, React, ExtJS, Caplin, Backbone and KnockOut.

To eliminate browser-dependency and create a native, multi-window desktop experience, Electronifie uses the OpenFin Runtime, which extends Chromium and is a purpose-built container for real-time financial applications. Other choices for Chromium include use of Chromium Embedded Framework (CEF) or a derivative within a native WPF or Java application.

While WebSocket is the clear new standard, it is also often blocked by proxy servers at banks and therefore, any connectivity must have the ability to “fall back” to COMET and long-polling. Electronifie leverages the Meteor framework to do this fall back automatically.

Finally, Electronife uses NodeJS on the server side for its matching engine. Conventional wisdom has been that JavaScript is not a robust enough language to be used on the server. What’s not as well known is that the same engineers who built Java HotSpot, the performance-enhancing, just-in-time (JIT) compiler, have been at Google working on the JIT compiler for the V8 engine that powers NodeJS. This means Node has all the performance needed by trading applications combined with the ease-of-use that comes with default HTML5 compatibility.

Future Technology Direction

Several major banks and trading platforms are also innovating with HTML5 on the front end while maintaining their existing matching engines on the server side. Though replacement of an existing back end is a major undertaking, use of NodeJS for new platform development can save significant time and costs. Electronifie is early to adopt the full HTML5-based stack, but this new standard is undoubtedly the correct choice of technology for mission-critical trading platforms going forward.

See this post on Tabb Forum

Enjoyed this post? Share it!

Related Posts

All Posts ->

Featured

Enhanced Deployment Flexibility with OpenFin's Fallback Manifests

At OpenFin, we make digital work frictionless and delightfully productive, wherever you are.

Thought Leadership

Featured

ING Integrates OpenFin for Salesforce to Optimize Workflows

Tiberiu Zulean, Engineering Manager at ING, chatted with our Chief Digital Officer, Vicky Sanders, to discuss how ING is leveraging the capabilities of Salesforce and OpenFin to optimize workflows for their employees.

Thought Leadership