Service Bus
CMDBuild is a web-based enterprise system implemented using a Service Oriented Architecture (SOA) and designed to ensure interoperability between applications and systems.
In the most efficient implementations, this type of architecture is supported by a Service Bus (or ESB, Enterprise Service Bus), a middleware infrastructure that enables interoperability through standard services for coordination, security, messaging, routing, and data transformation.
The CMDBuild Service Bus includes:
- Management of data flows and messages, including reception, routing, processing, and delivery
- Distributed load management, related to specific batch processes
- Input and output modules with coordination features for data sending, receiving, and synchronization
- Error handling and notification management
- Webhook features for subscribing to notification services triggered by specific CMDB events
- Support for the chat service, enabling communication between CMDBuild users
The CMDBuild Service Bus is designed with a plugin-based architecture, allowing standard base components, advanced components provided through subscription, and custom components to coexist.
Bus descriptor
The behavior of the CMDBuild Service Bus is defined through objects called Bus descriptors, which describe data flows as well as transformation and processing logic.
Each bus descriptor includes:
- A schema describing the components corresponding to execution steps and related resources
- A YAML script containing custom code and or calls to CMDBuild APIs or external services

The following operations are available:
-
Top bar:
- Add a new bus descriptor
- Search among existing descriptors
-
Single row actions:
- Edit the selected bus descriptor
- Download the YAML script of the bus descriptor
- Delete the selected bus descriptor
- Disable the selected bus descriptor, setting its status to inactive
Each bus descriptor requires the configuration of a set of metadata parameters, as described below.
General properties
The following information is required:
- Name: bus descriptor name
- Description: bus descriptor description
- Active: indicates whether the bus descriptor is active and available for use

Parameters
You can define a list of parameters to configure the behavior of the bus descriptor:
- Key: parameter identifier used by the bus descriptor
- Value: value associated with the parameter
The following additional parameter is also required:
- Disabled elements: specifies the components of the bus descriptor that must be disabled, for debugging or other operational needs

Configuration
The following information is required:
- YAML code: the bus descriptor body written directly in YAML format
- File: a YAML file containing the bus descriptor body, provided as an alternative to direct editing

Settings
This section allows you to configure global settings for the CMDBuild Service Bus.
Currently, the only available option is to enable or disable the Service Bus.
