This topic gives you an introduction to the major components of BladeRunner which are shown below. To understand the structure and conventions used in BladeRunner, see "Application Structure".
BladeRunner consists of seven major components:
Embedded Jetty Server
This is a standard J2EE servlet container that is started by the BladeRunner Java application, and which then listens for incoming HTTP requests. It runs on a developer’s machine, and provides access to all apps managed by BladeRunner. Your browser makes requests for your app’s index page or workbench. These requests are first processed by a set of Java filters and servlets, which in turn call the bundlers that assemble the required code assets from your app, ready for return to the browser.
|It is expected that each developer will run a single instance of the server on their local machine; it’s not designed for remote access by multiple users.|
Low-level utilities and services: a light-weight class-loading and inheritance system, low-level browser utilities.
A service architecture and event-messaging using a publish/subscribe model.
An internationalisation library that allows you to produce localised versions of your app simply by listing translations in properties files.
A workbench library, so you can run blades in a standalone web-page, make quick modifications and see the effects by refreshing your browser.
Other HTML5 Libraries
Caplin also supplies a set of other HTML5 libraries that are typically required for building web trading apps, and can be purchased separately.
The integration tasks perform common development operations. You can either run them from a command line, or add them to your continuous integration system. The "export" task for example, helps you to deploy your app, generating a war file that can be deployed to any J2EE Servlet container, bundling all assets and configuring necessary servlets. Other tasks allow you to run Verifier tests, create apps and blades, or import blades from other apps.
Verifier Test Framework
Verifier is an integrated framework for unit and acceptance testing of apps. It’s included with BladeRunner, although you can use a different testing framework if you prefer. It uses Google’s js-test-driver to execute unit tests, but we’ve extended js-test-driver to understand and use our bundlers, so it automatically includes any dependencies of the code you’re testing, which makes life a bit easier.
The Dashboard is a browser-based GUI, that allows you to explore your BladeRunner apps. It lets you create apps, aspects, bladesets and blades, as well as allowing you to perform other tasks such as importing functionality from one app to another. If you prefer, you can also carry out these tasks from a command line.
The Dashboard also provides access to other Caplin collateral, such as release notes and supporting documentation, including API reference material.