The basic design concept of Tbricks by Itiviti is modular: a high-performance system core is complemented by independent apps that contain all business logic. The apps are ready to use out-of-the-box but can also be customized, often using zero lines of code. However, when coding is required, C++ has been the only option — until Tbricks 2.8, due out in May. For the first time, Tbricks now offers a Java apps API. We asked Tom Williams, Assistant VP Sales Engineering Itiviti to explain.
Tom Williams, C++ or Java — does it really matter?
There are pros and cons with both languages, of course. A Java fan might say that Java is more user friendly, while the C++ advocate could argue that C++ is faster. But in the end, I think it boils down to personal preference, the firm’s current code base and the right tool for the job.
Why does Itiviti introduce Java apps in Tbricks?
To keep an edge in the constantly changing financial markets, our customers need the power to adapt their systems at any time. Tbricks is Itiviti’s main trading platform going forward, and it was designed for change from the start. All Tbricks’ business logic is delivered as apps combined with a high-performance core. All apps come with development tools and complete source code, allowing you to customize or copy them to use as blueprints for proprietary apps. With the introduction of the Java apps API, the transition to Tbricks is easier if you already have in-house Java competence and a Java code base, as you might if you currently use Orc Liquidator by Itiviti.
Will all Tbricks features be available in both languages?
Yes, there will be complete feature parity between the Java and C++ APIs. Anything you can do in C++, you can also do in Java.
If a firm has no preference, would you recommend Java or C++?
Anything you can do with an app with the C++ API in Tbricks, you will also be able to do with Java, but my advice would be to use both depending on the use case. As a general rule, for anything extremely latency-sensitive you should still use C++. The core of Tbricks (as with Orc Liquidator) is written in C++, meaning that any code written in Java requires a translation through a middle-layer which adds a little overhead. On the other hand, time to market might be quicker with Java, especially if the developer is used to that language.
As an example, if you were writing a trading strategy you may use C++ because performance is important, at the cost of potentially taking longer to implement. If you were writing an app that is not latency-sensitive, such as an app to manipulate static data or a risk report, you might use Java to speed up time to market.
It is really less about learning Java or C++, and more about learning how to write an app in Tbricks. If you’re used to one of the languages, you can switch between the two quite comfortably, at least on the level required to create or customize a Tbricks app. We want people to focus on writing business logic, not boilerplate code. Our core technology takes care of a lot of this anyway so that you can just focus on writing what’s important to you.
What is the single most important advantage of Java-enabling Tbricks apps?
The Java apps API is a new choice for rapid development, empowering firms to leverage their existing Java code base as well as the huge selection of open source, third party and enterprise integration solutions that are available to the Java community.
The Java apps API will be introduced in Tbricks 2.8, due out in May.
Blog The fast pace of derivatives markets makes their participants a demanding group. Derivatives traders must be flexible to succeed, and also need functional capabilities in their technology such as speed, global access and powerful analytics. They confront these needs in an environment affected by new regulation, plus more demands for market access and lower costs. […] April 27, 2017
Blog In the ongoing pursuit of efficiency and cost awareness among market participants, trading technology is often at the center of attention. Still there is at least one key function in trading systems left largely untouched by productivity and streamlining measures, and that is testing. Manual testing of trading infrastructure solutions remains prevalent within today’s financial […] April 20, 2017
Blog The ability to respond rapidly to a new opportunity is a prerequisite for success in derivatives trading. Adding access to a new exchange or electronic execution venue, support for a new security, or compliance to the latest regulatory wrinkle is essential to making sure opportunities are realized and profits are made. As a result, agility […] April 11, 2017
Automation & Testing Whether you are deploying FIX or proprietary protocol components within trading systems, thorough testing is crucial to success. Not only do you need to test your systems for execution venue driven events but also for managing the client flow. Manual testing is a costly and error-prone process that can be significantly improved and accelerated through automated testing. Automated regression […] April 6, 2017