Blade types

There are three types of Caplin Platform Blades.

Adapter blade

This type of blade connects to, and supplies data to, a Liberator and/or Transformer. It consists of:

  • An integration adapter (an executable binary file).

  • Configuration for the Adapter (including its DataSource configuration)

  • Configuration for the core components (Liberator and/or Transformer). This configuration enables the Adapter to exchange data with these core components.

Integration Adapters can be written in Java using the Caplin Integration Suite, or in C using the C DataSource API.

The diagram below illustrates the internal structure of a Java Adapter blade. Optional directories are shown in grey.

AdapterBladeName-major.minor.patch.zipblade_configfields.confMap of field names to field numbersDataSourcebinstart-jar.shJava DataSource start scriptetcbladesConfiguration blades (optional) ConfigBladeNameLiberatoretcrttpd.confTransformeretctransformer.conf AdapterBladeNameetcdatasource.confcontroldatasource.confDefaultAdapterBladeNameconfigurationlibvardocDocumentationLiberatoretcrttpd.confDefault Liberator configurationoverrides AdapterBladeNameDataSourceetcdatasource.confAdapterBladeNameconfiguration overridesLiberatoretcrttpd.confLiberator configuration overridesTransformeretctransformer.confTransformer configuration overridesTransformeretctransformer.confDefault Transformer configurationREADME.txt
Java adapter blade structure

For example Gradle projects that demonstrate how to build blades with the structure above, see the Project Templates project in Caplin’s GitHub repository.

Service blade

This type of blade contains a Liberator or Transformer module written in C, Java, or Lua. For example, a permissioning auth (authorisation) module that is loaded into Liberator, or Transformer’s Refiner (filtering and sorting) service.

ServiceBladeName-major.minor.patch.zipblade_configbootstrap.confdocLiberatoretcrttpd.confDefault Liberator configurationlibLiberator service librariesoverrides ServiceBladeNameLiberatoretcrttpd.confLiberator configuration overridesTransformeretctransformer.confTransformer configuration overridesTransformeretctransformer.confDefault Transformer configurationlibTransformer service librariescontrolREADME.txt
Service blade structure

For information on building Java Transformer service modules, see the links below:

Config blade

This type of blade consists solely of configuration files. Config blades are used for the following purposes:

  • To enable and configure built-in functionality in Liberator and Transformer. A config blade is a convenient way to package related configuration options required by a built-in service. For a list of config blades in Liberator and Transformer, see Built-in blades.

  • To deploy an adapter’s configuration files without deploying the adapter’s binary. This is commonly done during development of an adapter, when you need your adapter’s configuration deployed to one or more Deployment Frameworks, but you want to run the adapter manually within your IDE.

The diagram below illustrates how the LiberatorJMX config blade is packaged within the Liberator kit file. For clarity, some directories and files have been hidden.

Liberator-major.minor.patch.zipblade_configbindocetcblades LiberatorJMXLiberatorJMX config blade Liberator etc java.conf jmx.conf rttpd.conf control...rttpd.conf......README.txt
LiberatorJMX config blade
Activating the LiberatorJMX blade
$ ./dfw activate LiberatorJMX
Deactivating the LiberatorJMX blade
$ ./dfw deactivate LiberatorJMX