Core Concepts and Terms
With Heisenware, you build and run custom applications that collect, connect, process, store, and visualize data. Understanding the following concepts and terms is key to mastering the platform.
Core Concepts
Heisenware is not just a drag-and-drop interface; it is a visual programming environment that exposes a sophisticated, distributed architecture designed for industrial scalability.
1. Transparency & Flexibility
Standard no-code platforms often act as "Black Boxes"—they abstract complexity so heavily that you hit a wall when you need custom logic. Heisenware operates much more transparently. We visualize the underlying engineering rather than hiding it.
Visual, yet Code-Capable: You build logic visually using the Flow Builder, but you retain direct access to powerful developer tools like JavaScript expressions for data transformation, and YAML for configuration.
No "No-Code Cliff": When pre-built blocks aren't enough, you don't hack workarounds. You simply extend the platform by wrapping your own code (Node.js, Python, C++) into Extensions that become native low-code blocks.
2. Object-Oriented Scalability
Unlike linear scripting tools that struggle to manage multiple devices, Heisenware uses a strict Object-Oriented Model. This allows you to build logic once and instantiate it across an entire fleet.
Classes (The Blueprint): Reusable logic definitions (e.g., an
Emailclass or a genericMachineconnector).Instances (The Asset): Living, stateful copies of a Class. You don't write code for "Machine A"; you instantiate the
Machineclass with Machine A's specific IP and credentials.Stateful Context: Because member functions (methods) belong to specific instances, they inherently know their own context (e.g., which server configuration to use) without passing global variables.
3. Native Event-Driven Architecture
Industrial systems are asynchronous—sensors spike, users click, and machines stop at unpredictable times. Heisenware applications are natively Event-Driven.
Reactive Logic: Your backend flows do not run in a linear loop. They sit dormant until a specific Trigger (an event) fires.
Event Sources: Triggers can be user interactions (UI events) , data changes (e.g., a PLC tag update) , or system lifecycle events.
Non-Blocking: This architecture ensures your UI remains responsive while backend logic handles complex data processing or long-running tasks asynchronously.
4. Distributed Connectivity
We solve the "OT vs. IT" network gap by treating local hardware as a first-class citizen of the cloud platform.
The Bridge: Through Native Agents and Docker Agents, we securely bridge local, private networks (OT/Shopfloor) to the cloud without VPNs or firewall holes.
Local Execution: You can push backend logic (Connectors) to run locally on the edge device (via the Agent). The platform treats these remote functions exactly the same as cloud functions, creating a seamless distributed system.
5. Unified Data Binding
We eliminate the "glue code" typically needed to connect a frontend to a backend.
Direct Linking: In the App Builder, you connect a backend function's Output directly to a frontend widget's Property.
Reactive UI: When the backend data changes (e.g., a new sensor reading flows out of a function), the bound UI widget (e.g., a Gauge) automatically re-renders to reflect the new state.
Glossary of Terms
A quick-reference list of specific terms used across the Heisenware platform.
Account
Highest level of organization in Heisenware. Your account should name like you company and will be used as part of the URL, e.g. acme.heisenware.cloud
Agent
An executable program deployed in a private network to establish a secure connection with a system in that network.
App
A stand-alone software application built and published with Heisenware. By nature, all Heisenware apps are Progressive Web Apps (PWAs).
App Builder
The visual, low-code development environment where you design, build, and test your applications.
App Manager
The administrative dashboard of the Heisenware platform where you manage your workspaces, apps, members, and integrations.
Application Logic
The part of an app that handles data processing and behavior, consisting of integrations, data storage solutions, and flows.
Build time
The phase when a developer is actively designing, configuring, and assembling an application in the App Builder.
Code Adapter
The piece of custom code a developer writes to wrap around existing software libraries, making them accessible to the Heisenware platform.
Command
An action that causes a temporary, non-persistent change to a widget's state, such as highlighting it.
Deployment
The process of publishing a new version of an app, making it live and accessible to end-users.
Domain
The domain combines your account and your workspace into a single identifier using a . for concatenation. If you did not create another workspace it will be called default . So for an account name acme the domain is: acme.default
Event
A trigger that the application can respond to, such as a user clicking a button, a database update, or a timer finishing.
Flow
A sequence of connected functions in the application logic that defines how data is processed and passed between different steps.
Integration
A configured, secure entry point that allows an external system (like an Agent or a Code Adapter) to send data to your Heisenware account.
JavaScript expressions
A feature allowing the use of standard JavaScript expressions to perform simple data transformations or calculations on the fly.
JSON (JavaScript Object Notation)
A standard data format supported in Heisenware for structuring and exchanging data.
JSONata
A powerful query and transformation language available within Heisenware to reshape complex data from one format to another on the fly.
Member
A user who has access to your Heisenware account to build and manage applications, as distinct from an end-user of a finished app.
Property
A setting or value of a widget that can be read or changed by the application logic and persists over time (e.g., the text inside an input field).
PWA (Progressive Web App)
An application that runs in a web browser but offers a user experience similar to a native mobile or desktop app, including fast performance and no installation requirement.
Runtime
The phase when a deployed application is live and actively running. During runtime, the app responds to user input and executes its logic.
Tag
A named and exportable version of a Heisenware app.
Template
A specific tag that serves as a starting point or blueprint for creating a new app.
User Interface (UI)
The visual part of an app that an end-user interacts with to view data, input data, and trigger actions.
Widget
A specific element of the user interface used to display data (e.g., a chart) or collect user input (e.g., a button or text field).
Workspace
A container within your account used to organize related apps, members, and integrations.
YAML
A human-readable data format often used for writing configuration files. In Heisenware, it is used to configure functions.
Last updated