ProcessMIX Guide
  • Platform Overview
    • Introduction
    • Platform Purpose
    • Main Concepts
      • Organization Structure
      • Visual Language
      • Project Development Environment (IDE)
      • Deployment and Integration
      • Administration and Troubleshooting
    • First Steps
    • Change Log
      • 5.0.0
      • 5.0.5
      • 5.0.5.1
      • 5.0.5.2
      • 5.0.5.3
      • 5.0.5.4
  • Language Reference Guide
    • Overview
    • Data Structures and Types
      • Core Types (pdk.core)
      • Dictionary (pdk.asset.dictionary)
      • Scorecard (pdk.asset.scorecard)
      • Blockchain (pdk.blockchain)
      • Exceptions (pdk.ex)
      • Input/Output (pdk.io)
      • JSON Web Token (pdk.jwt)
      • Networking (pdk.net)
      • HTTP (pdk.net.http)
      • SOAP/Web Services (pdk.net.soap)
      • XML/DOM (pdk.net.xml)
      • S3 (pdk.s3)
      • SQL (pdk.sql)
      • Postgres (pdk.db.postgre)
      • Util (pdk.util)
      • Default Data Structure Field Values
    • Flows
      • Variables
        • Local Flow Variables
        • Node Variables
      • Flow Node Types
        • Core Nodes
          • In
          • Out
          • Assign
          • If
          • Switch
          • Iterator
          • Function Call
          • Subflow
          • Raise Exception
          • Exception Handler
          • Validator
        • Connector Nodes
          • Database Begin Transaction
          • Database Commit Transaction
          • Database Rollback Transaction
          • Database Query Executor
          • EVM Blockchain Functions
          • EVM Blockchain Smart Contract Functions
          • REST Service Executor
          • SOAP Service Executor
          • S3 Connector
          • SMB Connector
      • Expressions
      • Built-In Functions
        • Expression functions
          • pdk.util.Any
          • pdk.util.Array
          • pdk.util.Blockchain
          • pdk.util.Cast
          • pdk.util.Codec
          • pdk.util.Crypto
          • pdk.util.Date
          • pdk.util.File
          • pdk.util.Json
          • pdk.util.JWT
          • pdk.util.Map
          • pdk.util.Math
          • pdk.util.String
          • pdk.util.Util
        • Node functions
          • pdk.flow.Any
          • pdk.flow.Array
          • pdk.flow.File
          • pdk.flow.JsonArray
          • pdk.flow.JsonObject
          • pdk.flow.HttpRequest
          • pdk.flow.HttpResponse
          • pdk.flow.Logger
          • pdk.flow.Map
          • pdk.flow.Xml
            • pdk.flow.xml.XmlAttr
            • pdk.flow.xml.XmlElement
            • pdk.flow.xml.XmlNode
            • pdk.flow.xml.XmlDocument
            • pdk.flow.xml.XmlDocumentType
            • pdk.flow.xml.XmlDOMConfiguration
            • pdk.flow.xml.XmlDOMImplementation
            • pdk.flow.xml.XmlProcessingInstruction
            • pdk.flow.xml.XmlTypeInfo
            • pdk.flow.xml.XmlCharacterData
            • pdk.flow.xml.XmlText
            • pdk.flow.xml.XmlNamedNodeMap
          • pdk.node.BlockchainEth
          • pdk.node.S3
          • pdk.node.Smb
      • Exceptions
        • Checked Exceptions
        • Runtime Exceptions
    • Assets
      • Dictionary
      • Decision Table
      • Scorecard
      • PMML
    • Connectors
      • DB Connector
        • Prepared Query
        • Dynamic Query
        • Query input parameters
        • Stored Procedure
      • REST Connector
      • SOAP Connector
      • S3 Connector
      • SMB Connector
      • EVM Blockchain Connector
    • Global Variables
    • Appendices
      • Overview of Database Transactions
      • Reserved Words
  • Project Development Environment (IDE)
    • Project Explorer Panel
    • Flow Builder
    • Flow Node Editor
    • Data Structure Builder
    • Connector Builders
      • REST Connector Builder
      • SOAP Connector Builder
      • DB (Database) Connector Builder
      • EVM Blockchain Connectors Builder
      • S3 Connector Builder
    • Asset Builders
      • Dictionary Builder
      • Decision Table Builder
      • Scorecard Builder
      • PMML Asset Builder
    • Global Variables Panel
    • Expression Editor
    • Project Deployment and Execution
    • Cron Expression Generator
    • Test Helper
    • Debugging the Project
    • DB transactions
    • Team Collaboration Tools
      • Version Control
      • Conflict Resolver
    • Selectors
    • Error Panel
    • Local History
  • Home and Administration Guide
    • Organization and Subscription
    • Organization Team
    • Repositories and Projects
    • Environments
    • Deployments
    • Database Provisioning
    • Roles and Permissions
  • Logs and Troubleshooting
    • Request/Call Logs
    • Deployment Logs
    • Application Logs
  • Appendix: Example Project
    • Risk Mitigation Solution
Powered by GitBook
On this page
  1. Platform Overview
  2. Main Concepts

Visual Language

PreviousOrganization StructureNextProject Development Environment (IDE)

Last updated 6 months ago

Being a low-code platform, ProcessMIX does not rely on a traditional text-based programming language, except for single-line conditional expressions. Instead, to express application logic it relies on a visual "language" - a well-defined set of visual constructs such as graphs, blocks and spreadsheet-like charts. This makes the logic more transparent and easy to understand, while at the same time reducing the chance for errors (bugs) to be inadvertenly introduced into it.

Below are main concepts and building blocks of the ProcessMIX visual language:

  • Flows: directed graphs (flowcharts) with nodes representing individual steps or tasks, and with connections between them, which control the order of node execution. Flow nodes can evaluate expressions and invoke functions, decision supporting assets and connectors, call other flows (subflows), as well as raise and handle exceptions in abnormal situations. Flows have input and output parameters and can also declare local variables. Individual nodes in a flow also generate node variables that can be accessed later in the flow.

    • Expressions and built-in function calls are one-line snippets of code that are used for condition checks or for calculations of values to be assigned to a data structure fields.

    • Variables store intermediate flow information. Values returned from the execution of flow nodes are also stored automatically as node variables, and can be used by subsequent nodes.

    • Exceptions and exception handlers are specialized nodes that interrupt normal flow execution in case of rare/abnormal situations and redirect it to a completely different processing path.

    • Flow channel setting controls how this flow will be called - as a REST or SOAP service from the Web, as a scheduled task (batch job), or as a subflow to be included as a task node into another flow.

  • Data structures: data definitions that are used by flows and other project conmponents to make decisions or use as return values. They can be as simple as a single field, or as complex as hierarhical data trees with nested lists (array) and key-value lookup tables (map). Individual fields can have various types, such as String, Boolean (true/false indicator), Integer (whole number), Float (real/decimal number), Date (date/time value), or a complex type (another data structure).

  • Assets: specialized entities that visually represent various types of decision-making logic and supporting data in a form that is most convenient for viewing and understanding. Among their types are decision tables (collections of business rules expressed in a spreadsheet format), dictionaries (another type of spreadsheet containing frequently used lookup data such as lists of business codes with their descriptions), scorecards (a special type of predictive analytic model for calculating risks in a form of easily explained scores), and PMML models (other types of predictive models that can be trained with machine learning algorithms and imported into ProcessMIX to make predictions).

  • Connectors: integration components that can be configured to connect to external data sources or services and added to flows as nodes to make calls to them at the right moment. Standard connector types include REST and SOAP connectors, DB (relational database) connector, S3 (Amazon Simple Storage Service) connector, EVM Blockchain connector. Other types can be provided on as-needed basis, e.g. Kafka connector for integration with message queues and publish/subscribe topics.

  • Global variables: project environment settings, connector parameters and secrets (e.g. passwords) that are accessible from all flows. They can be overriden by administrators at the deployment time, so that different parameter values can be used in different environments.

More details can be found in the .

Language Reference Guide