Topology Generation

Topology Maven Project

The Topology Project consists of a separate Maven Plugin. This plugin is activated by specifying the topology packaging in the pom definition.

Under the project/src/main/sonicesb directory, you need to create a CSV file (semi-colon ';' separated). These defaults can be overridden in the pom file by specifying the following properties:

  • sonicesb.topologyFile for changing the file (default: src/main/sonicesb/topology.csv)
  • sonicesb.topologyFileSeparationString for changing the separtion character (default: ";")

The Maven Topology Plugin will read the defined csv file and parse it for future usage. It will persist the Topology Definitions in the Target directory at the following location:

This is then ready to be used as dependency by other projects.

Topology CSV File Format

In the sample, we are using Excel to define the CSV file. We export it using the program functionality and indicate the ';' as the separation character.

Topology Header

The Header section defines 2 rows. The first row defines the file-name-prefix for the Topology Environment on disk. The second row defines the environment Id value that will be defined in the Topology file itself.

The first column (default in this case) will be used to provide the tool with default values that can be inherited by the other environments.

Topology Machine Section

  • The section is started with the BEGIN-MACHINE line.
  • The section is ended with the END-MACHINE line.
  • The section can be repeated multiple times
machine-id holds the value of the tag. When empty, the rest of the section is discarded
Alternate-id Holds the Alternate Id Definitions and can be repeated. An empty value is discarded
LogicalHost Repeatable section with logical hosts values
machine-ContainersDir Location where the installer needs to place the Containers Dir
machine-RegisterAsService Indicator if this needs to be installed as a Windows Service. ATTENTION: when using Excel, please use 'true or 'false
machine-EncryptPWD Specify the encryption password here
machine-ServiceStartupTimeout Startup Timeout is defined here

This setup should enable you to build the Machine Section as you want.

Topology Environment Section

This is the definition of the environment for the complete machine ... not the one only defined on the sub-machine level.

  • The section is started with BEGIN-ENVIRONMENT
  • The section is ended with END-ENVIRONMENT
  • The section is not repeatable
  • The section is optional
machine-ContainersDir Location where the installer needs to place the Containers Dir
machine-RegisterAsService Indicator if this needs to be installed as a Windows Service. ATTENTION: when using Excel, please use 'true or 'false
machine-EncryptPWD Specify the encryption password here
machine-ServiceStartupTimeout Startup Timeout is defined here

Topology Parameter Section

This section allows you to define the general Parameter set for all your environments. The following rules apply:

  • The section is started with BEGIN-PARAMETERS
  • The section is ended with END-PARAMETERS
  • All parameters needed for the model need to be defined ... otherwise the build will fail
  • The <PARENT > value can be used to inherit fromt the default value list.

Building SDM Projects with Topology Generation

In your SDM Maven project, activate a dependency on the new generated Topology Package.

In case you used a different header value for the default value generation, you will need to set the following property in your pom file:

  • sonicesb.defaultTopologyPrefix (Default value is 'default')

Once this is done, everything else will go automatically.