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.
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.
Remote Destinations can only be created, viewed, changed or deleted via CLI.
- 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"
- Create Workflows that should be called remotely inside a Workspace on the local Xyna Factory instance
- Create new Application Definition as part of this Workspace
- Add the new Workflows into the Application Definition's content
- Make the Application Definition's content remote executable
- Build a new Application from this Application Definition
- Import the new Application into the remote Xyna Factory instance
- Create a new Workspace and set Requirements towards the new Application or simply use the Workspace from above. Use this Workspace to create new Workflows using the remote executable Workflows from inside the Application or Application Definition, respectively.
- Configure Remote Destinations on remote executable Process Steps like mentioned above