Remote Destination - Xyna-Factory/xyna GitHub Wiki

Figure 1: Remote Destination configuration

A Remote Destination is a sort of dispatching rule, which discribes a way to execute a Workflow's Process Step remotely on other Xyna Factory instances. This description may point to one or more instances or even a cluster of Xyna Factory instances. It also describes the way how to choose these destinations during runtime. The procedure of executing a Process Step on another Xyna Factory instance is also called Remote Call.

Possible use cases are:

  • Trigger actions on a single partner system
  • Load balancing (e.g. by randomly pick a certain instance inside a cluster)
  • Synchronizing tasks (e.g. by executing an update task on one or more instances at once)
  • Ring tasks (sending a message from one instance to another till the first instance is reached again)
  • etc.
Every Remote Destination is an instance of a certain Remote Destination Type, which codifies the Remote Destination's dispatching behaviour. The creation of an instance from a Remote Destination Type may require additional Start Parameters, e.g. to name possible concrete Xyna Factory instances and to define dispatching characteristics. In addition to those Start Parameter a Remote Destination may need additional input parameters, the so called Dispatching Parameters, to influence the dispatching decision during runtime.

Modeling

To enable the Modeling of Remote Destinations there needs to be at least one configured Remote Destination.

To configure a Subworkflow step inside a Workflow to use a Remote Destination as target for a later execution open the Service's configuration area for Remote Destinations (cf. fig. 1) by filling the Remote Destination are. Select a Remote Destination from the drop-down list. If the chosen Remote Destination takes Destination Parameters, connect them with fitting source parameter like any other common Input Parameter. The Remote Destination's documentation will be displayed behind the i icon.

Please note: Configuring a Remote Destination is only possible for Workflows from Applications or Application Definitions. If the Workflow is not part of such an Application or Application Definition, the Remote Destination area is not available.

Management

Remote Destinations can only be created, viewed, changed or deleted via CLI.

Create and Use Remote Destinations

  • Define the IP on another Xyna Factory instance via CLI. Example:
 ./xynafactory.sh '''defineip''' -ip 10.1.2.3 -name "Node A"
  • Set an uplink towards the other Xyna Factory instance via CLI. Example:
 ./xynafactory.sh '''addfactorynode''' -instanceId 1 -name "Factory Node A" -linkprofiles OrderExecution 
     -linkchanneltyp RMI -linkchannelparameter hostname="Node A" port=1099
  • Create a Remote Destination from an existing Remote Destination Type via CLI. Example:
 ./xynafactory.sh '''createremotedestinationinstance''' -instancename "Destination Node A"
     -instancedescription "Remote Call to Factory Node A" -remotedestinationtype InitialType
     -parameters remoteNode="Factory Node A"
⚠️ **GitHub.com Fallback** ⚠️