What is a message definition

Last modified by Danniar Firdausy on 2024/08/21 10:15

In this microlearning, we'll explore the concept of message definitions, a crucial aspect of data integration. A message definition serves as a visual blueprint that outlines the structure of data exchanged between systems. It highlights the relationships between data elements, their mandatory or optional status, and the data types involved, making it an essential tool in message mapping. Understanding message definitions is key to ensuring seamless communication across different integration patterns.

Should you have any questions, please contact academy@emagiz.com.

1. Prerequisites

  • Basic knowledge of the eMagiz platform

2. Key concepts

This microlearning centers around understanding the concept of the message definition.

With message definition we mean: A visual representation of how the elements are related to each other, whether they are mandatory and the data types they have that can be used in the message mapping

In other words, the message definition defines the structure of the data that will be sent or received.

3. What is a message definition

A message definition is a visual representation of how the elements are related to each other, whether they are mandatory and the data types they have that can be used in the message mapping.
In all integration patterns (Messaging, API Gateway, and Event Streaming) we have message definitions.

On one hand, we have message definitions that relate to a system.
These definitions tell us something about how the system will send or wants to receive messages (data).
On the other hand, we have message definitions that relate to eMagiz.
These are generic and consistent across systems (i.e. CDM messages, Gateway messages, Topic messages).

crashcourse-platform-design-what-is-a-message-definition--design-overview.png

In this phase, you can open the context menu on the integration level (remember, that is a line between eMagiz and an external system).
The context menu will look slightly different based on the integration pattern. These differ as the use cases for each pattern differ slightly.

In other words, the message definition defines the structure of the data that will be sent or received.

crashcourse-platform-design-what-is-a-message-definition--context-menu-messaging-definition.png

crashcourse-platform-design-what-is-a-message-definition--context-menu-api-definition.png

crashcourse-platform-design-what-is-a-message-definition--context-menu-es-definition.png

Selecting one of the above options will lead you to an overview similar to the one that is shown below.

crashcourse-platform-design-what-is-a-message-definition--message-definition.png

In this overview, you can import a definition or create one yourself.

3.1 eMagiz datamodels

Above the focus was on the system messages (i.e. the definitions as defined by the external system). Within each of the patterns eMagiz supports (Messaging, API Management, and Event Streaming) we support an eMagiz data model. In these data models you can define what the messages should look like when they pass through the system of eMagiz. When creating a message transformation you always have atleast one eMagiz part that is based on an eMagiz data model. This is needed as you need to transform from the external system to the eMagiz data model for example.

In messaging terms we call this eMagiz data model a CDM for example. Based on the pattern you are implementing, the naming can change slightly but the conceptual idea is the same. For more information on the various data models we support for the patterns please check out the suggested additional readings section below.

4. Key takeaways

  • A message definition is a visual representation of how the elements are related to each other, whether they are mandatory and the data types they have that can be used in the message mapping
  • Some message definitions are specific to a system. Others are generic across systems

5. Suggested Additional Readings