Vynamic View Java Gateway Operation Manual 5.3.3
Vynamic View Java Gateway Operation Manual 5.3.3
3
Java Gateway Operation Manual
Version 1.0, 16.4.2020
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Java Gateway Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Folder structure ............................................................. 5
3. Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1. Start Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.2. Stop Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.3. Check the Service Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1. Property File Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.2. General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3. Service Related Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.4. Communication Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.5. Secure TCP/IP Connections using TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.6. Gateway provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.6.1. Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.6.2. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.7. FDM Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.7.1. Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.7.2. Wishlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.7.3. Transport configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.7.3.1. Primary and secondary server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.7.3.2. Common configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.7.3.3. Configuration of FDM provider server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.7.3.4. TFTP configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.7.4. TLS Configuration of package transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.8. System Provider ........................................................... 22
6.8.1. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.8.2. Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.8.3. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.8.4. Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.9. File Transfer Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.9.1. Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.10. Local Events .............................................................. 23
6.10.1. Configuration of Filter for Local Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.10.2. Identifying Events by Their Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.10.3. Identifying Events by their Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.10.4. Syntax of Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.10.5. Example of PvGatewayProviderRemoteCommandEvent.filter . . . . . . . . . . . . . . . . . . . . . . 25
6.11. Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.12. Configuration for multiple servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.12.1. Configuration of pvagent.properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.12.2. Configuration of PvGatewayProvider.properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.13. Change the name of the TerminalID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.14. Service wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7. Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Preface
Trademark Rights
Almost all hardware and software names contained in this document are also registered trademarks
of their respective product owners and should be treated as such. Diebold Nixdorf has, in the main,
followed the manufacturers' spelling for product names.
Confidentiality Undertaking
Copyright © Diebold Nixdorf, Inc. (2019) – All rights reserved - The contents of this document may
not be reproduced, exploited or published, whether in whole or in part, without the prior written
permission of Diebold Nixdorf. This also includes translation into other languages. The copyright
applies to all forms of storage and reproduction in which this information is incorporated including,
but not limited to, magnetic memory, computer printouts and visual displays. Offenders will be liable
for damages.
All rights, including rights created by patent grant or registration of a utility model or design, are
reserved. Right of technical modifications reserved.
Technical Support
In case of questions or problems related to all Diebold Nixdorf Software products you should open a
ticket via iSupport: https://ebusiness.wincor-nixdorf.com/OA_HTML/iSupportLogin.jsp
If you do not have access to iSupport, then please use the live chat to contact a DN Help desk for
immediate assistance (https://diebold.learn.taleo.net).
1. Introduction
Vynamic™ View (formerly named ProView) is a part of Diebold Nixdorf’s
Vynamic™ Software. In version 5.1, the product was rebranded to reflect the new
name Vynamic™ View and also the corporate Vynamic™ Design. In some
technical parts such as server path names, registry or file names, ProView stays.
In the version 5.0 and prior, the product is still named as ProView.
The Java Gateway serves as a communication point between devices and the Vynamic™ View Server.
It allows for connecting a set of devices into a gateway, while the gateway needs only one
communication channel to connect to the server.
This settings have several benefits. For instance, the network can be reconfigured to add or remove
Vynamic™ View Servers transparently for the devices. The gateway hides location of the servers.
Different security levels (e.g. TLS vs non-TLS) may be enabled between the gateway and the devices
and the gateway and the server.
1.2. Software
Java OpenJDK 8u232 (64-bit)
Operating System CentOS 7.5 (64-bit)
2. Installation
The Java Gateway is packed as a standard RedHat/CentOS RPM package, installed by the standard
system tool “rpm” by the root user. To enable the root permission, standard command “sudo” is used
while the user must be allowed to elevate his/her permission.
Installation folder
The Java Gateway will be installed in /opt/JGateway
(Where XXYY is the version of the Java Gateway and Z is the release number)
Due to the limitations of the SSOP protocol, the TerminalID must not be longer than
16 characters. Otherwise the communication will fail.
Set an absolute path to Java due to the bug in the Service wrapper version 12.14
After installing the Java Gateway, it is necessary to set up an absolute path to Java
for two parameters (wrapper.java.command, wrapper.ntservice.java.command) in a
wrapper.conf file.
Examples of parameters:
wrapper.java.command=/usr/lib/jvm/java-1.8.0-openjdk-
1.8.0.222.b10-1.el7_7.x86_64/jre/bin/java
wrapper.ntservice.java.command=/usr/lib/jvm/java-1.8.0-
openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre/bin/java
• lib - libraries as Java JAR files needed to run the Java Gateway,
• data - log files (subfolder trace), unsent events (subfolder eventstore)
• conf - all configuration files
• bin – internally used bash scripts
• tmp – home user of the user “jgateway”
• templates - templates to install the gateway as a service
3. Update
The Java Gateway can be updated by the following command:
(Where XXYY is the version of the Java Gateway and Z is the release number)
4. Uninstallation
The Java Gateway can be uninstalled by the following command:
All the files in /opt/JGateway/data are persisted even when the Java Gateway is
uninstalled. Similarly, configuration files in the /opt/JGateway/conf are persisted
as new files with extension .rpmsave.
5. Operation
Java Gateway is installed as a service, and the user has option to start or stop this service by
standard operation system commands. See next sections.
As the Java Gateway is installed as a service, it is restarted automatically after
system reboot.
6. Configuration
All configuration parameters are stored in property files in the subfolder /opt/JGateway/conf/
and can be viewed or changed by any text editors.
• General parameters
◦ Parameters affecting general behavior of the gateway.
• Communication
◦ Parameters for communication between the gateway and the server.
• Event and command providers
◦ Names of command and event providers and their parameters.
• Trace & error logging
◦ Parameters defining the gateway’s trace and error logging mode.
Each line contains one parameter. Lines starting with # are considered comments and are ignored.
Please note that folder separators as slashes (’/’), not as backslashes (’\’).
Parameter Name
Range Default Meaning
EventStore
Text <JGateway folder>/data/eventstore Complete path to the folder where the
event files are stored until the events have
been sent to the Vynamic™ View Server.
LocalServiceNames
Text <Sender>RC;<Sender>FT List of services that the JGateway
provides, separated by ’;’.
RemoteServiceNames
Text AGMGR01EVT List of services that the JGateway
connects itself to, separated by ’;’.
Sender
Parameter Name
Text - Logical name of the Java Gateway, during
the installation is fixed like the machine
name.
TemporaryDirectory
Text <JGateway folder>/data Complete path to the folder where files for
uploading and downloading are stored.
UseSystemClassLoader
Text 1 If ’1’, the normal system class loader is
used.
The JGateway is identified via the sender name (also known as a "terminal ID" or a "device name").
This name has to be unique. The sender name is case-sensitive, e.g. "ATM01" differs from "Atm01". If
the reader needs to change the name, please refer to chapter “Change the name of the TerminalID”.
Local services
The Java Gateway acts as a server for the Vynamic™ View Agent Manager
Parameter Name
Range Default Meaning
Archive
Text - List of JAR files that contain the providers for this service,
separated by ’;’. Only needed if the JAR files are not located in the
system class path. If they are, please use the parameter ’Provider’
instead.
CommandThreads
1 - 100 30 Number of threads for responses from the server if the JGateway
has issued a command.
Line
Text AGMGR01 Logical name of the communication line to the Vynamic™ View
Server.
Provider
Parameter Name
Text - List of provider classes for this service, separated by ’;’. The
provider classes must be located in the system class path. If not,
please use the parameter ’Archive’ instead.
Receiver
Text AGMGR01 The logical name of the Vynamic™ View Server component that
receives the answer messages for the service.
SecurityLevel
0-2 0 Security level for messages between the Java Gateway and the
Vynamic™ View Server.
0 = no security
1 = messages have a checksum (MAC)
2 = like ’1’, plus DES64 encryption
SessionValidityTime
0 - 3600 0 Number of seconds before a logical session is closed and re-
opened again, using a new authentication.
0 = session is never closed
Remote Services
The Java Gateway is connecting as a client to the event service of the Vynamic™ View Server.
Parameter Name
Range Default Meaning
Line
Text AGMGR01 Logical name of the communication line to the Vynamic™ View
Server.
Receiver
Text AGMGR01 The logical name of the Vynamic™ View Server component that
receives the answer messages for the service.
SecurityLevel
0-2 0 Security level for messages between the Java Gateway and the
Vynamic™ View Server.
0 = no security
1 = messages have a checksum (MAC)
2 = like ’1’, plus DES64 encryption
ServiceName
Text AGMGR01EVT Service who answers.
The Java Gateway uses the TCP/IP transport protocol to communicate with the Vynamic™ View
Server. The TCP/IP module is configured by the IP address and the port number to connect to the
The Vynamic™ View Java Gateway can communicate with more than one server, but not at the same
time. Commands are accepted from all servers. Events are always sent to the primary server first. If
the connection to the primary server fails, the events are sent to another server.
Parameter Name
Range Default Meaning
CommunicationLines
Text AGMGR01 A list of logical names of the Vynamic™ View Server components
that communicate with the JGateway, separated by ’;’. Currently,
only one component is supported.
Parameters required for each communication line are named "<Line>_<Name>". Since the first part of
the parameter name depends on the communication line, only the last part is listed in the table.
Parameter Name
Range Default Meaning
Class
Text com.wincornixdorf.proview.socket. The name of the class that handles the
PvSocket communication between the JGateway and
the Vynamic™ View Server.
LocalPort
0 - 65535 18981 The number of the port on which the
JGateway listens for incoming calls from
Vynamic™ View server.
Make sure to update Connection
configuration of the gateway in the
Vynamic™ View Server to match this port. It
means that the predefined standard port
18988 must be set to match LocalPort, by
default set to 18981.
OutgoingHost
Text - Hostname or IP address of the Java
Gateway’s system. Only needed if the
system has multiple hostnames or IP
addresses.
OutgoingPort
1 - 65535 18983 Number of the port the Java Gateway uses
when calling the Agent Manager.
Properties
Text RemoteHost; List of parameters this communication line
RemotePort; needs, separated by ’;’. Only the parameters
LocalPort: in this list are read from the property file.
SupportServerEstablishConnection
RemoteHost
Parameter Name
Text - The hostname or IP address of the
Vynamic™ View server.
RemotePort
0 - 65535 18988 The number of the port on which the server
listens for incoming calls.
SupportServerEstablishConnection
true, false false if this value is “true”, it will open the port
indicated by “localPort” when the
JavaGateway starts and it initialize this
communication line. If it’s false, it will not
open that port.
To secure incoming connections, the Java keystore has to contain an appropriate private key and a
certificate that is trusted by devices. To securely connect to the Vynamic™ View Server, the server
certificate must be trusted by the gateway. It means the keystore must contain a root certificate of
the Vynamic™ View Server certificate.
Incoming TLS may be established with any clients (devices) without mutual authentication, or client
authentication may be required. To authenticate a client, the gateway must trust the client certificate.
It means the keystore must contain the root certificate of the client certificate.
The TLS communication provided with the Java Gateway is compatible only with TLS (unidirectional)
modules of ProAgent and the Vynamic™ View Server. For this reason the Java Gateway must be
configured to connect to the TLS related ports:
TLS communication is configured in multiple files. Every file is responsible for a different part of the
communication. The table below lists all the TLS related configuration files and maps them to the
corresponding communication type.
Parameter Name
Range Default Meaning
Keystore
Text Path to the Java keystore file. The Java Gateway must have a read
access to the file.
KeystorePassword
Text The password to open the keystore, which was generated when
the keystore was created
ServerCertificatePassword
Text The password for the server certificate private key. It is used only
for incoming connections (from Agents to the Gateway)
ClientCertificatePassword
Text The password for the client certificate private key. May be avoided
when client authentication is not required. It is used only for
outgoing connections.(from the Gateway to the Vynamic™ View
Server)
RequestClientAuthentication
Y/N N If set to "Y" a client is verified according to a client certificate.
Otherwise, any clients are accepted.
SslCipherSuites
Text This option allows for explicitly choosing a cipher suite. If not
used, a cipher that both parties have in common is automatically
used.
Available options depend on a Java version. For Java 7 see:
http://docs.oracle.com/javase/7/docs/technotes/guides/
security/SunProviders.html
SslThumbprint
Text Thumbprint of server certificate. When this property is defined, the
server certificate must match with the thumbprint defined in this
property.
SslSubject
Text Subject field of server certificate. When this property is defined,
the server certificate must match with the subject defined in this
property. A subject field of a certificate typically consists of a
Common Name (CN), a Distinguished Name (DN) and other
variables, written in a form: CN=name, DN=name, …. For this
property, use only the value of Common Name (the name after
CN=).
SslIssuer
Text Issuer field of server certificate. The form is the same as for the
SsLSubject parameter mentioned above.
Parameter Name
SslEnabledProtocols
Text A comma separated list of enabled TLS protocols. When this
property is used, the respective protocol is enforced, i.e. no other
version is allowed. The list must contain literals TLS 1.0, TLS
1.1 or TLS 1.2. It may change in future Java versions.
Following is the configuration example of pvagent.properties that enables TLS for the Java
Gateway:
AGMGR01_RemoteHost=192.168.56.102
AGMGR01_RemotePort=38988
Keystore=/opt/keystore.jks
KeystorePassword=Password
ClientCertificatePassword=Keypasswd # optional
GatewayTLSListenPort=38988
Keystore=/opt/keystore.jks
ServerCertificatePassword=vynamic
RequestClientAuthentication=N
# Optional - enforce TLS version 1.2 only. When omitted, TLS version is
determined during handshake
SslEnabledProtocols=TLSv1.2
6.6.1. Description
This provider acts as a gateway for events, file transfers and remote commands between a server
and devices in the following way:
• It forwards the events from the connected devices to the server and sends the acknowledgement
back from the server to the devices.
• It forwards file data from the server to the connected devices and vice versa, depending on the
type of file transfer (download or upload).
• It forwards commands from the server to the connected devices and sends their results back.
6.6.2. Configuration
The gateway provider is configured in the property file PvGatewayProvider.properties.
Parameter Name
Range Default Meaning
AcceptUnknownDevices
true, false true If ’true’, connections from unknown devices
are accepted and data of these devices is
reported to the Vynamic™ View Server.
HeartbeatEventNumber
1 - 999999 36000 Event number of the heartbeat events.
HeartbeatIntervalSeconds
1 - 9999 60 Interval in seconds between two heartbeat
events.
ProviderFiletransfer
Text com.wincornixdorf.proview.agent.pro Name of the Java class that handles the file
vider.filetransfer.FileTransferProvider transfer service.
ProviderRemoteComman
Text com.wincornixdorf.proview.agent.pro Name of the Java class that handles the
vider.system.PvSystemProvider;com. remote control service.
wincornixdorf.proview.agent.provider.
filetransfer.FileTransferProvider
ServerConnectionImpl
Text com.wincornixdorf.proview.gateway. Name of the Java class that handles the
ssop.SsopClientController SSOP messages.
SendHeartbeat
true, false true If ’true’, heartbeat events are sent periodically
to the Vynamic™ View Server, to indicate the
gateway provider is still active.
UpdateIpAddressUponClientConnection
Parameter Name
true, false false If ’true’, addresses of devices that differ from
the configured ones are updated
automatically.
ValidateIncomingAddress
true, false true If ’true’, the gateway provider rejects calls
from devices whose addresses differ from the
configured ones.
GatewayTCPListenPort
Number 18988 The listening TCP port used to accept
incoming connection from devices. This port
serves for uncrypted communication. When
this property is omitted, the gateway does not
accept uncrypted connections.
GatewayTLSListenPort
Number 38988 The listening TLS port used to accept
incoming connection from devices. This port
serves for encrypted (TLS) communication.
When this property is omitted, the gateway
does not accept encrypted connections.
When the certificate keystore is not
configured, this option is ignored.
GatewayShortHoldTimerSeconds
0- 360 Ssop connection life time.
GatewayMaxSessions
2 -100000 2500 The number of maximal connected devices.
When a number of simultaneously connected
devices reaches this settings, no new devices
will be allowed to connect.
AllowOutgoingConnectionsToDevices
true, false false if this value is “true” the Java Gateway will
send always the commands form the Server
to the Agent (ATM). If this value is “false”, the
Java Gateway will send the command from
the Server to the Agent only if the agent has
started the communication before if there is
an open connection between Java Gateway
and Agent (that means Java Gateway will
never establish a TCP/IP connection to an
Agent).
In other case it will returns SSOP_SUCCESS
and CMDSTAT_MPX_SSOP_NO_CONNECT.
Parameter Name
true, false false If true when the communication with the
server fails, it choose a new active serve in a
random way.
CommandsTimeoutSeconds
Number 300 Set the maximal timeout to wait for an SSOP
command to finish. If the timeout exceeds,
the return code of command exection is ‘MPX
Timeout’. Default timeout is 5minutes
(300seconds).
6.7.1. Description
The FDM provider’s main functionality is the transfer of file package between routed devices and
Java Gateway. The FDM package transfer supports only TFTP protocol (SSTP protocol is not
supported for Java Gateway). The FDM provider is able to accept incoming transfers and also send
requested files to other devices. Requests on files which are not stored on Java Gateway are saved
into the Wishlist and per cycle delegated on Gateway primary FDM server. The FDM provider contains
two major parts: server and client.
The configuration of these parts of FDM provider can be updated by sending the
command SSOP_FDM_SET_CONFIG from the Vynamic™ View Console via
Synchronization button.
6.7.2. Wishlist
Wishlist implements structure of queue of unfinished requests for download of package from Java
Gateway’s primary server. It is stored in file FdmWishList.xml. It is not recommended to edit or
move this file.
Parameter Name
Range Default Meaning
hostnameDTE
Text - The TCP address of the primary/secondary
server.
networkProtocol
TCP, TLS TCP The protocol that should be used to
communicate with the primary/secondary
server.
portCUD
1-65535 18987 The port number to which primary or
secondary server listens.
Parameter Name
Range Default Meaning
fdmDirectory
Text /opt/JGateway/data/fdm The folder where packages are stored after
the transfer. All packages stored in this
folder are available for sharing with other
devices.
fdmProtocol
TFTP TFTP The parameter specifies the type of
protocol used for the transfer of package.
Java Gateway enables transfer only by
TFTP for now.
fdmServerListeningPort
1-65535 18987 The port on which the FDM provider listens
requests from devices routed on Java
Gateway.
retryIntervalSeconds
10-2147483648 600 The interval in seconds during the FDM
provider should wait and try again to get a
package after an error.
tempDirectory
Text /opt/JGateway/data/fdm/tmp The folder where the packages are stored
during the transfer. This also applies to the
unfinished packages, which are failed due
to some reason and are waiting for the next
download cycle in the Wishlist.
transferSpeedPercentage
Parameter Name
1-100 100 The transfer speed limit of package over the
network. If this is set to lower than 100, it
will slow down the transfer speed
accordingly, so there is more network
bandwidth for other operations. This is only
a statistical value and might not precisely
match the configured number. This
limitation only affects the transfer speed,
not the overall bandwidth usage.
Parameter Name
Range Default Meaning
waitDaysBeforeDeletion
0-2147483648 10 The number of days after the package
expiration date until the server deletes the
package.
Parameter Name
Range Default Meaning
blockSize
32-65536 65536 The size of one transfered TFTP data block
in bytes.
maxRepeats
0-2147483648 10 The maximum number of retries if the TFTP
server/client end with error while receiving
the TFTP packet.
serverThreads
1-2147483648 15 The maximum number of server threads.
Change of this value actively affects the
performance.
subsystem
TCP, TLS TCP The protocol that should be used for
communication with the clients.
timeout
1-2147483648 10 The timeout in seconds, for which the TFTP
client or server waits until it re-transmits
the file or aborts the connection.
6.8.1. Configuration
The system provider is configured in the property file PvSystemProvider.properties.
6.8.2. Description
This provider calls system functions to execute SSOP commands. It is used to:
To execute SSOP_SET_DATETIME, the user running the gateway must have root
permissions.
The gateway is not suitable for time critical operations. When a timeout for
commands is set, the precision is only in terms of seconds and it is not guaranteed
that the command timeouts at any certain time.
6.8.3. Configuration
The system provider is configured in the property file PvSystemProvider.properties
Parameter Name
Range Default Meaning
FileProgramRestartInfo
String Conf/PvSystemProviderRestartInfo.properties Properties file to store information
about the programs not started yet
6.8.4. Events
The system provider could report the following events:
Meaning Format
The program is going to start “Program ‘<name of the program>’ will be started now”
The program is end “Program ‘<name of the program>’ ended. Exit code = <retValue>.
Output = ‘<output of the program>’”
6.9.1. Description
This provider is responsible for file transfer commands. It transfers files from the device to the
Vynamic™ View Server and vice-versa.
The syntax for an entry is <number>=<regular expression>. The first matching pattern
determines the event number.
|^$.*+?()[]\{\}\
For ‘-’ this is also true if it occurs at the end of a list. Nonprintable
characters may be given as escaped ASCII values of three digits length
([\007\008]). All metacharacters except the ‘\’ lose their special meaning if
they occur in a character list ([.*] matches only a dot or an asterisk.
\ The backslash cancels the meaning of any metacharacter, the following
character is taken literally ( \* matches any *, \\ matches any \)
\1 - \9 Represents the n‘th subexpression enclosed in parentheses ‘()’ that is
found earlier in the given expression. Parenthesized expressions are
counted from the left. It is an error if no ‘n’th subexpression exists.
6.11. Tracing
The Java Gateway traces information, warnings and errors into a text file. If the size of this file
exceeds the configured limit, it is backed up and a new trace file is created. Detailed information
about the log4j project can be found on its homepage http://logging.apache.org/log4j/docs/
The parameters for tracing are specified in the file log4j.properties in the folder <JGateway
folder>\conf. All parameters are named log4j.[appender.<Appender name>.]<Name>.
Only the last part of the parameter is listed in the table:
Parameter Name
Range Default Meaning
rootLogger
Text INFO, T, M, E The global trace level, followed by a list of
appenders (all separated by ’, ’). The root
level may be changed in the range ERROR,
WARN, INFO, DEBUG, TRACE to change the
detail level.
Threshold
Text It allows for chaning the threashold for the
log level for a particular appender. For
instance, a root appender can be set to
INFO while an appender may log only to
ERROR.
File
Text <JGateway folder>/data/trace/<name> The complete name of the trace file.
MaxFileSize
Text 10000KB Size of a trace file before it is backed up
and a new trace file is written.
MaxBackupIndex
0 - 20 10 Number of backup generations.
ConversionPattern
Text %d %-5p [%-20t] %-80m [%l]%n Pattern for formatting a trace entry. Please
refer to the log4j documentation for a
description of the syntax.
sender=<TerminalID>
LocalServiceNames=<TerminalID>RC<i>;<TerminalID>FT<i>;<TerminalID>RC<j>;<TerminalID>FT<j>;<Termi
nalID>RC<n>;<TerminalID>FT<n>
<TerminalID>RC<i>_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderRemoteCom
mand
<TerminalID>RC<i>_Archive=
<TerminalID>RC<i>_CommandThreads=30
<TerminalID>RC<i>_Line=<line><i>
<TerminalID>RC<i>_Receiver=AGMGR01
<TerminalID>RC<i>_SecurityLevel=0
<TerminalID>RC<i>_SessionValidityTime=0
<TerminalID>FT<i>_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderFiletrans
fer
<TerminalID>FT<i>_Archive=
<TerminalID>FT<i>_CommandThreads=30
<TerminalID>FT<i>_Line=<line><i>
<TerminalID>FT<i>_Receiver=AGMGR01
<TerminalID>FT<i>_SecurityLevel=0
<TerminalID>FT<i>_SessionValidityTime=0
RemoteServiceNames=<servicename><i>;<servicename><j>;<servicename><n>
<servicename><i>_Line=<line><i>
<servicename><i>_Receiver=AGMGR01
<servicename><i>_SecurityLevel=0
<servicename><i>_ServiceName=AGMGR01EVT
CommunicationLines=<Line><i>;<line><j>;<line><n>
<line><i>_Class=com.wincornixdorf.proview.socket.PvSocket
<line><i>_Properties=RemoteHost;RemotePort;LocalPort;SupportServerEstablishConnection
<line><i>_RemoteHost=<server IP>
<line><i>_RemotePort=<server Port>
<line><i>_LocalPort=<local Port>
<line><i>_SupportServerEstablishConnection=false
<line><i>_OutgoingPort=<Outgoing port>
The names of this LocalServiceNames have to be constructed in the following way: <TerminalID>
+ <RC/FT> [ + <number> ].
For each connection LocalServiceName, Line and CommunicationLine must be configured. For
example:
Sender=jgw
LocalServiceNames=jgwRC1;jgwFT1;jgwRC2;jgwFT2
jgwRC1_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderRemoteCommand
jgwRC1_Archive=
jgwRC1_CommandThreads=30
jgwRC1_Line=server1
jgwRC1_Receiver=AGMGR01
jgwRC1_SecurityLevel=0
jgwRC1_SessionValidityTime=0
jgwFT1_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderFiletransfer
jgwFT1_Archive=
jgwFT1_CommandThreads=30
jgwFT1_Line=server1
jgwFT1_Receiver=AGMGR01
jgwFT1_SecurityLevel=0
jgwFT1_SessionValidityTime=0
jgwRC2_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderRemoteCommand
jgwRC2_Archive=
jgwRC2_CommandThreads=30
jgwRC2_Line=server2
jgwRC2_Receiver=AGMGR01
jgwRC2_SecurityLevel=0
jgwRC2_SessionValidityTime=0
jgwFT2_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderFiletransfer
jgwFT2_Archive=
jgwFT2_CommandThreads=30
jgwFT2_Line=server2
jgwFT2_Receiver=AGMGR01
jgwFT2_SecurityLevel=0
jgwFT2_SessionValidityTime=0
RemoteServiceNames=service1;service2
service1_Line=server1
service1_Receiver=AGMGR01
service1_SecurityLevel=0
service1_ServiceName=AGMGR01EVT
service2_Line=server2
service2_Receiver=AGMGR01
service2_SecurityLevel=0
service2_ServiceName=AGMGR01EVT
CommunicationLines=server1;server2
server1_Class=com.wincornixdorf.proview.socket.PvSocket
server1_Properties=RemoteHost;RemotePort;LocalPort;SupportServerEstablishConnection
server1_RemoteHost=192.168.2.155
server1_RemotePort=18988
server1_LocalPort=18981
server1_SupportServerEstablishConnection=false
server1_OutgoingPort=18983
server2_Class=com.wincornixdorf.proview.socket.PvSocket
server2_Properties=RemoteHost;RemotePort;LocalPort;SupportServerEstablishConnection
server2_RemoteHost=192.168.2.114
server2_RemotePort=18988
server2_LocalPort=18986
server2_SupportServerEstablishConnection=false
server2_OutgoingPort=18989
UseSystemClassLoader=1
TemporaryDirectory=/opt/JGateway/data
EventStore=/opt/JGateway/data/eventstore
LibraryPath=/opt/JGateway/lib/jgateway/
SsopJarName=ssop-<version>.jar
Example:
ProviderRemoteCommand=com.wincornixdorf.proview.agent.provider.system.PvSystemProvider;com.winco
rnixdorf.proview.agent.provider.filetransfer.FileTransferProvider
ProviderFiletransfer=com.wincornixdorf.proview.agent.provider.filetransfer.FileTransferProvider
AcceptUnknownDevices=true
UpdateIpAddressUponClientConnection=true
ValidateIncomingAddress=true
UseLocalDeviceDatabase=false
SendHeartbeat=$SENDHEARTBEAT$
HeartbeatIntervalSeconds=$HEARTBEATINTERVAL$
HeartbeatEventNumber=$HEARTBEATEVENTNUMBER$
ServerConnectionImpl=com.wincornixdorf.proview.gateway.ssop.SsopClientController
CommunicationManagerImpl=com.wincornixdorf.proview.conmgr.ssop.ConnectionManager
GatewayTCPListenPort=18988
GatewaySecurityLevel=0
GatewayShortHoldTimerSeconds=60
GatewayMaxSessions=300
AllowOutgoingConnectionsToDevices=false
RandomServer=false
Sender=terminalid
LocalServiceNames=terminalidRC;terminalidFT
terminalidRC_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderRemoteCommand
terminalidRC_Archive=
terminalidRC_CommandThreads=30
terminalidRC_Line=AGMGR01
terminalidRC_Receiver=AGMGR01
terminalidRC_SecurityLevel=0
terminalidRC_SessionValidityTime=0
terminalidFT_Provider=com.wincornixdorf.proview.gateway.provider.PvGatewayProviderFiletransfer
terminalidFT_Archive=
terminalidFT_CommandThreads=30
terminalidFT_Line=AGMGR01
terminalidFT_Receiver=AGMGR01
terminalidFT_SecurityLevel=0
terminalidFT_SessionValidityTime=0
RemoteServiceNames=AGMGR01EVT
AGMGR01EVT_Line=AGMGR01
AGMGR01EVT_Receiver=AGMGR01
AGMGR01EVT_SecurityLevel=0
AGMGR01EVT_ServiceName=AGMGR01EVT
CommunicationLines=AGMGR01
AGMGR01_Class=com.wincornixdorf.proview.socket.PvSocket
AGMGR01_Properties=RemoteHost;RemotePort;LocalPort;SupportServerEstablishConnection
AGMGR01_RemoteHost=192.168.2.155
AGMGR01_RemotePort=18988
AGMGR01_LocalPort=18981
AGMGR01_SupportServerEstablishConnection=false
AGMGR01_OutgoingPort=18983
UseSystemClassLoader=1
TemporaryDirectory=/opt/JGateway/data
EventStore=/opt/JGateway/data/eventstore
LibraryPath=/opt/JGateway/lib/jgateway/
SsopJarName=ssop-<version>.jar
Parameter Name
Range Default Meaning
wrapper.java.additional.<n>
Text Additional parameter to start JVM with. The value <n> is a number
and this configuration can be repeated with a different number for
each configuration. Example:
wrapper.java.additional.1=A
wrapper.java.additional.2=B
wrapper.java.additional.3=C
wrapper.on_exit.<n>
Text SHUTDOWN Action for the service wrapper to take after the task ends with the
code <n>. Another option to set is RESTART. For instance, the
service will be restart for exit code 1 wrapper.on_exit.1=RESTART
wrapper.on_exit.default
Text SHUTDOWN The default action for the service wrapper to take after the task
unexpectedly ends. Another option to set is RESTART.
wrapper.max_failed_invocations
Number 10 The number of failing starts before the service restart is given up.
This settings have effect if the RESTART action described above is
used.
wrapper.startup.timeout
Number 30 Time limit in seconds. The task is considered as failed if it does
not start in this time frame.
wrapper.successful_invocation_time
Number 300 Time limit in seconds. The failed invocation counter is reset if the
task runs longer than the time defined in this property.
7. Publisher
Published by
Diebold Nixdorf Global Solutions B.V.
Papendorpseweg 100
3528 BJ Utrecht
The Netherlands
DieboldNixdorf.com
All rights reserved, particularly in relation to the grant of a patent or the registration of a utility model.
Subject to availability and technical modifications.