Healthy Data Flows are more than just using developer guidelines. They are also about putting the right components together to solve challenges. The integration challenges we often encounter are:
- How to reduce point-to-point connections
Point-to-point integration can quickly turn into a big headache. Based on the number of systems, the complexity can grow rapidly. Every point-to-point connection is a single point of failure. A reliable system should be as simple as possible. Event-based Architecture can help to reduce point-to-point connections and be more scalable, reliable and resilient.
What is SAP Event Based Architecture?
Event-based architecture is a part of decoupled architecture. In a decoupled architecture, different components are used to provide a solution. The different components operate as one. Furthermore, these different components can also operate independently from each other. Thus, the dependencies between solutions can be minimized.
The event-based architecture triggers events which occur when there is a change of state of an object. For example, consider the creation of an order or hiring a new employee. Event-driven architecture consists of three parts: producer, router and consumer. The producer is the source of where the change of state happens, the router publishes the event and the consumer executes the event towards the receiver. From a producer application perspective, an event-driven architecture is used in an outbound scenario.
In most cases of an event-based architecture, the producer will typically send an object ID and a key field value. To retrieve the complete dataset a request-reply callback is needed from the consumer towards a producer service. Based on authorizations a specific dataset is sent back.
Please see below schema:
What is SAP Event Mesh?
SAP Event Mesh is the router/queue mechanism from SAP. SAP Event Mesh has the following functionalities:
- Queue’s and topics
- Monitoring of resources
Queue’s and topics
Events are sent to Queue’s or Topics. The difference between a topic and a queue is that a topic can have multiple queues defined. Hence, when a message is posted to a topic it ends up in all corresponding queues. While, when a message is posted to a queue it is posted only to a single queue.
A web-hook delivers data to other applications as it happens. This implies that data is obtained immediately, unlike the typical APIs where data has to be polled frequently to get it in real-time. This makes web-hooks much more efficient for both provider and consumer.
In the test area, messages can be sent to a queue or topic thus allowing the possibility to simulate the consumption of messages from queue or topic.
Monitoring of resources
The monitoring of resources is related to the amount of queue connections, producers and consumers. The actual messages cannot be monitored.
SAP Event Mesh in combination
The following SAP Products can produce events in combination with SAP Event Mesh:
- SAP S/4 HANA
- SAP SuccessFactors
- SAP ERP with event enablement add-on.
Is event-messaging available for SAP Cloud for Customer and SAP Commerce Cloud? Yes! It works a bit different and not in combination with SAP Event Mesh. It works in combination with SAP Kyma Runtime.
Pros and cons
The pros are related to loosely coupling, scalability and reliability. SAP Event Mesh can resolve the implementation of point-to-point connections. The cons are related to error handling and monitoring, which could be setup better in SAP Event Mesh. Moreover, the handling of duplicate events is something which needs to be clarified up front how to handle those.
In the SAP Integration Suite Webinar we explain a bit more in detail, please see following link:
SAP Integration Suite June – montly update (ondemand.com)
Any questions or you want to know more about the opportunities SAP Event-Based messaging provides? Feel free to contact me Guido.Koopmann@acorel.nl