Today’s financial markets generate a volume of data barely dreamed about in the early days of electronic trading. Every year, exchanges create a record-breaking amount of transactions, and we know that somewhere within all of that data there lies a digital treasure chest. Finding a way to analyze and deliver this valuable data is a multi-headed problem, roughly broken down between charting, historical trade display and research scenarios.
In my role as an engineering manager at TT, I’m part of a team that’s been working to solve this problem in the new TT platform. We think we’ve found the answer by leveraging cutting-edge technologies, Node.js and Amazon Web Services (AWS). I’m excited about our solution, which is now automatically available to all TT platform users. Read on to learn more about our approach and how it can help you overcome the multi-faceted big-data challenges we all encounter today.
Node.js
Node.js is a run-time environment built on the same technologies that power the web, namely JavaScript. It was built around a few simple ideas and has rapidly grown out of its San Francisco hacker origins into enterprise software used by huge firms like Walmart and PayPal. If you have ever worked at a large enterprise with existing legacy architecture(s), you probably know how hard it is to turn an organization of that size onto a brand-new, relatively unknown technology platform. The answer in the case of Node.js is, surprisingly, very simple. Node.js is arguably the best web service platform available today, even though it hasn’t even hit the 1.0 version mark yet. Coding is simple, performance can be faster than Java/C++ web server(s) and the platform is easily scalable with features like the Node.js Cluster API.
One of the new technologies that makes the TT platform possible is WebSockets, which we use to deliver real-time data to both our mobile and desktop users around the world. Writing a WebSocket server with Node.js is as simple as writing just a few lines of code. Check out this example from the popular Node.js “ws” package. This is literally all you need to run a WebSocket server in Node.js: