If you are reading this post, chances are that you are somewhat familiar with TOP Server as well as how to configure it to communicate with various devices. Perhaps, you are also familiar with how to configure different settings, OPC UA endpoint settings, Licensing, Stop and Start the Service, and, if you are a developer, you might be familiar with the development resources that TOP Server offers such as the Remote Config REST API and the OPC.NET interface.
However, during our daily interaction with end-users, we often find that there is a misconception of what the TOP Server application is composed of and how each component contributes to delivering the product that you interact with daily.
Continuing our Tech Support Corner blog series, this short post will discuss the various components of TOP Server and clarify how each component contributes to the macro process that allows the application to deliver communication between your process devices and your various IT/OT systems.
If you are new to TOP Server, it's recommended that you first take a look at our learning resources to become a bit familiar with the basics of the software before reading this post. However, you will not need a ton of experience with TOP Server to make sense of the information within this post. By the end of this blog, you will not only have a clear understanding of what each component/service is and what their functions are, but you will also know where to find them and how to configure them to meet your server needs.
What is the TOP Server Runtime Service/Process?
The TOP Server runtime service (or process) is essentially the “brains” of TOP Server and is responsible for executing the end-user’s configured project. This includes communications with devices, execution of plug-in operations and interfacing with upstream client applications.
By default, this component runs as a Windows service and is configured to run at start up. This ensures that TOP Server is available for communications regardless of whether a user is logged in or not.
However, if a user wants to change how the TOP Server Runtime services starts, they can do so by changing the “Startup type” in the service’s properties in the Windows Services Console:
Something to keep in mind with the runtime service is that any time this component is not running, communication between Client <> Server <> Devices will not occur. So make sure you plan accordingly whenever restarting this service to avoid losing critical data in a production environment.
The TOP Server Runtime can also be switched from running as a Windows service to run in Interactive mode (Running TOP Server as a Process). This gives users the freedom to configure the application to run as required by their process/system constraints. This mode can be configured in the TOP Server Administration Settings which will be discussed in more detail shortly.
Lastly, it is important to know that when running TOP Server as a Service, this component is dependent on two components that install with TOP Server and which we will be discussing later. Nonetheless, you can verify those dependencies by going to the Service’s Dependencies in the Services Console as shown below:
Note: server_runtime.exe location: C:\Program Files (x86)\Software Toolbox\TOP Server 6
What is the TOP Server Event Logger Service?
The TOP Server Event Logger Service collects information, warnings, errors, and security events that occur when running the TOP Server Runtime Service. The events can be found in the event log window at the bottom of the TOP Server Configuration Interface Window (Fig 3). There are four types of recorded messages by the Event Logger: General Information, Security Alerts, Warnings and Errors from the server, drivers, or plug-ins. The log entries will also include date, time, source, and event description. This service is not dependent on any other service; however, the Runtime and the Config API Services are dependent on this service.
Note: server_eventlog.exe location: C:\Program Files (x86)\Software Toolbox\TOP Server 6
What is the TOP Server Key Service?
TOP Server’s Key service is used for security and cryptography by the TOP Server Runtime service when integrating with the Windows Operating System. Please keep in mind that this service must run under the Local System account. However, if security is a concern, users can run this service by an administrator account.
Lastly, this service requires an available TCP/IP port to be able to communicate and TOP Server assigns a preferred port during installation and it is recommended to leave the default settings unless the user must change them because of the constraints of their setup. We strongly recommend talking to our support team before changing any of the Key service settings in the TOP Server Administration.
Note: keysvc.exe location: C:\Program Files (x86)\Software Toolbox\TOP Server 6
What is the TOP Server Administration Interface?
TOP Server Administrative Interface is a separate control interface for administrative settings. The TOP Server Administration interface is used to view and/or modify settings and launch applications that pertain to user management and the server. It is important to know that TOP Server will configure a Windows Scheduled Task which will launch this Interface at runtime during its installation.
Once the interface is launched, you will be able to find it in the system tray as shown below:
By right-clicking that icon, you can access the TOP Server Configuration Interface, Control Runtime state, Reset the Event Log, TOP Server Administrative Settings, OPC UA Configuration, OPC.NET Configuration, Quick Client, License Utility, and Support Information.
As mentioned at the beginning of this blog, the Runtime service is only dependent on the Event Logger Service and Key Service, so if you do not see the TOP Server Administration icon in the system tray, it does NOT mean the runtime service is not running. If the icon is not present, you can launch it by going to Start | All Programs | Software Toolbox | TOP Server 6 Administration.
Note: server_admin.exe location: C:\Program Files (x86)\Software Toolbox\TOP Server 6
What is the TOP Server Configuration Interface?
TOP Server Configuration Interface is the main user interface that provides users with the ability to create and modify a runtime project quickly and efficiently. It also provides settings for server-level features such as the OPC, SuiteLink and DDE client-side interfaces.
The TOP Server Configuration initially opens with a default project (default.opf). Users can edit this project file configuration and then save it under a user-friendly name. It is important to note that the TOP Server Configuration Interface allows you to create/edit a project either while it is connected to the runtime project (Online) or disconnected from the runtime (Offline). This is because the Runtime project can only run one project at a time that is located in the working directory: “C:\ProgramData\Software Toolbox\TOP Server\V[#]” (where # is the main release version, currently V6).
Briefly explained, whenever you make any changes to the project the runtime is running, you are making changes to the default.opf project that is found in the working directory. Now, if you are going to make changes to a different project, or if you make changes in offline mode, you will be prompted to update the runtime project when you save your changes.
Offline mode is useful for situations where you would like to make multiple changes to a project without them applying to the runtime right away. It is also useful when you have multiple users needing to make edits to projects, as only a single user can have read/write access to the online runtime project at one time.
The TOP Server Configuration Interface allows you to save your projects as. opf or .json file extensions. These files make transferring project configuration settings to another machine and backing up project configuration settings much easier. To launch this interface, either go to Start | All Programs | Software Toolbox | TOP Server 6 Configuration or right-click on the TOP Server Administration icon in the Windows system tray and select Configuration.
Note: server_config.exe location: C:\Program Files (x86)\Software Toolbox\TOP Server 6
What is the TOP Server Configuration API Service?
API stands for Application Programming Interface. The Configuration API Service gives users remote management and configuration control over a TOP Server instance. In other words, the API Service provides resources for developers to interact with the server’s runtime project via HTTP Requests. It allows developers to remotely gather/change configuration settings for the TOP Server project.
The Configuration API is available for all supported functionality as a RESTful JSON web service or for select drivers and plug-ins as a .NET API. For more detailed information on this service, please see our Blog – What’s a Config API.
Note: config_api_service.exe location: C:\Program Files (x86)\Software Toolbox\TOP Server 6
What is the TOP Server OPC.NET Service?
TOP Server supports connectivity by OPC .NET 3.0 client applications. OPC .NET Server Interface can be enabled in the TOP Server Project Properties. You can then find the TOP Server OPC .NET Configuration Manager through the TOP Server Administration system tray icon mentioned above. It will provide a centralized management of all OPC .NET Server Settings. Follow the link for more information on how to easily manage the OPC .NET Server Interface.
Note: This service will only be available if it was selected as an option from the Client Interfaces during the TOP Server installation.
We hope this additional clarity on how the different parts of TOP Server work together. From here, please visit our learning resource - TOP Server Basics and Quick Start to learn more about using Top Server, and don’t forget to subscribe to our blog to find out about the latest updates to TOP Server.