Skip to content

In this SAP CodeJam we will look at SAP Integration Suite, advanced event mesh and how we can use it to connect our systems and services following an Event-driven architecture approach.

License

SAP-samples/event-driven-integrations-codejam

Event-Driven Integrations with SAP Integration Suite, advanced event mesh

REUSE status


SAP CodeJam events scheduled

  • 2024-05-06: 🇪🇸 SAP CodeJam: Event-Driven Integrations using SAP Integration Suite, advanced event mesh (Madrid, Spain) - RSVP 🗓️.

CodeJam Madrid
SAP CodeJam in Madrid


Welcome to the Event-Driven Integrations CodeJam repository. In this SAP CodeJam, we will look at SAP Integration Suite, advanced event mesh and how we can use them to enable event-driven architecture and scenarios across multiple systems and services in our landscape. By the end of the CodeJam, we will achieve a scenario like the one below in the diagram.

Final data flow

Integration Scenario

Let's imagine we work for a company, ITeLO Entertainment. IteLO Entertainment is responsible for organizing the largest music festival in Europe. The company has a website through which music fans can purchase tickets. Other services rely on this data to generate a PDF ticket or send a physical ticket to the buyer. Also, there is the possibility of purchasing a VIP package which also requires a separate delivery. All performers part of the event are reflected in SAP S/4HANA as Business Partners. These performers go through a separate approval process which is managed in SAP Build Process Automation.

Currently, our applications and services expose their data via APIs. The different services use a poll mechanism to check if there is any new data (tickets/BPs) that needs to be processed. ITeLO is interested in adopting an event-driven approach to how it processes its data and is looking to adapt its application to follow a publish-subscribe pattern. Following this pattern will enable them to easily extend and add new functionality, in the form of new services, which can fulfill new business cases in the future where the same data is required for further processing.

We are in charge of enabling the event-driven integration scenario that will allow our applications and services to create (produce) events and react (consume) to them.

Prerequisites

The prerequisites to follow the exercises in this repository, including hardware and software, are detailed in the prerequisites file.

Live system

As part of this CodeJam we will provide you access to a live SAP Integration Suite, advanced event mesh instance. Whenever you see the following emoji - 🔐 - in the exercises, it means that your instructor will provide details to access/configure a live system.

What if a live system can't be provided as part of the CodeJam or you are going through the CodeJam content on your own?

The participant can configure a live system that they have access to and will be able to follow the instructions in this CodeJam. Instructions on how to configure a live SAP Integration Suite, advanced event mesh system and how to run the simulated services will be provided in the future.

Material organization

The material consists of a series of exercises. These exercises build on each other and should be completed in the given order. For example, we start by learning about the different types of events, proceed to interact with events and we will extend this event in the subsequent exercises.

The repository includes some slides, which will be used when running an SAP CodeJam event. The slides were built using Marp and an HTML export is included here. You can also preview the slides here.

Exercises

During the CodeJam you will complete each exercise one at a time. At the end of each exercise, questions are included to help you think about the content just covered and are to be discussed with the entire CodeJam class, led by the instructor, when everyone has finished that exercise.

If you finish an exercise early, please resist the temptation to continue with the next one. Instead, explore what you've just done and see if you can learn more about the subject covered. That way, we all stay on track together and can benefit from some reflection via the questions (and answers).

See below for an overview of the exercises part of this CodeJam.

Troubleshooting

While going through the exercises, you might encounter common problems not explicitly related to them. Check out the troubleshooting.md page, which includes a list of these common problems and their potential solutions.

Known Issues

None

Feedback

If you can spare a couple of minutes at the end of the session, please help us improve for next time by giving me some feedback.

Simply use this Give Feedback link to create a special "feedback" issue, and follow the instructions there.

Gracias/Thank you/Obrigado/Merçi/Danke!

How to obtain support

Support for the content in this repository is available during CodeJam events, for which this content has been designed.

Alternatively, if you are completing this CodeJam on your own, outside of an event, you can create an issue in this repository if you find a bug or have questions about it.

For additional support, ask a question in SAP Community.

Contributing

Please send a pull request if you wish to contribute code or offer fixes or improvements. Due to legal reasons, contributors will need to accept a DCO when they create the first pull request for this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.

License

Copyright (c) 2024 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.