<style> .text-span-6 { background-image: linear-gradient(99deg, rgba(170, 163, 239, .5), rgba(125, 203, 207, .5)); border-radius: 50px; padding-left: 15px; padding-right: 15px; } #title-text { display: none; } .panelgradient { background-image: linear-gradient(180deg, #d5def0, whitesmoke); border-radius: 8px; flex-direction: column; justify-content: center; align-items: center; padding: 4rem; display: flex; position: relative; } </style> <div class ="panelgradient"> <h1 style="text-align: center;">Solution Deployment</h1> </div> |
When you finish developing and testing your solution, you can deploy the runtime application so it can be used by end users. Solutions can be deployed to run:
This documentation section explores the various scenarios and operating systems where a solution can be deployed, with detailed explanations on how to install, set up, and deploy the solution for production in the field.
On this page:
Development vs. Runtime Environments
The development environment is where you design, configure, and test your solution. It provides comprehensive tools for building HMI, SCADA, and MES applications, including graphical editors, scripting support, and debugging capabilities.
The runtime environment, on the other hand, is where the deployed application runs and interacts with actual devices, data sources, and end-users. It executes the solution's logic, collects and processes data, and manages the user interface based on the configuration created in the development environment.
The primary goal of the deployment process is to transfer the solution from the development environment to the runtime environment, ensuring that all necessary settings, configurations, and resources are correctly transferred and applied.
Execution Profiles
Execution Profiles enable efficient management of different stages of your solution lifecycle. By using profiles, you can apply settings and configurations specific to the Development, Test, and Production environments without creating separate solution files.
Note: The software platform also allows "Online Configuration," enabling real-time changes without disrupting the system. Use with caution.
Each profile can have its own set of configurations, such as database connections, device communication settings, and user access permissions. This allows you to test and validate your solution in different environments without affecting the production system.
To leverage profiles effectively:
By using Execution Profiles, you can ensure a smooth transition between solution stages and minimize potential issues caused by environment differences.
Server and Client Processes and Computers
The software platform uses a client-server architecture for its execution processes.
Server and client processes can run on the same computer, handling both data acquisition and graphical displays. Alternatively, you can have a distributed system, where the solution file is installed on a server, and remote clients, with no local installation of the process, can access the graphical displays and interact with the server.
There are the various deployment network scenarios supported by this software platform.
Deployment Scenarios:
See below the typical usage for each scenario.
Standalone deployment involves running both the development and runtime environments on a single computer. This scenario is ideal for small-scale applications, testing, and development purposes. In standalone mode, the application communicates directly with the devices and data sources, and end-users access the user interface locally on the same computer.
Edge and embedded deployment scenarios involve running the runtime environment on edge devices, such as industrial PCs, IoT gateways, or embedded systems. In this case, the application is deployed close to the data sources and devices, providing lower latency and reduced network traffic. This scenario is suitable for applications that require real-time data processing and decision-making at the edge of the network.
Client-server deployment involves running the runtime environment on a dedicated server, with multiple clients connecting to the server to access the user interface and interact with the application. This scenario allows for better resource utilization, centralized management, and improved scalability. In a client-server architecture, the server is responsible for data collection, processing, and execution of solution logic, while clients display the user interface and provide user interaction capabilities.
Redundant deployment involves running the runtime environment on multiple servers, with each server acting as a backup for the others. This scenario provides high availability and fault tolerance, ensuring that the application continues to operate even if one server fails. Hot-standby systems consist of primary and secondary servers, where the secondary server takes over if the primary server fails, ensuring minimal downtime.
Cloud deployment allows running the runtime environment on a cloud-based server, enabling improved scalability, flexibility, and reduced infrastructure costs. In this scenario, the application is hosted on a cloud provider, and clients can access the user interface and interact with the application through the internet. Cloud deployment also simplifies management and maintenance, as the cloud provider takes care of the underlying infrastructure.
The Secure WebGateway deployment scenario allows remote access to the application over the internet without exposing the server directly to external networks. This approach provides enhanced security and enables remote monitoring, control, and management of the application. The Secure WebGateway acts as a proxy between clients and the runtime environment, handling authentication, encryption, and communication between the two.
According to your network scenario, as described in the previous topic, you will install the platform on one or more servers and enable access for various clients. Alternatively, you can set up standalone systems and edge devices.
Server-Side Installation:
Client-Side Installation.
Deployment Steps:
Detailed deployment steps are provided in the following sections.
This section guides you through the process of preparing your solution for deployment, focusing on key considerations and best practices related to installation, licensing, and system requirements.
Topics Covered:
The product must be installed and licensed on the target computer. Here is a reference to locate the information according to your deployment scenario and operating system.
Windows
Install using the Setup.exe application, which will install the product by default under c:\Program Files (x86), or the custom folder selected by during the installation.
The installation can be used by users on the computers.
Linux (or other operating system supported by .NET 8)
→ See more at Linux Deployment.
Docker
→ See more at Docker Deployment on Linux.
The production system requires a valid software License.
For information on how go get and apply a license, go to Licensing and Activation
A Solution can be created to target different product series options,
→ Read more about Product Series.
It's very important to verify if the License applied is consistent with the Product Model the solution is using. Meaning the license Family and Model (number of points) must match the settings defined in the solution, or be a superset of it. |
Here's how you can do that verification:
In the Designer software, go to Solution → Settings, and verify the Product Series (Family and Model) the solution was designed for. You may have also a Historian requirement.
In the Solutions Manager software, go to the License tab, and verify the license information for the computer you are running the solution on.
The License must be from a version equal or newer to your solution, and the product series must be equal or higher (in family type and quantity of tags) than your solution.
Your solution may required specific additional licenses, like IEC protocols, or licenses for third-party systems.
Each solution is saved in a single file with the extension .dbsln for standard solutions or .dbrun for read-only published solutions.
This file can be transferred to the target computer using the Solutions Management tool, a custom application created with the RemoteAPI for advanced scenarios, or manually via FTP or other file exchange tools available on your device.
Although one file contains the entire solution configuration, use the following checklist to ensure that any external dependencies are also addressed:
In a production environment, a streamlined installation and configuration process is crucial. While detailed instructions for software platform installation are available in the "Installation and Licensing" chapter, this section focuses on the Solution Configuration layer.
Running as a Service & Runtime Startup Parameters
→ See Server Startup Parameters for setup details.
Embedded Devices:
Redundancy Systems:
→ See Redundancy Configuration page for more information.
Licensing:
Installation:
Web Server:
Product and License Details:
For more Information about product and license models, refer to the Licensing and Activation page.
Optional Additional Steps
This section focuses on setting up client displays for the application, covering various client configurations, remote access options, and guidance on optimizing the user experience for end-users.
Topics Covered:
This section presents the setup and configuration processes for remote clients, including the various technologies supported by the platform:
The platform has also tools to assist on automatically starting the client applications, either using .NET or HTML5, when it detects the server is available.
For detailed information, refer to the child page Remote Clients Setup.
This section summarizes aspects of the software platform that address the importance of user authentication and security settings for client displays, including role-based access control, secure communication protocols, and best practices for maintaining a secure client environment. It also includes links to platform-specific security considerations for different client types.
Reference Links:
Remote Access API: We have tools for development of custom Remote Management Tools
Service Verification : Enables remote solution configuration access and advanced diagnostics and installation information, in case a manual setup or verification. Read more about Service Verification.
Built-in Monitoring Tool: The software platform have monitoring tools for all of your functions. Read more about UNS Connections Monitor, Devices Monitor, and Historian Monitor.
The interruption of the communication link with Server, clients nodes, or data collector is a typical issue that may occur in factory networks.
Use this checklist to verify the connective.
→ See Connectivity Verification.
It's vital to regularly monitor your software's performance and health for reliability and optimal functionality.
For strategies to optimize system performance, see our Best Practices Guide.
Navigating the intricacies of version control, maintenance, and upgrades is vital for the longevity and health of your deployed applications. By implementing robust strategies, you can ensure that your solutions remain up-to-date and reliable.
Version control is crucial for maintaining the consistency of your solutions. Effective tracking of both the core product and individual solutions helps avoid conflicts and allows for streamlined rollbacks if necessary.
Key Steps:
For Solution Tracking, leverage the built-in TrackChanges tools. For integration with other version controls systems, use the Automaticaly Export Changes on the Designer home page. |
Keeping your applications current ensures access to the latest features and security updates. Understanding the upgrade pathways is essential for a smooth transition between versions.
Upgrade Pathways:
Platform features to Assist on the Upgrade Process.
Use the Build (with Backup option flag) to create Solution Versions, with the rollback restore versions. Optionally, use the Publish command to send only controlled solution versions to production.
→ See Runtime Build and Publish
Use the Execution Profiles to facilitate Validation of the Solution upgrades.
In this section: