Mendix Business Events

Content Type: Service
Categories: Communication

Overview

The Business Events module should be used with Studio Pro 9.18.0 and above.

Introduction

With Mendix Business Events, applications can signal when something important has happened, and can independently subscribe to these events if they want to be informed. Events are delivered in near real-time, to minimize the time your users have to wait. Business events are like a mailing list to share event notifications between apps.

The key difference between business events and traditional communication between apps, like REST or Web Services, is that there is no direct communication between the different apps. Applications publish events to, or subscribe to events with, an event broker. This optimizes availability for your applications, as applications are not impacted by downtime of other applications. It also simplifies your applications, as you reduce the need for applications to be aware of other applications, simplifying dependency management and impact analysis when changing your software.

To deliver events reliably between your applications, a Mendix Event Broker is required. For apps running the Mendix cloud on licensed nodes, you'll need to purchase a license for a Mendix Event Broker. A limited multi-tentant Event Broker is provided for free apps in the Mendix cloud. If desired for development, you can run your own broker cluster.

Currently, business events can only be deployed to the Mendix Cloud, with other deployment models expected in forthcoming releases.

Typical Use Cases

Business events help you automate the resulting actions when something happens in your organization. The following are examples of when business events can be useful:

  • Registering payments in a financial app, with another app sending a receipt

  • Making an appointment with a service provider in an appointment app, then needing it to be added to the scheduling app of the service provider

  • Customers placing an order in a webshop, and other apps need to take follow-up actions like scheduling shipment, sending the invoice, and reordering inventory stock

Pre-Requisites

To use Mendix Business Events, you will need the following:

  • The Mendix Business Events module from the Mendix Marketplace

  • Studio Pro 9.18 and above

  • At least two Mendix apps: one that publishes the business events and makes them available, and one that subscribes to the business events (you can have as many publishing and consuming apps as you require)

  • An event broker, either a licensed Mendix Event Broker for apps running in the Mendix Cloud or for local testing the local testing broker (see Deployment in mendix docs)

  • Docker for local deployment

 

Documentation

Please see Business Events in the Mendix documentation for details.

Releases

Version: 3.8.0
Framework Version: 9.18.0
Release Notes: Changes in version 3.8.0 - Improved logging, better explanation for certain error scenarios - Removed the channel field from the message payload
Version: 3.7.0
Framework Version: 9.18.0
Release Notes: Changes in version 3.7.0 - Removed a runtime exception that forced the app to stop when business events could not be consumed or produced because the defining app had not yet started, the runtime exception is replaced with a recurring error log line. The constant PublishedEventEnvironmentMap is removed from the module because it's no longer needed.
Version: 3.6.1
Framework Version: 9.18.0
Release Notes: Changes in version 3.6.1 - Updated the icons of the Publish Business Event microflow activity. - Patched Snappy library to 1.1.10.1 to address security issue.
Version: 3.6.0
Framework Version: 9.18.0
Release Notes: Changes in version 3.6.0 - Added a new constant "EventBrokerSpace" to support Bring Your Own Kafka use cases. This constant can be set to values like test, acceptance or production based on in which environment (or say namespace in Kubernetes) your Mendix app is running. Setting this constant would mean that each Business Event would have its own Kafka topic for environment. The topic would be of the form businessevents... - Reordered the constants in the module, moved some into folders.
Version: 3.5.0
Framework Version: 9.18.0
Release Notes: Changes in version 3.5.0 - When publishing a message the SourceName field will not be overriden with the default value when it's given a non empty value. - Fix kafka-client CVE. - Fix module not being able to publish messages on the sandbox environment.