- 5 minutes to read

Hierarchical BPMs

New 7.3

Breaking down enterprise-scale complexity with nested business processes

Starting with Nodinite 7.3.0, BPM cells can contain sub-processes (other BPMs) in addition to Services. This hierarchical capability eliminates the false choice between oversimplified high-level diagrams (missing operational detail) and overwhelming monolithic BPMs (impossible to navigate).


Why Use Hierarchical BPMs?

Modern enterprise integration landscapes are inherently complex. High-level business processes like "Order-to-Cash" or "Procure-to-Pay" contain dozens of sub-processes, each with multiple technical implementation steps. Before Nodinite 7.3.0, you had two poor options:

Oversimplified High-Level BPMs - Easy to understand but missing critical operational detail for troubleshooting
Monolithic Detailed BPMs - Complete information but overwhelming and impossible to navigate

Hierarchical BPMs solve this dilemma by letting you model both strategic business processes AND tactical execution workflows in a single unified hierarchy.

Key Capabilities

Decompose large processes - Break down monolithic enterprise workflows into manageable master and sibling sub-processes
Unlimited hierarchy depth - Sub-processes can have their own sub-processes, creating flexible multi-level process trees
Progressive drill-down in Log Views - Click on a sub-process cell to filter log events specific to that sub-process—eliminating manual correlation
Manage complexity at scale - Model realistic enterprise architectures where high-level order-to-cash processes contain detailed sub-processes for credit checks, inventory allocation, shipping routing, and payment reconciliation
Reuse sub-processes - Define common sub-processes once (e.g., "Customer Validation", "Payment Gateway") and reference them in multiple master processes

How It Works

Create Sub-Processes in BPM Designer

In the BPM Designer, you can now add sub-processes to any cell alongside Services:

  1. Open the BPM Designer for your master process
  2. Navigate to the cell where you want to add a sub-process
  3. Click "Add Sub-Process" and select an existing BPM from the repository
  4. The sub-process appears in the cell with a distinctive icon indicator
  5. Click the sub-process to open its own designer view

Sub-processes can themselves contain sub-processes - there is no depth limit.

Progressive Drill-Down in Log Views

When viewing a master process in a grouped Log View:

  1. All log events from the master process AND all sub-processes are matched initially
  2. Click any sub-process cell to filter and show only log events for that specific sub-process
  3. Navigate deeper by clicking nested sub-processes to apply additional filtering
  4. Return to master view by clicking the breadcrumb navigation at the top

This progressive drill-down enables you to start with a high-level process overview and navigate to detailed sub-process execution logs—eliminating manual correlation across fragmented process views.

Example Use Case: Order-to-Cash

Master BPM: Order-to-Cash

An enterprise "Order-to-Cash" master BPM contains three main sub-processes spanning multiple domains:

┌─────────────────────────────────────────────────────────────┐
│ Order-to-Cash (Master BPM)                                  │
├─────────────────────────────────────────────────────────────┤
│ Sales Domain:   [Order Entry] → [Credit Check Sub-Process] │
│ Finance Domain: [Payment Processing Sub-Process]            │
│ Warehouse:      [Inventory Allocation] → [Shipping Sub-Process] │
└─────────────────────────────────────────────────────────────┘

Sub-Process: Shipping & Logistics

The "Shipping & Logistics" sub-process itself contains additional sub-processes:

┌─────────────────────────────────────────────────────────────┐
│ Shipping & Logistics (Sub-Process)                         │
├─────────────────────────────────────────────────────────────┤
│ IT Domain:       [Carrier Selection Sub-Process]            │
│ Warehouse:       [Label Printing Sub-Process]               │
│ Customer Service: [Tracking Updates Service]                │
└─────────────────────────────────────────────────────────────┘

Troubleshooting Workflow

When investigating a delayed shipment:

  1. Start in the Order-to-Cash master view - see all 247 log events across all sub-processes
  2. Click the Shipping Sub-Process cell - filter to 58 shipping-related events
  3. Click the Carrier Selection Sub-Process - drill down to 12 carrier selection events
  4. Identify the issue: Carrier API timeout in step 3

Without hierarchical BPMs, you would manually correlate these 12 events across disconnected log views. With hierarchical BPMs, three clicks take you from high-level overview to root cause.

Architecture Changes

Data Structure

Sub-processes are stored as references in BPM cells:

{
  "bpmId": "guid-master",
  "name": "Order-to-Cash",
  "cells": [
    {
      "row": 0,
      "column": 1,
      "services": [],
      "subProcesses": [
        {
          "bpmId": "guid-credit-check",
          "name": "Credit Check Workflow",
          "displayName": "Credit Check"
        }
      ]
    }
  ]
}

Log View Filtering

When a user clicks a sub-process cell in a grouped [Log View][]:

  1. The BPM ID filter is updated to the selected sub-process BPM ID
  2. All existing search field filters are preserved
  3. Log events are re-queried with the new BPM filter
  4. Breadcrumb navigation is updated to show the drill-down path
  5. User can navigate back to parent levels via breadcrumbs

Best Practices

When to Use Sub-Processes

Use sub-processes when:

  • A logical process unit appears in multiple master processes (e.g., "Customer Validation")
  • A process step requires 5+ services across multiple domains
  • Business stakeholders need high-level view but operations teams need detailed troubleshooting
  • Process complexity makes a single BPM difficult to navigate

Avoid excessive nesting when:

  • A process step has only 1-2 services (use regular services instead)
  • Sub-process would only appear in one master process (inline the services)
  • Hierarchy depth exceeds 4-5 levels (consider re-thinking process decomposition)

Naming Conventions

Use clear, action-oriented names for sub-processes:

Good: "Credit Check Workflow", "Shipping & Logistics", "Payment Gateway Integration"
Poor: "Sub-Process 1", "Finance Stuff", "Step 3"

Reuse Sub-Processes

Maximize value by reusing common sub-processes:

  • "Customer Validation" - Used in Order Entry, Account Creation, Support Ticket, Returns
  • "Payment Gateway" - Used in Order-to-Cash, Subscription Billing, Refund Processing
  • "Email Notification" - Used across all processes for status updates

Version Compatibility

  • Nodinite 7.3.0+ - Full hierarchical BPM support with progressive drill-down
  • Nodinite 7.0-7.2 - BPMs display sub-processes as read-only; cannot create new sub-processes
  • Nodinite 6.x - Sub-processes not supported; master BPMs display but sub-process cells appear empty

Next Steps

What is the BPM Designer – Learn how to use the BPM Designer to create hierarchical processes
Add or manage BPM – Step-by-step guide to creating and editing BPMs
End-to-End Process Tracking – Understand milestone-based logging and correlation

Business Process Model (BPM) – Complete BPM overview and concepts
Domains – Define organizational swimlanes for BPM processes
Services – Integration services that execute process steps
Log Views – View and filter events for BPM steps