Enabling Dynamic Services

This page provides a guide to using the new Dynamic Services feature in Platform 8.

Available from: Platform 8

Overview

Dynamic Services is a new feature in Platform 8 that enables adapters to configure Liberator and Transformer with routing rules at the time of peer connection.

For a more detailed overview, see the Dynamic Services feature overview.

Converting a static data-service to a dynamic data-service

The steps in this section use the following basic deployment as a worked example:

Liberator1192.168.1.100PricingAdapter1192.168.1.50# Incoming peer connectionadd-peerremote-label PricingAdapter1end-peer add-data-serviceservice-name PricingServiceinclude-pattern ^/FXadd-source-groupadd-priorityremote-label PricingAdapter1end-priorityend-source-groupend-data-service# Outgoing peer connectionadd-peerremote-label Liberator1addr 192.168.1.100end-peer
Static peer configuration and static data-service configuration

Follow the steps below:

  1. In the Liberator configuration, remove the static add-peer and add-data-service configuration associated with the adapter PricingAdapter1:

    Liberator1192.168.1.100PricingAdapter1192.168.1.50  # Outgoing peer connectionadd-peerremote-label Liberator1addr 192.168.1.100end-peer
    If PricingAdapter1 is packaged as a Caplin Platform Blade, the Liberator configuration you need to remove will likely be in the rttpd.conf file in the blade.
  2. In the Liberator’s rttpd.conf file, define an API key and grant the key at least the ds-dynamic-service privilege (see add-apikey):

    Liberator1192.168.1.100PricingAdapter1192.168.1.50add-apikey "f9912b266...ea25e047"    "ds-connect,ds-dynamic-peer,    ds-dynamic-service,ds-dynamic-fields"# Outgoing peer connectionadd-peerremote-label Liberator1addr 192.168.1.100end-peer
    If PricingAdapter1 is packaged as a Caplin Platform Blade, don’t accidentally put the API key definition above in the rttpd.conf file in the adapter blade. API key definitions belong in the Liberator’s own configuration.
  3. In the PricingAdapter1 datasource.conf file, specify the API key in the add-peer configuration for the connection to Liberator1 (see add-peer::apikey):

    Liberator1192.168.1.100PricingAdapter1192.168.1.50add-apikey "f9912b266...ea25e047""ds-connect,ds-dynamic-peer,ds-dynamic-service,ds-dynamic-fields"# Outgoing peer connectionadd-peerremote-label Liberator1addr 192.168.1.100  apikey "9702ff...029b491"end-peer
  4. In the PricingAdapter1 datasource.conf file, define the data-service that will be provided to Liberator1 at the time of peer connection (see add-provided-data-service):

    Liberator1192.168.1.100PricingAdapter1192.168.1.50add-apikey "f9912b266...ea25e047""ds-connect,ds-dynamic-peer,ds-dynamic-service,ds-dynamic-fields"# Outgoing peer connectionadd-peerremote-label Liberator1addr 192.168.1.100apikey "9702ff...029b491"end-peer add-provided-data-service    service-name PricingService    apply-if-label ^Liberator[0-9]+    include-pattern ^/FX    remote-label-regex ^PricingAdapter[0-9]+end-provided-data-service

See also: