You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Introduction and Key Concepts

When you finish developing and testing your project, you can deploy the runtime application so it can be used by end-users. Projects can be deployed to run locally on a stand-alone computer or embedded device, in a client-server distributed architecture, on the cloud, or using Hot-Standby Redundant systems.

This section explains the architecture of the Tatsoft FactoryStudio application deployment, including the relationship between the development and runtime environments. It reviews how to use the Execution Profiles feature, which allows the same Project configuration file to be shared on the Development, Testing, and Production installations. This organization simplifies the maintenance and the quality assurance of your solutions.

On this page:


Development vs Runtime Environments

In Tatsoft FactoryStudio, the development environment is where you design, configure, and test your project. It provides a comprehensive set of 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 the actual devices, data sources, and end-users. It executes the project'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 project from the development environment to the runtime environment, ensuring that all necessary settings, configurations, and resources are correctly transferred and applied.

Leveraging Profiles: Development, Test and Production

Execution Profiles in Tatsoft FactoryStudio enable you to manage different stages of your project lifecycle efficiently. By using profiles, you can apply settings and configurations specific to the Development, Test, and Production environments without having to create separate project files.

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 project in different environments without affecting the production system.

To leverage profiles effectively:

  1. Create separate Execution Profiles for Development, Test, and Production.
  2. Define environment-specific settings and configurations for each profile.
  3. Deploy the project to the appropriate environment, making sure to select the corresponding Execution Profile during deployment.

By using Execution Profiles, you can ensure a smooth transition between project stages and minimize potential issues caused by environment differences.

Server and Client Processes and Computers

FrameworX uses a client-server architecture on its execution processes. 

  • Server process: The Server processes are modules that has globals impact in the Application, such as Data Acquisition, Historian, Alarms and server side calculations.
  • Client process: The client components are the graphical user interfaces and related scripts.

Those Server and Clients processes can run on the same computer, when running both the data-acquisition and the graphical displays on the same computer, or you can have an Distributed System, where the Project file in installed in a server, and remote clients, with no local installation of the process, can access the Graphical Displays and interact with communication with the server.


Deployment and Architecture Scenarios

In this section, we will discuss various deployment architecture options and scenarios available in Tatsoft FactoryStudio. Each scenario has its benefits and is suited for different situations, depending on factors such as network topology, available hardware, and performance requirements. Explore the following scenarios to find the best fit for your application:

  • Standalone Computers (2.1): Suitable for small-scale applications, testing, and development purposes.
  • Edge and Embedded Devices (2.2): Ideal for real-time data processing and decision-making at the network edge.
  • Distributed systems (2.3): various client stations accessing a server, or server to server communications. Offers better resource utilization, centralized management, and improved scalability.
  • Redundant Servers and Hot-Standby Systems (2.4): Provides high availability and fault tolerance for critical applications.
  • Cloud Deployment (2.5): Enables improved scalability, flexibility, and reduced infrastructure costs.
  • Using the Secure WebGateway (2.6): Enhances security and enables remote monitoring, control, and management of the application.

By understanding the different deployment scenarios, you can choose the most suitable architecture for your specific application requirements and ensure a smooth deployment process.

Standalone Computers

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 Devices

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 Operations

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 project logic, while clients display the user interface and provide user interaction capabilities.

Redundant Servers and Hot-Standby Systems

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

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.

Using the Secure WebGateway

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.


Preparing for Deployment

This section guides you through the process of preparing your Tatsoft FactoryStudio application for deployment. It focuses on key considerations and best practices related to installation, licensing, and system requirements while referencing the relevant chapters in the product documentation for detailed information. The topics covered include:

  • Addressing specific installation and licensing considerations during deployment
  • Deploying the application on different platforms, including system requirements and platform-specific instructions
  • Handling licensing and activation requirements to avoid restrictions or limitations
  • Conducting post-deployment verification to ensure successful installation and application functionality

Multiple Platform Support, installation and licensing

This section summarizes the deployment process on various platforms, such as Windows, Linux, and Docker environments. It includes references to the specific documentation topics on installation steps and platform platform-specific instructions.

Platform Overview > System Requirements: introduces the various platforms and its requirement, where you can deploy your Project solution. 

Project Development > Installation and Licensing: central point for details information on installation procedures.

Project Development > installation and Licensing >  Managing License and License Server setups presents the licensing methods.

Project Development > Deploying the Application > Deployment Checklist and product models: Basic verifications when preparation to deploy in production, including if the License Family and Model in the Target Computer will be able to execute the model selected in your project configuration.

Setup the Project on the Production Environment

Provide guidance on the installation and configuration process for deploying the application, the Project file, and its settings in production environments. Focus on specific steps and settings relevant to production use. Refer to the "Installation and Licensing" chapter for detailed installation instructions on FactoryStudio itself; this section focuses on the Project Configuration layer.

Post-deployment Verification

Emphasize the importance of verifying the successful installation and functionality of the deployed application. Outline the recommended steps and checks to ensure a seamless deployment experience and confirm that the application operates as intended in the production environment.


Setup for Client Displays and Remote Visualization

This section focuses on setting up client displays for the Tatsoft FactoryStudio application. It covers various client configurations, remote access options, and guidance on how to optimize the user experience for end-users. The topics covered include:

  • Configuring remote client setups and access options for different client types, including mobile and web-based access
  • Implementing auto-start client displays for efficient application launching
  • Managing user authentication and security settings for client displays
  • Optimizing client display performance and responsiveness across platforms and devices

Remote Client Setup, Desktop, Web and Mobile

This section presents the setup and configuration processes for remote clients, including the various technologies support by the platform

  • Windows based rich clients, using WPF (Windows Presentation Foundation)
  • .NET SmartClients, which allows no-install thin-client access from compatible platforms. 
  • HTML5 web pages, for both desktop and mobile devices.

Go to chid page <Remote Clients Setup> for detailed information.

Auto-Starting .NET and HTML5 Clients

FrameworX has the ability to automatically start the client application, either using .NET or HTML5, when it detects the Server is available. 

The child page <Auto-Start Client Displays> has information on how to configure and use that features.

User Authentication and Security

This section summarizes various aspects of FrameworX documentation, which addresses the importance of user authentication and security settings for client displays, role-based access control, secure communication protocols, and best practices for maintaining a secure client environment. It also includes the links on platform-specific security considerations for different client types.

Platform Overview > Security and Compliance: high level view of security and compliance features in FrameworX.

Project Development > Security, Users and Roles: configuration of development and runtime users, definition of User Roles and access on Displays and Commands.

Project Development > Security → Windows AD / LDAP Servers: explains about Active Directory integration and alternate security models for non-Windows targets. 

Project Development > Displays > (Need to create): explain how to customize the built-in Logon page for remote clients and operators. 

Secure Multi-Port WebGateway: explains the built-in to route data across Network Security zones, and create application level protection for intrusions.


Remote Management and Monitoring

Discuss options for deploying and managing applications remotely, including any web-based tools or remote access features. Explain built-in tools and features for monitoring the performance and health of the deployed application, as well as troubleshooting any issues that may arise.

Tools for Remote Management

<<includes mention of Remote Access API and other builtin tools>>

Monitoring performance and health

 << mention <Troubleshooting and diagnostics> with link to main chapter on that>


Version Control, Maintenance and Upgrades

Discuss strategies for managing version control and upgrading deployed applications, including any recommended workflows and tools.

Managing version control for Product core and Project

Recommended workflows, tools and techniques.

Upgrading Deployed Applications

<< Mention Troubleshooting common issues with pointer to main chapter on that>


In this section...

  • No labels