bora c++ application framework

bora document processor

Bora C++ application framework

The Bora® C++ application framework is an open source library designed for enterprise C++ software development. The library provides the fundamental tools required for modern and rapid development of high performance C++ enterprise applications, allowing the development of applications that have a dependency injection based architecture, have complex logging requirements, and will be developed with a test driven development methodology.

Four key components of the Bora C++ application framework are the injector, the environment configuration framework, the logging system, and the test runner. Together, these components form a foundation for rapid enterprise C++ application development. In addition to the fundamental components, The Bora C++ application framework provides a set of utilities with simple APIs, including an HTTP/WebSocket web application framework.

The library is available for download from its main Git repository. The user manual is also available online. A downloadable PDF of the user manual is also available here.

Open source

The Bora C++ application framework follows an open-source licensing model, where the source code is available for inspection and modification. The library is licensed under the Boost Software License, paralleling the license of one of the library's dependencies.

Bespoke software development

For technical project managers wishing to create enterprise C++ applications, Bora can provide consultants and developers in order to provide a turnkey solution based on the Bora C++ application framework. The principal domains of activity are signal processing software systems, including realtime and non-realtime, and financial enterprise software systems. See Bora services for more information.

Signal processing

The Bora C++ application framework has been designed principally for server-side software applications, including realtime and non-realtime signal processing software. Bora has extensive knowledge of digital signal processing and mathematical software development. We can harness this knowledge to create a bespoke signal processing software solution. See the industries page for more information on our domains of expertise.


The finance industry has complex and interdependent technical requirements in the domains of trading, compliance, and risk analysis. The Bora C++ application framework is designed to provide the finance industry with a base on which complex, enterprise C++ applications may be developed. Bora's multi-domain knowledge and experience in enterprise software development and mathematical computing can provide the technical vision and architectural expertise for bespoke development.

The library can be used for both greenfield and brownfield C++ projects. A greenfield project can benefit from a clean dependency injection based architecture, alongside complex logging and test driven development. A brownfield project can easily be rearchitected with a progressively implemented dependency injection, via the Balau injector's hybrid dependency injection support.

Both realtime and non-realtime C++ applications such as low latency trading systems, risk systems, and back-office processors are suitable for development based on the Bora C++ application framework architecture.

Bora document processor

The document processor is a software application that translates the Bora® Document Markup Language (BDML) into PDF, ePUB, Mobi (Kindle), and HTML targets. A single BDML (XML) based document source and accompanying CSS can be created in order to publish to all targets.

BDML documents provide a hierarchical data management of your text and structure. Your CSS files provide the styling of your BDML documents.

The Bora Document Markup Language was designed in 2006 with the aim of providing a feature complete technical writing markup language with the smallest set of schema elements and the easiest learning curve. BDML has been used for all of Bora's technical documentation and manuals. With BDML, there is no need to write, edit and format separate files for each final target layout. Instead, the user can use a single source language and then export to multiple formats.

The Bora document processor is a convenient and advanced BDML translator, and is available for purchase directly from Bora Software.

Bora®Doc can be used by developers, technical book writers, publishers, and self-published authors.

Single source, multiple target

BDML enables a single content source to be translated into multiple targets.

CSS styling

BDML uses industry standard CSS styling, customisable for each output target.

Once your BDML sources and corresponding CSS are ready, the processor can be run from the command line or via a launcher in your integrated development environment in order to translate the sources to PDF, ePUB, Mobi, and HTML targets.

System requirements

The Bora document processor works on all Windows and Linux systems.


Bora®Doc is available for purchase for £70 + VAT. Delivery of the license is via email. The application installer can subsequently be downloaded from the links provided in the license email.

The application price is for a single user license, for use on one computer at a time.

Contact us via the contact form for further information on purchasing and volume licensing.

Please read our BoraDoc end-user licence agreement (EULA) and General Terms and Conditions for licensing information.

BDML source pack

In addition to the Bora document processor, the AGPL licensed BDML source pack is available for download. The main component in the source pack is the XSLT 1.0 BDML stylesheet, for use directly in the web browser. This allows BDML sources to be loaded and rendered directly in XSLT 1.0 enabled web browsers without the need for prior translation. Browser based technical documentation, help systems, and static websites can easily be developed in BDML and maintained in the same source code repository as their associated software application.