Skip to main content

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

Bus Descriptor

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

Bus Descriptor General Properties

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

Bus Descriptor Parameters

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

Bus Descriptor Configuration

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.

Service Bus Configuration