Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 5.08 KB

File metadata and controls

67 lines (41 loc) · 5.08 KB

DSAG Technologietage 2022 - Using Microservices in the SAP BTP, Kyma Runtime to extend SAP Cloud and OnPrem Systems

This is the hands-on tutorial of the DSAG Technologietage 2022. It show how you can leverage the SAP BTP, Kyma Runtime to extend SAP Solution on-premise or in the cloud making use of Microservices and Kyma Functions.

Scenario

We have several orders that are managed by a microservice. For user-interaction we have a basis UI5 app to create, edit and delete orders. The ordered products depend on the delivery of materials. We assume that we run into a supply chain shortage: some materials cannot be delivered and consequently the orders need to be delayed. The shortage of a material is reported by a message containing the material ID that is running short. The extension developed in this hands-on should therefore:

  • Get triggered by the message and read it from a message queue.
  • Fetch the corresponding orders for the reported material from an on-premise system.
  • Update the order status to "DELAYED" via the order microservice.
  • Sent a message to a queue of delayed orders reporting the ID of the order.

As an optional part we develop a second extension that gets triggered by the second message after the order was updated. This extension should:

  • Read the order from the order microservice
  • Send an email to the customer to provide information about the delay.

Remark: The scenario is of course simplified and does not reflect the processes in real-life. As our focus is on the technical capabilities of the SAP BTP, Kyma Runtime this over-simplification should be fine.

The components involved in the flow are depicted here:

HandsOn Components Overview

For this scenario we want to leverage several services available on SAP BTP:

So from the perspective of SAP components the building blocks can be sketched like this:

HandsOn SAP Components

In addition we will show how you can deploy artefacts to SAP BTP, Kyma runtime using GitHub Actions.

Technical Prerequisites

We wanted to keep the technical prerequisites as small as possible, so for the guided hands-on at the DSAG Technologietage you do not need anything installed on your local machine except for a browser.

If you want to execute things later on your own you need kubectl and the kubelogin extension installed locally (see Prerequistes - Kubernetes), as well as an editor of your choice.

Agenda

Organizational information

The following sections guide you through the single steps of the tutorial. During the DSAG Technologietage 2022 some steps have already been executed by us and the resources are pre-provisioned. Nevertheless we described the steps as they give some interesting insights. For easier navigation we marked the sections correspondingly:

  • Sections marked with 👨‍🔧 contain the hands-on steps you must work on
  • Sections marked with 👀 are for your information. They contain some interesting insights but contain no actions you must execute.

Remark: As the tutorial is done with a group of participants, we need to make sure that we have no conflicts concerning names collisions etc.. If you are running this sample on your own set the the value for "userID" to "01".

Tutorial Steps

Let the fun begin 👩‍💻

  1. Step 1 - Set up the order microservice 👀
  2. Step 2 - Set up the on-premise components 👀
  3. Step 3 - Set up the connectivity proxy 👀
  4. Step 4 - Set up the SAP Event Mesh 👨‍🔧
  5. Step 5 - Develop function "trigger supply chain issue" 👨‍🔧
  6. Step 6 - Develop function "update order status" 👨‍🔧
  7. OPTIONAL: Step 7 - Develop function "send delay email" 👨‍🔧
  8. The extra mile: setup order microservice in your namespace 👨‍🔧 - If you want to try out CI/CD flows with GitActions, walk through Step 1 on your own and modify the namespace into which you deploy the microservices to your created namespace dsagtt-handson<userID>

If you want to walk-through the tutorial later on your own, you must execute each step on you own.