Remote tags

Objects of Remote tags allows to users following:

  • passive transfer of objects' values between two running applications (applications can be of different versions as well)
  • active setting of objects' values from one application to another


Communication between the applications is implemented via 2 client processes - D2000 GateWay Client and D2000 GateWay Server.

As we can see from the scheme above, there is a communication line between the processes D2000 GateWay Client and D2000 GateWay Server. This line is used for data transmission between the applications and has been designed to be independent from the versions of the D2000 systems used for the applications.
D2000 GateWay Client and D2000 GateWay Server have the parameter --ANSI. This parameter enforces the Windows 1250 encoding for transmitted texts. If it is not entered, the texts use UTF8 encoding. The parameter must be used providing that the communication partner is of older version than 9.X and the text values are transmitted.

D2000 GateWay Server


This process connects to process D2000 Server as a client. In the DODM model, process is represented by an object of Process type, with the .API suffix. Through the communication line, process D2000 GateWay Client sends requests to the D2000 GateWay Server and then it sends updates of objects' values back to the client through the line.
Process D2000 GateWay Server must be started with the start parameter /GTWL<portNr> or  /GTWL<ipAddress:portNr>, where portNr is the number of TCP/IP port where D2000 GateWay Server listens for a client. D2000 GateWay Client connects to this port. If the ipAddress parameter is also specified, the D2000 GateWay Server process will listen only on the selected interface (e.g. /GTWL192.168.0.1 or /GTWmyName). Listening on IPv6 is also supported (December 2023), i.e. an IPv6 address (or names in square brackets) can be used as ipAddress, e.g.
/GTWL[localhost]:1000 or /GTWL[::]:1000.

Optional parameter /AN allows to enter the user name. If the parameter is defined, all actions of process D2000 GateWay Server will be subordinated to user rights of particular user. The option User delimits external reference must be checked off.

If the parameter is not defined, any limits are applied and process works in the context of administrator.

D2000 GateWay Client


This process connects to the process D2000 Server as a client. In the DODM model, process D2000 GateWay Client is represented by an object of Process type with the .GTW suffix. Configuration of value transfer is given by objects of Remote object type. Parent of these objects is this process with .GTW suffix. It implies that the functionality of process is specified by the configurations of its children (objects of Remote object) type.
Process is attempting to connect to the process D2000 GateWay Server immediately after it has been started. Address of D2000 GateWay Server is given by start parameter /GTWC<ipAddress:portNr>, where ipAddress is the IP address (or name) of the computer with process D2000 GateWay Server running and portNr is the number of TCP/IP port where D2000 GateWay Server is listening. It is possible to specify only the port (e.g. /GTWC1000) - then the GateWay Client connects to the local loopback interface (IP address 127.0.0.1).
Connecting via IPv6 is also supported (December 2023), i.e. in parameter /GTWC<ipAddress:portNr> it is possible to use IPv6 address (or names in square brackets), e.g.
/GTWC[localhost]:1000 or /GTWC[::]:1000.

Note 1: Number portNr must be the same as number portNr in parameter /GTWL<portNr> for D2000 GateWay Server.
Note 2: Activating the switch SET_CURRTIME_FOR_NV (on the process D2000 GateWay Client command line: gtwcli /E+SET_CURRTIME_FOR_NV) the each commended value has set the current time.

If D2000 GateWay Client cannot connect to process D2000 GateWay Server or the connection has failed, the process attempts to restore it every 2 seconds.
Note: parameter /GTWC<ipAddress:portNr> can be entered several times. In this case the process D2000 GateWay Client will try to connect to D2000 GateWay Server using all entered IP addresses. After unsuccessful connect to the last entered address it waits 2 seconds and starts again with the first entered IP address. This feature is usable in redundant systems (more information is available in the next paragraph) as well as in non-redundant systems with multiple network interfaces.


Direct  value transfer between D2000 Systems according to the unity of object names

D2000 GateWay Client may be configured also for direct transfer of values of selected objects from the source D2000 System to the destination one without need to configure objects of "Remote tag" type. You can find more information in the paragraph Transparent gateway.

Configuration in redundant systems


In redundant application Appl1, process D2000 GateWay Client must be started as a client for each server (i.e. the process D2000 Server) in the application. On of the features of the process D2000 GateWay Client is that if it is connected to an application server (the process D2000 Server) that is not in the HOT status, then it is not attempting to connect to the process D2000 GateWay Server.

2 modes of D2000 GateWay Server are available:

  • D2000 GateWay Server is started only on one computer with the start parameter /RD . This causes the process to try to be constantly connected to current HOT D2000 Server and reconnect after another D2000 Server becomes HOT.
    This solution is suitable if there is a computer serving as a "gateway" for access to the application Appl2. On this computer the process D2000 GateWay Server is running.
    This mode of operation creates a non-redundant point in connection between Appl1 and Appl2 (a possible single point of failure).

  • D2000 GateWay Server is started on every application server in redundant group Grp2 (with the start parameter /S or without it if it runs on the same computer as D2000 Server). In this mode D2000 GateWay Server disconnects D2000 GateWay Client if the server D2000 GateWay Server is connected to is not HOT.
    In this mode the process D2000 GateWay Client must be run with multiple parameters /GTWC<ipAddress:portNr>  using IP addresses or names of all computers running  D2000 GateWay Server processes in redundant group Grp2.
    Example:
    • Server X: IP address 10.0.1.1
    • Server Y: IP address 10.0.1.2
    Processes D2000 GateWay Server are run as  gtwsrv.exe /GTWL5555
    Processes D2000 GateWay Client on computers Server A and Server B are run as  gtwcli.exe /GTWC10.0.1.1:5555 /GTWC 10.0.1.2:5555

    If the computer running  D2000 GateWay Server process has more than one network interface (redundant network), it is possible to specify IP addresses of more interfaces and utilize the redundancy of the networks.
    Example:
    • Server X: IP addresses 10.0.1.1 and 10.0.2.1
    • Server Y: IP addresses 10.0.1.2 and 10.0.2.2
    Processes D2000 GateWay Server are run as  gtwsrv.exe /GTWL5555
    Processes D2000 GateWay Client on computers Server A and Server B are run as
    gtwcli.exe /GTWC10.0.1.1:5555 /GTWC10.0.1.2:5555 /GTWC10.0.2.1:5555 /GTWC 10.0.2.2:5555

    This mode of operation does not create a single point of failure and enables to utilize the redundancy of the networks, therefore it is recommended. It is implemented since version 7.01.022.


Transfer of historical values ​​changed by the user and from the script

Using the D2000 Server parameter RouteArchiveMessages, it is also possible to achieve the transfer of changed values (in both normal mode and transparent gateway mode):

  • manually: editing/adding/deleting archived object values ​​by the user in D2000 HI
  • from a script with the INSERTARCHARR action
  • from a script with the DELETEARCHDATA action
  • from a script with the UPDATEARCHVAL action


Napíšte komentár