About blades and motifs

This page provides an overview of Caplin Trader, blades, and motifs.

Caplin Trader

Caplin Trader is a set of tools and libraries for creating and deploying advanced browser-based trading applications. It allows you to create GUIs of unlimited complexity based on highly efficient components called blades. A blade is a re-usable software module that encapsulates all the required resources – JavaScript, HTML, CSS, XML, images, etc – to implement a particular slice of business functionality. For example, a blade might implement a trading ticket, a deal blotter, a charting module or an alerting mechanism. A blade usually (but not always) corresponds to a particular area of the display.

Blades

Blades are used throughout Caplin’s solutions. A blade is a re-usable software module that contains the code and resources needed to implement a business or technical feature. You can build a Caplin Trader application using blades.

Caplin Platform also makes use of blades. See here for more on Platform blades.

Blades are created and managed using BladeRunner. This provides a convention for organising all the required resources so that each blade can be developed and tested in isolation, and keeps blades from interfering with each other when they come together. BladeRunner provides tools to automatically integrate, test and deploy applications containing any number of blades.

Advanced trading GUIs of the kind built on the Caplin platform are among the most complex applications ever built in HTML5, and developing applications of this type reveals shortcomings in the conventional JavaScript programming model. In particular, there is no inbuilt support for componentisation, resulting in 'spaghetti' code in which everything depends on everything else. This works for smaller apps, but is very hard to maintain for enterprise-scale apps. The result is reduced developer productivity, high project costs and code that can be very hard to maintain and enhance.

The blade architecture used by Caplin was specifically developed to remedy this defect. Using the best available open-source libraries and emerging standards, and building on top of these where necessary, blades provide a lightweight and flexible way of building HTML5 applications out of re-usable components.

The blade architecture does not limit what you can build in any way, and is fully compatible with virtually all current HTML5 libraries and tools. It simply offers a set of conventions for componentized development. BladeRunner then provides a great set of tools to help do this efficiently.

Some key benefits of blades are:

  • Different parts of the application can be built by different teams, without creating integration problems later.

  • Developers can build and test blades in isolation, without having to build the whole application every time, making them far more productive.

  • Standard blades and motifs provided by Caplin greatly accelerate time-to-market, and reduce development cost and risk.

  • Business features are componentised and isolated from each other, eliminating the problem of creating inter-dependent 'spaghetti' code.

  • Additional features can be developed, tested and added much more easily.

  • Blades developed for one user segment can easily be re-used later for another segment.

  • Blades developed for one platform (such as desktop) can easily be reused for another platform (such as tablet or phone).

Motifs

Caplin offers an ever-growing library of standard blades that can be dropped into your application. These can be deployed straight out of the box, or customised as required. Caplin Trader also allows you to create your own blades from scratch, and to combine bespoke, standard and customised blades as needed.

Standard Caplin blades are grouped into motifs, each aimed at a particular user segment – for example, institutional FX execution, retail futures and options trading, and so on. A motif consists of a collection of blades plus all the configuration and code needed to generate a sample application using those blades.

BladeRunner makes it easy to import a motif (including all its blades) to your local environment, and then, with a single click, create a deployable working application. You can modify and extend the blades in your development environment using your preferred programming tools, add your own blades as needed, easily control the look and feel of the application, and deploy releases as required.