SAP Event Mesh Connectivity Bridge Service is a fully-managed cloud service for enabling applications, integrations and extensions to communication asynchronously through events. Events are significatnt changes in state(for example, Purchase Requisition updated in SAP S/4HANA).
SAP Event Mesh Connectivity Bridge service's integration with Azure Event Grid enables SAP World to send events to Microsoft Azure. In this tutorial, you will be using the Beta version of SAP Event Mesh Connectivity Bridge service which enables direct connection between SAP BTP Event Mesh to Azure Event Grid. You can develop event driven integrations and applications using this service.
Note: Currently you will be using beta version, soon it will be available in global account as a service SAP Integration Suite.
Scenario
Solution Architecture
Requirements
Implementation: Configuration and Development
Additional Resources
Known Issues
Reference
Disclaimer
How to Obtain Support
Code of Conduct
Contributing
License
A SAP Business user creates a SAP Purchase Requisition in SAP S/4HANA which generates an event. The event gets published into a topic of SAP Event Mesh from which the event gets transported to Azure Event Grid’s partner topic. A queue bound with this partner topic (through Event Subscription) receives the event.
- Purchase Requisition gets created in SAP S/4HANA system. This change creates a notification event with the Purchase Requisition ID in the payload.
- This event is sent to the SAP Event Mesh.
- SAP Event Mesh instance with connectivity bridge service plan have two connectors (Azure Event Grid & S4-on-premise) which are configured in subscription as publisher and subscriber. This subscription pushes the event to Azure Event Grid.
- Microsoft Azure Storage Account's queue receives the events. You can use queue storage when you have a long running process that takes too long to respond.
- When a new item is received in the queue, the azure function is triggered with the message in the queue as an input.
- The Azure Function App calls the Azure communication service with queue message.
- Azure Communication Service sends email notification to the configured business user.
These are the technical prerequistics for an setting up integration between SAP Event Mesh and Azure Event Grid for SAP S/4HANA event.
- A SAP BTP's subaccount in US20 region. Make sure the BETA feature for the subaccount is enabled.
- Create a service ticket in https://jtrack.wdf.sap.corp using the "Event Mesh - Enterprise Messaging" component to share the details of the subaccount, so that SAP can allow to create an instance of event-mesh-connectivity-beta plan in your subaccount.
- SAP S/4HANA 2020(MQTT Adapter) or SAP S/4HANA 2021+(AMQP Adapter) system to act as an event publisher.
- Microsoft Azure subscription with Azure Event Grid instance. you can opt Azure trial version also.
For more information, refer to Get Started with Event Mesh Connectivity Plan (Beta).
Follow the below steps to configure SAP S/4HANA, SAP BTP and Microsoft Azure System for the scenario. Based on the installation type of SAP S/4HANA, please follow the documentation for configurations related to connectivity in SAP BTP.
Step 1: Set Up the Subaccount in SAP BTP
Step 2: Configure Microsoft Azure Platform
Step 3: Onboard Connectors in SAP BTP
Step 4: Configure SAP S/4HANA
Step 5: Configure Event Subscription in Microsoft Azure
Step 6: Create Microsoft Azure Function App
Step 7: Test Application
In this project, the Microsoft Azure function app has been implemented based on the following samples.
- Azure Queue storage trigger for Azure Functions.
- Quickstart: How to send an email using Azure Communication Service.
- In RFC Destination creation in Step 4 Editing the port number through SM59 transaction is a temporary solution which will not be required when the service goes LIVE.
- Event Mesh Connectivity Plan Concepts (Beta).
- Get Started with Event Mesh Connectivity Plan (Beta).
- SAP Event Mesh: Event Connector to Microsoft Azure to go Beta
This project has been a proof of concept, including several limitations and prerequisites. The objective was to build end-to-end flow with a new event connector from SAP Event Mesh to Azure Event Grid. For this reason, the implementation should not be seen as any recommendation for production. It fulfils the purpose and requirements of a proof of concept and is not intended for productive usage. It has been declared as pure proof of concept only to give the development teams ideas for solving potential challenges.
Create an issue in this repository if you find a bug or have questions about the content. For additional support, ask a question in the SAP Community..
Refer to CODE OF CONDUCT file.
If you wish to contribute code, offer fixes or improvements, send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
Refer to the CONTRIBUTING file for guidelines to contributions from external parties.
For additional support, ask a question in the SAP Community.
Copyright (c) 2022 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.