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:
- Open the BPM Designer for your master process
- Navigate to the cell where you want to add a sub-process
- Click "Add Sub-Process" and select an existing BPM from the repository
- The sub-process appears in the cell with a distinctive icon indicator
- 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:
- All log events from the master process AND all sub-processes are matched initially
- Click any sub-process cell to filter and show only log events for that specific sub-process
- Navigate deeper by clicking nested sub-processes to apply additional filtering
- 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:
- Start in the Order-to-Cash master view - see all 247 log events across all sub-processes
- Click the Shipping Sub-Process cell - filter to 58 shipping-related events
- Click the Carrier Selection Sub-Process - drill down to 12 carrier selection events
- 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][]:
- The BPM ID filter is updated to the selected sub-process BPM ID
- All existing search field filters are preserved
- Log events are re-queried with the new BPM filter
- Breadcrumb navigation is updated to show the drill-down path
- 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
Related Topics
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