SampleSampletypeA worked example you read or clone. Evidence: it demonstrates, it never provides.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →Starting point

SAP-samples/event-driven-integrations-codejam

An eleven-exercise CodeJam that moves a fictional ticketing company from polling APIs to a publish-subscribe architecture on SAP Integration Suite, advanced event mesh.

ITeLO Entertainment, the CodeJam's fictional festival organiser, starts out polling its ticketing and business-partner APIs for changes, and this walks a class through replacing that with a publish-subscribe pattern on SAP Integration Suite, advanced event mesh instead. Eleven exercises take a class from CloudEvents theory and SAP's adoption of it, through publishing and subscribing, dynamic message routing between event broker services, the CloudEvents SDK, REST delivery points, consuming messages from a CAP project over AMQP, and processing them from Cloud Integration over the AEM adapter and SMF protocol. It is instructor-led against a live advanced event mesh instance the instructor provides for the session, though the material can also be worked through solo against an instance of your own. It stops at the exercises: a troubleshooting page covers common problems participants hit along the way.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Demonstrates
Event MeshBTPEvent MeshcapabilityEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to [async processing](capability:async-processing).

Who is behind it

SAP SamplesSAP SamplesOrganisationMaintains this
In the atlas: maintains 222
@SAP-samples
maintainerAntonio MaradiagaPersonContributes to this
Developer Advocate
In the atlas: contributes to 10
@ajmaradiaga
Jorge Sousa VillafainaPersonContributes to this
In the atlas: contributes to 1
@jsousa-Resulto
2 contributors

What it declares

Every artifact

Type
Sample
Origin
By SAP

As a sample

Form
Workshop or CodeJam material

Connections1

SAP-samples/event-driven-integrations-codejam connectionsSAP-samples/event-driven-integrations-codejamPROVIDES→ demonstrates1demonstrates authoredEvent Mesh

README

quoted from SAP-samples/event-driven-integrations-codejam under Apache-2.0, read
SAP-samples/event-driven-integrations-codejam/README.mdOn GitHub

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

REUSE status


SAP CodeJam events scheduled

  • 🌎 SAP CodeJam: Event-Driven Integrations using SAP Integration Suite, advanced event mesh (in a city near you) 👉 Events scheduled
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) - 2025-01-22: 🇳🇱 Event-driven integrations with SAP Integration Suite, advanced event mesh (Zoetermeer, NL) - [RSVP 🗓️](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13921794) - 2025-01-23: 🇳🇱 Event-driven integrations with SAP Integration Suite, advanced event mesh (Den Bosch, NL) - [RSVP 🗓️](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ev-p/13921793) - 2025-05-22: 🇨🇭 Event-driven integrations with SAP Integration Suite, AEM (Risch-Rotkreuz, Switzerland) - [RSVP 🗓️](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-aem-risch-rotkreuz/ec-p/14040614#M770) - 2025-06-10: 🇫🇷 Event-driven integrations with SAP Integration Suite, advanced event mesh (Paris, France) - [RSVP 🗓️](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh/ec-p/14040622#M771) - 2025-07-15: 🇮🇳 Event-driven integrations with SAP Integration Suite, AEM #1 (Hyderabad, India) - [RSVP 🗓️](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh-1/ec-p/14110689#M849) - 2025-07-16: 🇮🇳 Event-driven integrations with SAP Integration Suite, advanced event mesh #2 (Hyderabad, India) - [RSVP 🗓️](https://community.sap.com/t5/sap-codejam/event-driven-integrations-with-sap-integration-suite-advanced-event-mesh-2/ev-p/14110691)

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.

Apache-2.0, read

History

Latest

v1.1

Notes

This release marks the latest revision of the content before the CodeJam LATAM roadshow takes place.

Details

Sources3
Added by handdiscovered herechecked
github.com/SAP-samples/event-driven-integrations-codejamtree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainbtp, integration-and-messaging
Contributors2

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:sap-samples-event-driven-integrations-codejam
JSON
/artifacts/sap-samples-event-driven-integrations-codejam.json
MCP
Connecting an agent