Transferring CrossLink operations to a remote client requires the installation and configuration of a Crossbar.io container on the respective target devices.
To enable the cross-domain transfer of objects from one computer to another, the Crossbar.io message broker middleware is used. This requires running a Crossbar.io Docker container and configuring it accordingly in the GeoOffice Integrator 2021 configuration file.
In addition, unique identification of both the sender and receiver is required for communication. This is also configured in the CrossLink configuration file.
The first step is to configure the WAMP block. This block contains the settings required for the Crossbar.io instance.
The default values are explained below:
1.<WhoAmI>
For unique identification of each client, Windows environment variables for the username and computer name are used by default.
2.<ServerAddress>
Refers to the address and port of the Crossbar.io container. By default, a hosted container intended for testing purposes is specified.
3.<Realm>
Allows different namespaces to be defined. The default value realm1 corresponds to the standard Crossbar.io realm.
<Wamp>
<WhoAmI>Integration_%USERNAME%@%COMPUTERNAME%</WhoAmI>
<ServerAddress>ws://20.31.253.190:8080//ws</ServerAddress>
<Realm>realm1</Realm>
</Wamp>
For communication, the recipient's unique identifier is specified using the RemoteName parameter in the corresponding Instance block of the TargetDefinition. This identifier must match the target client's unique <WhoAmI> value.
For communication, the unique identifier of the recipient is specified in the TargetDefinition of the corresponding Instance block using the RemoteName parameter. This value must match the target client's unique <WhoAmI> value.
<TargetDefinition RemoteName="Integration_USERXY@COMPUTERXY">
On the sender's computer, GeoOffice Integrator 2021 reads and interprets the RemoteName when sending a request, ensuring that the intended recipient computer is targeted.
On the recipient's computer, however, a configured RemoteName in the corresponding TargetDefinition is ignored if the request arrives remotely.
If content needs to be sent both to the local computer and to another computer, two instances are required:
•One instance with a RemoteName
•One instance without a RemoteName
Behavior:
•If no RemoteName is specified, the integration is directed to the local computer.
•If a RemoteName is specified, the message is forwarded to the designated remote computer.
When configuring the system, the instance name referenced by the operations must be identical on both the sender and receiver computers. The only difference is that the recipient configuration may omit the RemoteName.
The corresponding SourceConfiguration must also exist in both configurations.
In the simplest setup, the same configuration file is used on both computers. Only the WhoAmI value differs. If WhoAmI is uniquely defined using Windows environment variables, no manual changes are required.
For client development, it can be useful to run Crossbar.io locally.
The corresponding Docker image is available on Docker Hub.
Run the container with:
docker run -d -p 8080:8080 crossbario/crossbar
In this case, the configuration would look as follows:
<Wamp>
<WhoAmI>Integration_%USERNAME%@%COMPUTERNAME%</WhoAmI>
<ServerAddress>ws://127.0.0.1:8080/ws</ServerAddress>
<Realm>realm1</Realm>
</Wamp>