Where does your data come from
— and where should it go?

DataFurt Bridge Icon

DataFurt Bridge polls SAP OData services and publishes the data to an OPC UA server.

1

Introduction

Not every system that needs your ERP data — a shop-floor dashboard, a partner platform, a PLC — can query SAP OData directly. To make this data processed and accessible to other systems, a flexible gateway is required.

DataFurt Bridge is designed for exactly this purpose: it retrieves the data and publishes it to any OPC UA server.

Follow the steps below to set up your bridge.

2

Get the bridge

Choose the right package for your system and extract it to a directory of your choice.

Depending on your system, you may see a warning before downloading or starting the application. This is caused by reputation-based security features. If you download DataFurt Bridge from this website, you can safely proceed.
3

Create a configuration file

A configuration file is required to set up the bridge between the source and target system. Please download the template configuration file and save in the same directory as the bridge executable.

sap-to-opcua.toml
Use the template configuration file as a starting point and adjust it according to your specific requirements.
3

Create a Transformer (optional)

If you need to modify or prepare the data that will be sent to the target system, you can create a Transformer function in JavaScript to manipulate almost anything of the message.

sap-opcua-transformer.js
Use the template Transformer file as a starting point and adjust it according to your specific requirements. In order to use the transformer, make sure to reference it correctly in your configuration file.
4

Run and verify

Open a terminal and start the application in debug mode.

Powershell (Windows)
./df-bridge.exe --config ./sap-to-opcua.toml --log-level debug
Terminal (Linux)
chmod +x ./df-bridge
./df-bridge --config ./sap-to-opcua.toml --log-level debug

You can stop the application at any time by pressing Ctrl+C in the terminal.

5

Troubleshooting

Let's face it: rarely does anything work on the first try. Here are the most common pitfalls and how to fix them.

OPC UA server could not determine the OPC UA data type of a node

The error message looks something like the following.

[ERR] Publish to target failed: Could not determine the OPC UA data type of node '...'.

DataFurt Bridge tries to automatically determine the OPC UA data type of the node, but in this case, it was unable to do so. Probably, you just need to add the node with its data type in your OPC UA server.

[DBG] Sent message to ...: NaN

This log message is typically seen when something goes wrong inside your Transformer function. You probably tried to convert something to a number, but this failed because that "something" could not be parsed as a number. JavaScript then converts it to NaN, which is sent to the target as a NaN string.

To resolve this issue, ensure that any value you intend to convert to a number is a valid numeric string before performing the conversion. Use console.debug() in your Transformer function to inspect the values before conversion.

An BadSecurityChecksFailed occurred during the OPC UA connection attempt

An BadSecurityChecksFailed during the OPC UA connection attempt indicates that the OPC UA server rejected the client's security configuration. In most cases, this is because the OPC UA server rejected the client's certificate or the security policy does not match.

Your problem is not listed here or still unresolved?

Don't hesitate to reach out for personal support if your problem remains unresolved. Just send an email to support@datafurt.com. We typically respond within 24 hours on business days.

6

Put it into production

Once you have verified that data flows as expected, prepare the bridge for production.

6.1

Install as a service

Run DataFurt Bridge as a service to start it automatically with your system and keep it running in the background. Configure automatic restarts to recover from unexpected failures.

Install as a Windows service

To install DataFurt Bridge as a service on Windows, use the sc.exe that comes with the operating system.

Powershell (Run as Administrator)
sc.exe create df-bridge-sap-opcua binPath= '"C:\path\to\df-bridge.exe" --config "./sap-to-opcua.toml" --log-files "./logs" --log-level information' start= auto
sc.exe failure df-bridge-sap-opcua reset= 86400 actions= restart/5000/restart/5000/restart/5000
sc.exe failureflag df-bridge-sap-opcua 1
sc.exe start df-bridge-sap-opcua
Adjust the commands according to your system's configuration and paths before running them.

These commands

  • create a Windows service called df-bridge-sap-opcua,
  • set the log level to information (possible values: debug, information, warning, error),
  • save the log output to the specified logs directory next to the executable,
  • start the service automatically with the system,
  • ensure the service restarts automatically in case of failures, and
  • finally start the service.

To stop and uninstall the service use the following commands.

Powershell (Run as Administrator)
sc.exe stop df-bridge-sap-opcua
sc.exe delete df-bridge-sap-opcua
Install as a Linux service

To install DataFurt Bridge as a service on Linux, use systemctl that comes with the operating system.

Terminal
printf '%s\n' "[Unit]" "After=network-online.target" "Wants=network-online.target" "" "[Service]" "Type=simple" "ExecStart=/path/to/df-bridge --config ./sap-to-opcua.toml --log-files ./logs --log-level information" "Restart=always" "RestartSec=5" "" "[Install]" "WantedBy=multi-user.target" | sudo tee "/etc/systemd/system/df-bridge-sap-opcua.service" > /dev/null
sudo systemctl daemon-reload
sudo systemctl enable --now "df-bridge-sap-opcua"
Adjust the commands according to your system's configuration and paths before running them.

These commands

  • create a Linux service called df-bridge-sap-opcua,
  • set the log level to information (possible values: debug, information, warning, error),
  • save the log output to the specified logs directory next to the executable,
  • start the service automatically with the system,
  • ensure the service restarts automatically in case of failures, and
  • finally start the service.

To stop and uninstall the service use the following commands.

Terminal
sudo systemctl disable --now "df-bridge-sap-opcua"
sudo rm -f "/etc/systemd/system/df-bridge-sap-opcua.service"
sudo systemctl daemon-reload
6.2

Get a license

You may have noticed that DataFurt Bridge is running in trial mode. It can process up to 10,000 messages without a valid license, giving you time to test it. To use it in production, choose a license below.

Single

499 € per year excluding VAT

For one production deployment.

A production deployment grants the right to run any number of different instances and configurations on a single machine.

Buy license

Unlimited

3,999 € per year excluding VAT

For unlimited production deployments within one organization.

An organization is defined as a single legal entity, such as a company or institution.

Buy license

Whichever plan you choose, you'll always get:

  • A lightweight tool running on Windows and Linux
  • 100% offline capability — no internet connection required
  • All protocols and features enabled — no extra costs
  • Unlimited tags configurable
  • Unlimited instances and configurations per deployment
  • Free updates and bug fixes
  • Direct, qualified email support (no call center)

End of the journey. Any questions?

What is DataFurt anyway?

DataFurt Systems is a German company that specializes in software solutions for industrial data communication.

DataFurt Bridge is the main product of DataFurt Systems. It is a local service that receives data from various sources and translates it into different target systems.

How much data can DataFurt Bridge handle?

In our benchmarks, a single DataFurt Bridge instance processed more than 45,000 messages per second on an Intel® Core™ i7-13700K processor. Actual throughput depends on your hardware, source and target systems, network latency, message size, and whether a JavaScript Transformer is used.

If your application requires higher throughput, DataFurt Bridge can be scaled horizontally by running multiple instances in parallel. The achievable throughput depends on your hardware, workload, and system architecture.

How can I connect multiple sources and targets?

A DataFurt Bridge instance can only connect one source to one target at a time. To connect multiple sources and targets, you need to run multiple instances of DataFurt Bridge in parallel. This usually requires multiple configurations and service installations.

What is the difference between the Single and Unlimited license?

Single allows one Production Deployment within one organization. Unlimited allows any number of Production Deployments within one organization.

In a typical setup, a Production Deployment means DataFurt Bridge running on one physical or virtual machine. You can run multiple instances of DataFurt Bridge on that machine, each with its own configuration. These instances can connect different systems and protocols in parallel and are all covered by the same Single license.

For example, a single machine could run one instance connecting OPC DA to MQTT, another connecting MQTT to HTTP, and another connecting MQTT to CSV. All three instances are covered by the same Single license.

When do I need more than one Single license?

You need a separate Single license for each Production Deployment within your organization.

For example, if you run DataFurt Bridge on two separate production machines, each machine represents a separate Production Deployment and requires its own Single license. Alternatively, you can use an Unlimited license to cover any number of Production Deployments within the same organization.

Can I use DataFurt Bridge for multiple companies?

A license is valid for one legally separate organization. Each organization requires its own license.

System integrators and consultants may install and operate DataFurt Bridge for their customers. However, each customer organization requires its own license.

How long is a license valid?

Paid licenses are valid for one year and automatically renew for another year unless cancelled before the renewal date.

The technical license file must be renewed for each new subscription period. There is a grace period of 30 days after the subscription expires during which the software will continue to function. This allows you to renew your subscription without immediate disruption to your operations.

What does the direct, qualified email support include?

Email support includes help with specific questions about configuration, using the software, and troubleshooting issues that arise during operation. We typically respond within 24 hours on business days.

Intensive training, online sessions, and on-site support are available as additional services on request and are billed separately.

Photo of Christian Diederich

Still have questions?

Hello! I'm Christian Diederich, the person behind DataFurt. If you have any questions or run into an issue, just send me an email. I'll get back to you personally, usually within 24 hours.

support@datafurt.com