SAP CodeJam

Event-driven integration using SAP Integration Suite, advanced event mesh

View project on GitHub

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

REUSE status


SAP CodeJam events scheduled

  • TBA: ๐ŸŒŽ SAP CodeJam: Event-Driven Integrations using SAP Integration Suite, advanced event mesh (in a city near you)
Previous events
- 2024-05-29: ๐Ÿ‡ช๐Ÿ‡ธ AUSAPE - SAP BTP Workshop: Event-driven integrations with SAP (Granada, Spain)
- 2024-05-06: ๐Ÿ‡ช๐Ÿ‡ธ SAP CodeJam: Event-Driven Integrations using SAP Integration Suite, advanced event mesh (Madrid, Spain): https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13648705.
- 2024-08-08: ๐Ÿ‡ง๐Ÿ‡ท Event-driven integrations with SAP Integration Suite, advanced event mesh (Sรฃo Paulo, Brazil) - [RSVP ๐Ÿ—“๏ธ](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13710583)
- 2024-08-12: ๐Ÿ‡จ๐Ÿ‡ฑ Event-driven integrations with SAP Integration Suite, advanced event mesh (Santiago, Chile) - [RSVP ๐Ÿ—“๏ธ](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13710613)
- 2024-08-15: ๐Ÿ‡ฆ๐Ÿ‡ท Event-driven integrations with SAP Integration Suite, advanced event mesh (Buenos Aires) - [RSVP ๐Ÿ—“๏ธ](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13710622)
- 2024-08-20: ๐Ÿ‡จ๐Ÿ‡ด Event-driven integrations with SAP Integration Suite, advanced event mesh (Bogota, Colombia) - [RSVP ๐Ÿ—“๏ธ](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13710631)

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.

Requirements

To complete the exercises in this repository, you will need to have access to an SAP Integration Suite, advanced event mesh instance. This instance will be used to create and manage the event-driven integrations. The exercises will get you familiar with SAP Integration Suite, advanced event mesh. Please review the prerequisites before attending an event.

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.

Code of Conduct

Review the Code of Conduct in the CODE_OF_CONDUCT.md file.

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.