Managing Applications

Applications are used to organize, package, deploy, and maintain SCADA/HMI system resources in Iotellect SCADA/HMI.

This article covers the application lifecycle, including creation, modification, packaging, deployment, updates, and rollbacks using Iotellect platform tools.

For guidance on how to start creating a SCADA/HMI application, see Getting Started.

Application Management Entry Points

Application management actions are available from two main entry points:

  • The Application screen — a dedicated, task-oriented screen for common application actions, adding resources, packaging or exporting application data, rolling back deployed resources, and quick access to frequently used configuration tools.

  • The Administration screen — The platform administration screen that contains the System Tree. Use it to access the Application context menu and perform platform-level actions such as Deploy, Update, and other context actions available for the selected Application.

The exact set of available actions may depend on the application state, user permissions, installed modules, and the current Iotellect version.

Application Screen

The Application screen provides quick access to frequently used application actions and common configuration tasks.

The toolbar contains common application management actions available from the Application screen. Depending on the application state, user permissions, and available modules, these actions may include configuring the application, rolling back deployed resources, removing the application, packing the Application with its resources, exporting/importing the Application context, and other available operations.

The main workspace provides grouped action buttons for common platform operations used when building and maintaining application resources. These actions are grouped by purpose:

  • Connect — device connectivity, plugin management, OPC discovery, flexible driver configuration, model and class creation.

  • Design — dashboard creation, media library access, and report creation.

  • Maintain — alerts, scripts, scheduled jobs, event filters, event correlators, and related maintenance tasks.

  • Manage — user management, authorization, and other management actions.

These grouped buttons are shortcuts to standard Iotellect platform tools. They do not replace the application lifecycle operations described in this section, but provide quick access to the most common configuration tasks used while building or maintaining an Application.

Administration Screen

The Administration screen contains the platform System Tree.

Applications are listed under the Applications node. Use the Application context menu in the System Tree for platform-level actions that are not available directly from the Application screen.

The following guide explains how the Applications module can be used to manage resources as a "classic" SCADA project, and provides a comparison with how similar elements appear in a classic SCADA project.

Creating an Application Context

Classic SCADA

Typically, a new project is created by providing a name and a location in the file system where the project files will be stored. The project file often has a proprietary file extension which can only be accessed by the SCADA development environment.

Iotellect

A new application is created as a context in the Iotellect unified data model. Application contexts can be created from several entry points in the product.

The first step in organizing a new project is to create an Application context.

Applications can be created in several ways. For an overview of available starting points, see Getting Started. For guided creation, see Application Generation Wizard.

This section describes manual creation of an empty Application context.

To create an empty application manually, open the Applications screen and click Create. Select Start from Scratch at the bottom of the screen. Enter the application’s identifying information, including its Name and Description, following the context naming conventions. The Application Folder Path indicates the folder on the Iotellect where resources will be saved during the application packaging. Click OK to create the new application.

After the Application is created, you can add resources to it, configure its properties, and manage its lifecycle using the actions described in the following sections.

Adding Resources to the Application

Classic SCADA

SCADA resources such as devices, tags, HMIs, and trends are commonly added to a project one by one. In some systems it may be possible to automatically import multiple resources. Most systems include a resource management window, which allows for a view of all resources included in the project.

Iotellect

Application resources are defined in the Resources property of the application. Resources are referenced by their context paths and may include additional metadata such as description, category, version, and dependencies.

Once the application context has been created, its resources can be defined in different ways:

  1. Editing the Resources property manually using standard Iotellect platform tools, as described in the Application Configuration.

  2. Using the Add Resource button that is available from the Application screen toolbar.
    The Add Resource button is used to add existing system resources to the Application. Application resources may include devices, models, dashboards, alerts, reports, scripts, event filters, and other contexts that should be included in the application package and deployment lifecycle.

The Resources table lists all the resources which comprise the application. Click the Add Resource button on the toolbar of the Application screen to associate existing resources with the Application.

For each associated resource, configure the following properties as needed:

  • Resource: Context path to the resource to be included in the application.

  • Description: Textual description of the resource, which may be localized for multiple languages.

  • Context Description: Textual description to apply to the context created during the application deployment.

  • Category: String identifier to categorize the resource within the application's resource table.

  • Subcategory: Additional identifier for categorizing resources.

  • Group Name/Description: Defines a group to which the resource will be added during deployment.

  • Version: An integer indicating the resource version.

  • Dependencies: A table of resources upon which the current resource depends.

Resource Types

A SCADA system is composed of a number of different resources working together. These resources can be physical devices, such as sensors, controllers, and actuators. They can also be logical entities defined in software, such as tags, trends, alarms, and HMIs.

Iotellect provides a unified model for representing and managing these disparate resources, allowing for flexible and scalable SCADA implementations.

The following table lists typical SCADA resources and their Iotellect counterparts. Note that in several cases the name and general purpose of a resource are the same between traditional SCADA systems and Iotellect. However, the implementation and capabilities within Iotellect may offer additional advantages, such as enhanced data processing, visualization options, and flexible integration with other system components.

Classic SCADA

Iotellect

Notes

I/O Channels/Tags

Device Variables/Settings

In Iotellect, every device connected to the system is represented by a Device context. Device variables (settings) within this context correspond to the I/O channels or tags of the classic SCADA system.

HMI

Dashboards

HMI functionality in Iotellect is implemented with Dashboards that provide graphical user interfaces for monitoring and control.

Trends

Charts

Reports

Iotellect offers multiple methods for creating trends based on statistical data, variable history, or any other data source available within the unified data model.

Alarms

Alerts

Alerts in Iotellect provide a flexible mechanism for defining and managing alarms based on events, variable states, or any other criteria.

Master Station/Server

Iotellect Server Server

Iotellect Server is the central component of the Iotellect platform, responsible for data acquisition, processing, and distribution.

RTU/PLC

Device Context

Each RTU or PLC connected to Iotellect is represented as a Device context within the unified data model.

Communication Infrastructure

Device Drivers, Plugins

Iotellect supports various communication protocols and methods through device drivers and plugins, enabling seamless integration with diverse hardware.

Historian

Variables History,
Event History, Statistics

Iotellect allows historical data to be stored persistently as variables history, events, or aggregated into statistics channels.

Database

Storage Facility

Iotellect supports multiple types of storage facilities, including relational, NoSQL, graph databases, and file storage.

Scripts/Calculations

Models, Scripts

Complex data processing and calculations are implemented in Iotellect using models with rule sets and/or scripts written in the expression language, as well as other common languages like Java and Python.

Project

Application

Applications within Iotellect supersede projects by providing version control, modular design, simplified deployment, and centralized resource management.

Packaging and Exporting the Application

Classic SCADA

Depending on the system, projects can be exported as a single file (often proprietary), multiple files, or a directory containing all project files and assets.

Iotellect

Applications can be packaged with their resources using the Pack action. The Export action is also available, but it exports only the Application context itself, without the resources included in the Application.

Use Pack when you need to package an Application together with its resources for backup, transfer, installation, or deployment on another Iotellect instance.

Use Export only when you need to export the Application context itself as a .prs file. The exported context does not include the resources listed in the Application.

Packing the Application

The Pack action packages the Application and its resources. It provides several operation types:

  • Save to Server Folder — saves the packaged Application and its resources to a folder on the Iotellect server file system.

    Download as ZIP Archive — downloads the packaged Application and its resources as a .zip archive.

  • Download as JAR Archive — downloads the packaged Application as a .jar archive that can be used as Iotellect plugin package.

Save to Server Folder

Use Save to Server Folder when the package should remain on the server, for example for backup, development workflow, or further processing by external tools.

The package includes the Application configuration and the resources included in the Application, such as Device, Model, Dashboard, Alerts, Event Filters, and other application resources. Each included resource is exported as a separate resource file.

In addition to the resources, a file application.properties contains properties of the application itself.

The resulting folder can be used for backup, migration, or further processing by external tools. It can also be added to an external version control system such as Git, Mercurial, or SVN for managing application development and deployments to multiple Iotellect environments.

Download as ZIP Archive

Use Download as ZIP Archive when the package should be downloaded, transferred, stored, or imported into another Iotellect environment.

Download as JAR Archive

Use Download as JAR Archive when the Application should be distributed or installed as a plugin package on another Iotellect instance.

Exporting the Application Context

The Export action is available from the Application screen toolbar. The Export action exports only the Application context itself, without the resources included in the Application.

The exported context can be downloaded as a .prs file and later imported into another environment. Since this operation does not include the Application resources, it should not be used as a full application packaging or deployment mechanism.

For full application transfer or deployment, use Pack instead.

Deploying the Application

Classic SCADA

Depending on the system, project deployment can involve copying one or more files to a target machine, installing a program or plugin, modifying operating system parameters, or manually creating resources such as devices and tags in a target SCADA runtime environment.

Iotellect

Deploying an Application consists of creating its associated resources in the Iotellect instance, e.g., automatically creating dashboards, devices, models, etc.

Once the application is packaged using one of the above methods, it can be deployed using the Deploy action. The Deploy action is available from the Application context menu in the Administration screen for Applications installed as plugin packages (such as Applications installed from a .jar archive).

If the Application is provided as a .zip archive or available in a server folder, it must be imported through the appropriate Application context action in the Administration screen before it can be used.

If the Application is provided as a .jar archive, install it as a plugin on the target Iotellect instance and restart the server if required. After that, the Application appears in the Applications list and can be deployed from its context menu in the Administration screen.

The Deploy action has the following parameters:

  • Deployment User Mode: Defines the user that will own the resources created by Application deployment. Available options are Application owner, Current user, and Select custom user.

  • Deployment User Context: Context of user that should own resources.

  • Remove Orphans: If true, orphaned resources (that are not part of the current application but were part of a previous version) will be removed once the Application is deployed.

When deployed, the Deploy action creates or updates each resource defined in the Application based on the indicated properties.

Updating the Application

Classic SCADA

Updating a deployed SCADA project often involves backing up the current project state, importing a new project version, and checking the updated resources in the runtime environment.

Iotellect

Once an application has been deployed, it can be updated with a new version. The Update action has several options for selecting the update source, handling existing contexts, and processing errors.

The Update action is available from the Application context menu in the Administration screen.

The Update action can be used to modify or update resources associated with the application. Several parameters allow for fine-grain control over how the update will take place:

  • Operation Type: Indicate the type of data source that will be used to update the application, either loading update data from an Application folder on the Iotellect server file system or uploading it as a .zip archive.

  • Application Folder Path: Path to the application folder used as an update source.

  • Handling Existing Contexts: Indicate the behavior for updating a context which already exists, either to Skip, Replace or Update the existing context.

  • Error Handling: Defines how errors are handled during update, either by ignoring errors and continuing the update process, or by reverting the update if an error occurs.

  • Delete Not Listed Contexts: Deletes contexts that are not listed in the updated Application, depending on update parameters.

Removing Resources

Classic SCADA

The mechanism for removing resources in traditional SCADA systems depends on the specific software being used. Common options are either removing the entire project from a server, or individually deleting resources if the project is still deployed on a server.

Iotellect

In Iotellect, resources created by Application deployment can be removed by rolling back the Application deployment. The Rollback action reverses the Deploy action by removing resources that were created during deployment.

The Rollback action is available from the Application screen toolbar when applicable.

Use the Rollback action when you need to remove resources that were created during Application deployment. For example, if an Application deployment created a Model, rolling back the Application removes that Model from the system tree.

The Application context itself is not removed by Rollback. Locally modified resources may also remain, depending on how they were changed after deployment.

If you need to remove or adjust only selected resources without rolling back the entire deployment, edit the Application resources and remove or delete the relevant contexts using standard Iotellect platform tools.

Was this page helpful?