Pushing open source to the limit

A young, aggressive online trading firm uses code from over 50 open source projects to become rated as the No. 2 online broker by Barron's

Those who run securities and deriviatives trading systems are famous for sparing no expense in pursuit of high performance and reliability. Typically, such firms engage with top-tier consultancies and receive special treatment from big commercial software vendors at costs that reflect the torrent of money flying through their systems.

The online trading platform TradeMonster opted for a different approach from the start. According to the company's CTO, Sanjib Sahoo, the founding idea was to "empower ordinary people" with a potent array of trading tools that were entirely Web-based, so anyone with any computer would be on a level playing field with those boasting powerful client systems. There was no way to accomplish that goal cost-effectively with commercial software.

I met Sahoo on a panel at the Open Business Conference, an event devoted to open source. He told me that his company's approach from the beginning was to opt for open source software wherever possible, including mission-critical core systems. That choice was not cost-based alone. Sahoo wanted to build a platform from the ground up that could be improved continuously, one over which he and his staff would have complete visibility and control.

The adoption of open source was accompanied by a couple of fundamental design decisions. Sahoo was committed to "abstraction at every layer, to keep an option of replacing open source products with commercial if the need came." The idea is similar to SOA (service-oriented architecture), except, as Sahoo observes, "SOA is a very general concept." Since he was architecting from scratch, he had almost complete control over the granularity of services, which he could lay out in concert with the open source software he selected.

Along with that abstraction, Sahoo was committed to "no modification of source code" in order to maintain consistency and ugradeability. Altogether, TradeMonster has deployed code from over 50 open source projects, including JBoss, ActiveMQ, CentOS, Oscache, Spring, and Log4j, to name a few.

Sahoo chose MySQL as TradeMonster's database, which might seem an odd choice given the extreme high availability and performance demands. Partly, he says, the decision was based on the fact that "with trading applications, three-fourths of activity is read-only." More important, however, was the complex caching technology and fault tolerance Sahoo and his team built around the MySQL core. The back end has been so bulked up that Sahoo says it's prepared to scale as much as 7,000 percent.

Another key proprietary technology is what Sahoo calls "the whole push architecture" to send data and notifications to browser-based clients. TradeMonster was the first to provide broad and deep trading functionality in the browser, so intense development effort was focused in that area. Not surprisingly, TradeMonster employs agile development methodology, with "a fluid organizational structure that supports cross-functional skill building and a collaborative culture," says Sahoo.

On the client side, for the first few years, TradeMonster employed Adobe's open source Flex architecture for building rich Web and mobile applications using a common codebase. But Flash and ActionScript had their limits, which became all too obvious when Apple shut out Flash and the iPad took off. "When tablets came in, we were losing the reputation of a trading platform anywhere, anytime," says Sahoo.

To support all clients, in 2012, TradeMonster began a major push to HTML5 and JavaScript, using such frameworks as jQuery, Backbone.js, and RequireJS. Quite a few acrobatics were required to match the richness of the Flash apps, says Sahoo. Today, he's looking at using the Famo.us JavaScript framework for its advanced animation and physics capabilities.

This year, TradeMonster came in No. 2 in Barron's Best Online Brokers survey, with a perfect score in the mobile category. An even greater point of pride is that TradeMonster can claim an average of 99.99 percent uptime over the past five years. The work of Sahoo and his team is a triumph of open source.


Copyright © 2014 IDG Communications, Inc.

How to choose a low-code development platform