Event-Driven Integrations with SAP Integration Suite, advanced event mesh
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.
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.
- Please ensure that you have completed all the prerequisites.
- Exercises:
- Exercise 01 - Events in the SAP Ecosystem
- Exercise 02 - Cloud Events
- Exercise 03 - SAPโs adoption of CloudEvents
- Exercise 04 - Event-Driven Architectures
- Exercise 05 - Explore SAP Integration Suite, advanced event mesh
- Exercise 06 - Publish and subscribe to events
- Exercise 07 - Exchanging messages between Event Broker Services (Dynamic Message Routing)
- Exercise 08 - Create a CloudEvent programmatically (CloudEvents SDK)
- Exercise 09 - Forward messages in Queue to REST Consumer (REST Delivery Points/webhooks)
- Exercise 10 - Consuming messages from a CAP project (AMQP protocol)
- Exercise 11 - Process messages from Cloud Integration (AEM Adapter and SMF protocol)
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.