- 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, with no fixed depth limit
  • Progressive drill-down from search results - Open a sub-process directly from a grouped search, or click into it from the parent BPM—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 add sub-processes to any cell alongside Services:

  1. Open the BPM Designer for your master process
  2. Drag the process icon from the Process section in the toolbox and drop it onto the cell where you want the sub-process
  3. In the BPM to use in a sub-process of another BPM dialog, click Use on an existing BPM
  4. The sub-process appears in the cell as a square node, distinct from the rounded Service nodes

For the full walkthrough with screenshots, see Add or manage BPM.

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

Manage a Sub-Process in the Designer

Right-click a sub-process shape in the Designer to open its menu:

  • Change Process - Replace the sub-process with another BPM
  • Go to Edit - Open the sub-process in the Designer in a new browser tab
  • Delete - Remove the sub-process from the cell

Right-click menu on a sub-process shape with Change Process, Go to Edit, and Delete
The right-click menu of a sub-process shape in the BPM Designer.

Go to Edit opens a new tab, so there is no back navigation in the Designer; close the tab to return to the parent BPM.

Drill Down from Search Results

When you search log events in a grouped Log View, the search matches events from the master process and all its sub-processes.

  1. Open the BPM menu in the group header - It lists the BPMs that match the events, and below them their Sub-processes (one nesting level)
  2. Pick the parent BPM or a sub-process - Open the level you need directly
    BPM menu in a group header listing a matching BPM and its sub-process
    The BPM menu of a search group lists the matching BPMs and, under Sub-processes, their sub-processes.
  3. Click into a sub-process - In a BPM opened from a search, click a sub-process cell to drill into it
  4. Navigate back to the parent - A button with the parent BPM's name, shown above the BPM, takes you back
    BPM Viewer with a button that navigates back to the parent BPM
    After drilling into a sub-process, the button above the BPM returns to the parent BPM.

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 the log events across all sub-processes
  2. Click the Shipping Sub-Process cell - narrow to the shipping-related events
  3. Click the Carrier Selection Sub-Process - drill down to the carrier selection events
  4. Identify the issue: Carrier API timeout in step 3

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

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

Hierarchical BPMs were introduced in Nodinite 7.3.0.


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
Integrated Monitoring – Service health, Remote Actions, and Knowledge Base Articles in every BPM level
Log Views – View and filter events for BPM steps
Search log events from a BPM – Search, result, and BPM on one page