When working with OPC Router, especially as you build larger and more powerful projects to integrate OPC, web services, databases, ERP, SAP, and other systems in your Industry 4.0 initiatives, it’s good to have an idea of the underlying operations of the application. That knowledge can empower you to get the best results from the software’s many connectors and visual workflow engine. If you’ve never heard of or are new to OPC Router, we invite you to explore the OPC Router website and view the OPC Router Getting Started Virtual Training Video.
In this deep dive, we will share some basic insights into the architecture of configuration vs runtime instances and show you how to manage your OPC Router projects for backup, moving between machines, and disaster recovery for your business’ continuity of operations.
OPC Router Management Application
The OPC Router Management application is what we use to interact with the OPC Router runtime service that executes your connections and workflows. The runtime service does not need to exist on the local machine. In fact it may be on a different machine and even in a Docker container . Before we get into that though, let’s look at some important tabs in the OPC Router Configuration application that appear on the left side.
- Plug-Ins - where you configure your connections to systems and manage global settings for a runtime instance
- Connections – is where you build up your workflows
- Templates – used to build reusable configuration parts that can be referenced through CSV imports to fill in template values for mass configuration, and through the advanced dynamic configuration API.
- Go Productive – is where you deploy parts or all of your application to runtime
- State – helps one monitor the life cycle of the connections from the moment they are published to the runtime. You use it to see at runtime what is happening in an engine, if connections are encountering problems, being triggered when expected, and historizing values for connections per triggered event.
Coming back to OPC Router runtime engines, the diagram below will help you visualize how the configuration and runtimes interact. Each runtime engine, whether local or remote, will have a runtime database instance running on the same machine. That database stores all the necessary information for that runtime instance. When you make changes with the OPC Router Management app, you are making changes in that runtime database, whether it’s for a local or remote instance. You will notice also that you do not even have to have a runtime engine on your engineering workstation. You can choose to only install the OPC Router Management app on laptop or computer and then only manage remote instances of OPC Router Runtime engines.
In order to use this type of architecture, Remote Management will have to have been enabled locally and remotely along with specifying users and security settings. We will cover more about remote management in a future technical blog post. For now, we will focus on a local runtime connection which will appear by default when launching the OPC Router Management application with a local runtime instance and go over making backups.
The connected service(s) are indicated under the project components on the left side of the main window with a local runtime instance shown here:
Any changes made in the OPC Router Management application will only exist locally until they are manually pushed to the runtime. When you are ready to deploy changes, under the Go Productive tab mentioned previously and shown below, you can individually select which plug-ins/connections are published, allowing for a modular approach to deployment and testing. When you deploy those changes, you are telling the local or remote engine to start using those changes, and that is reflected in the runtime database. Any published changes will be shown in the State tab, which always reflects the configuration currently active in the runtime.
Managing OPC Router Projects
Now that you have a better understanding of the OPC Router Management vs runtime engines, let’s look at the management of your projects. All IT best practices recommend that you keep backups of your system at a minimum for disaster recovery. They are also helpful if a large number of changes result in unintended results and you need to roll back to a prior version of the configuration rather than try to undo multiple changes.
When migrating OPC Router configurations or creating exports, there are 3 choices you will notice in the File menu of the OPC Router Management Tool. Only 2 are used for backups and moving projects, with one being for migrating from one version of OPC Router to another.
- Project Export & Import
- Database Backups
- Migrate Project
Project Export and Import operates on projects exported as *.RPE files that contain elements which are enabled upon export from the configured plug-ins, connections, and template variables. Enabling a connection or template variable will automatically select the associated plug-ins as well. Using the project import / export is the most lightweight means of backup and should be your first choice. We’ll talk more about when to use a database backup shortly.
To export a project, in the OPC Router Management App, you click on File->Export OPC Router 4 Project-> and pick the connected runtime instance you want to export as shown below:
And then you can choose which items you want to export as shown in the tree view below
When importing an OPC Router project export *.RPE file with elements that have identical names to the active project, you will be prompted to either keep or overwrite the current elements, or rename the element being imported. This selective restore provides great flexibility and can even be used to copy elements of one project you want to re-use into another project.
Database backups consist of a set of files that are exported to a directory specified in the OPC Router settings for that runtime instance in the Plug-Ins tab, under options for the selected service as shown below:
Database backups are an all or nothing method. They contain EVERYTHING in OPC Router’s active runtime service, including context around the project configuration, such as log files and connection transfer histories. Importing an entire database backup is typically only needed when migrating an instance between machines, so feel free to work mainly with the more lightweight *.RPEs unless recommended otherwise by support. Additionally, importing a database will always overwrite the connected service’s current database, so make sure to have copies of any configurations that you would need to revert back to.
To create the backup, use the File->Create OPC Router Backup menu as shown below and select the runtime instance you want to backup. In our example we only have a local runtime present.
Migrate Project is not what you think it might be! This choice shown below was introduced when OPC Router changed it's runtime database from SQL Express to MongoDb in preparation for adding Docker support starting with Version 4.25. Using this option will clear the OPC Router Runtime database for the runtime instance chosen and thus should NOT be used for migrating projects from one machine to another!
Conclusions & Next Steps
We highly recommend that you have a process for storing your backups whether they are project RPE files or full database backups, off the machine where they were made, and in an organized structure that will enable you or your colleagues to determine when they were made and what type of backups they are. You should also consult your IT team about what their backup processes are so that you can ensure your valuable system backups are further backed up for disaster recovery beyond just a hard drive or local computer failing.
Now that you have a basic idea of the mechanisms within OPC Router that can be leveraged for project management, you should be able to manipulate the configuration and back up project iterations to your needs. Our support team is happy to clarify anything as well as direct you to any resources that could help you get your projects off the ground successfully and maximize the value you receive from your investment in the software and a relationship with Software Toolbox.
Don't forget to subscribe to our blog to find out about the latest updates regarding OPC Router and for other how-to videos on using OPC Router. Our extensive other OPC Router Technical Blogs can also help you get the most from your investments.
Try OPC Router with your own connectivity and integration projects using the fully-functional free trial.