September 25, 2023

Github Business

Business Printing

SAP-samples/teched2020-developer-keynote: SAP TechEd 2020: Developer Keynote

REUSE status



This is the repository containing all the resource (code, configuration and much more) that was put jointly by the SAP Developer Advocates workforce for the Developer Keynote (DK100) at SAP TechEd 2020.

If you might be just on the lookout to dive in and get heading on your have with this, the fast start information may possibly be valuable to you.

🦉 If you’ve got beforehand forked this repository and want to update your fork to get all the most current information, look at out this information: Updating your fork of the Developer Keynote repository.

The Developer Keynote session is created to present how builders of various backgrounds, making use of distinctive equipment, systems and languages can occur together and lead collectively toward an extension to an SAP S/4HANA Cloud system, employing SAP Cloud System and companies & runtimes upon it.

Look at the Developer Keynote replay, and read much more about the back story for this keynote in the site publish SAP TechEd Developer Keynote DK100 – The Tale.

The structure of this repository frequently demonstrates the distinctive factors shown on the whiteboard diagram and demonstrated through the session.

Whiteboard diagram

The components

You can examine and experiment with every element individually, and they are of system all developed to get the job done jointly as revealed in the developer keynote alone. Each component has its possess directory in just this repository.

We advise you choose the factors just one at a time. Precise instructions are supplied for each element, in the respective README documents. This is a checklist of people components, with links to their directories (and the READMEs):

  • SANDBOX – the proxy app that sits in front of the SAP API Company Hub sandbox method and injects the API crucial into just about every request as it passes as a result of (JavaScript app utilizing the @sap/approuter package deal)

  • EMITTER – the script that generates and emits (publishes) a “salesorder/developed” function information to the message bus (Bash shell script invoking Messaging API calls to the SAP Company Messaging company instance)

  • CONVERTER – the converter company that interprets internet amounts into charity credit score amounts (Go language support listening for incoming HTTP requests)

  • Mind – the support that coordinates the function messages, subscribes to the “salesorder/developed” subject, and publishes event messages to the “Inner/Charityfund/Increased” matter (a Node.js CAP centered provider connected to numerous endpoints)

  • FRONTEND – the net dashboard that visualizes the information from the CHARITY element (an SAPUI5 / Fiori application applying UI Integration Cards)

  • CHARITY – the charity backend service that receives function messages printed to the “Inner/Charityfund/Improved” subject matter, retailers the facts, retrieves organization husband or wife details, and would make an OData support available for the FRONTEND component (a Steampunk ABAP stack RAP primarily based company)

If you happen to be asking yourself about the Information BUS ingredient, see the suitable portion a little bit further down and the focused information bus setup segment.


Element-specific needs are to be identified in the respective READMEs, but there are normal requirements as well which are mentioned in this article.

A development atmosphere

You can expect to want a development surroundings with applications that are thorough beneath and in the element-unique READMEs. We all have our individual choices, which is excellent, but if you want to abide by together and cannot choose, or are not sure of which direction to acquire, or are not able to set up applications domestically, we are setting up recommendations to help you out, centred all around the SAP Business Application Studio (App Studio).

If you want to consider that solution, make positive you browse and adhere to the App Studio set up directions.

Some of the sample output in the directions in this repository is dependent on use of a Dev Room in the Application Studio particularly the way the shell prompt is shown. An illustration of this can be viewed in the Usage section of the EMITTER element information.

A GitHub account

You will have to have your personal GitHub account. Not only for the ordinary good reasons of local community and collaboration (you may perhaps want to ship contributions to this repository by way of pull requests, for illustration) but also for the reason that some of the components are run in the Kyma natural environment on SAP Cloud Platform, and the specific element directions (these as the kinds for the SANDBOX) will direct you to develop Docker photographs and publish them to your very own GitHub Offers registry. See the GitHub Packages Documentation for additional data.

You’ll have to have your GitHub account when starting up out – the Down load and Set up area beneath will instruct you to fork this repository into your own house.

An SAP Cloud Platform trial account

Demo account

You can expect to need a trial account on SAP Cloud System, if you haven’t obtained 1 now. Abide by this tutorial for specific recommendations.

Cloud Foundry setting

When you established up a trial account, a Cloud Foundry (CF) environment is established up routinely for you, with an business and solitary ‘dev’ house.

The CF command line interface (CLI) is obtainable as the cf command. The model of cf required for use in this repository context is version 6. There is a more recent model 7 but there is an situation with variation 7 in the use of the cf env command, which demands to operate the right way in this article. Furthermore, it truly is extra probable than not that you have edition 6 of cf by now installed and out there.

Kyma atmosphere

Though a Kyma ecosystem is not set up instantly, you can (and should really) help one with the “Empower Kyma” button on the principal trial account overview webpage in the Cockpit, as revealed in this screenshot:

Enable Kyma button

Adhere to this tutorial for in depth guidelines, and make confident you also install the k8s command line instrument (kubectl) and download and set your “kubeconfig” properly, as explained in the Install the Kubernetes Command Line Software tutorial.

If you’ve made a decision to use App Studio for your development surroundings, the setup script that we’ve prepared for that circumstance installs kubectl for you automatically, and you can find a specific part in the guidelines that demonstrates you how to convey in the “kubeconfig” into your App Studio’s Dev Place context.

Access to the SAP API Small business Hub

  • Obtain: Make positive you can log in to the SAP API Business Hub

  • API info: Verify that you can accessibility the API data (e.g. for the Profits Purchase (A2X) API)

  • API requirements: Test also that you have the means to download API technical specs (e.g. to that similar API_Income_Purchase_SRV API)

  • API crucial: Test that you have an API vital available to you in your tastes, for access to the sandbox technique

A information bus

The a person element on the whiteboard diagram that wasn’t detailed before is of course the Message BUS. This is an instance of the SAP Company Messaging provider. You can expect to need to have one of these. There is a ‘dev’ system available for trial account users, it is marked as deprecated but perfectly serviceable for our desires.

If you want to study far more about the SAP Company Messaging assistance and all the things you can do with the ‘dev’ program, check out out this sequence from the Palms-on SAP Dev clearly show on the SAP Developers YouTube channel: Diving into messaging on SAP Cloud Platform. Also, see the website write-up An overview of SAP Builders online video articles for a lot more facts on SAP Developers online video material in standard.

Make sure you established up an occasion of the SAP Enterprise Messaging assistance in accordance to these recommendations.


If you want to attempt out the community Docker and Kyma runtime based mostly features, you can expect to require Docker on your equipment. Not just the docker shopper, but the Docker motor. Set up it by subsequent the Get Docker guidelines for your platform.

Alternatively, you can use the GitHub Steps based facility we have presented to carry out the Docker engine particular components (making photos). This is notably appropriate if you choose to use the Application Studio as your progress environment. See the App Studio setup recommendations for a lot more specifics.

Download and installation

To use this repository, fork it into your have person or org house on GitHub, and then clone that. You can now stick to the ingredient directions, as well as this primary README.

For additional information about forking in general, see Fork a repo in the GitHub documentation.

Sometimes, we will include articles to this repo. If you need to have to update your fork to bring it again into line, you can stick to the guidelines in this website write-up: Updating your fork of the Developer Keynote repository.

In the course of the guidance in this repository, the place wherever you forked this repository also will be referred to in the form “Proprietor/REPOSITORY”, and you must substitute these placeholders with values that are proper for you. For example, if you are on GitHub as ‘qmacro’, and you fork this repository to that space, your values for “Proprietor/REPOSITORY” would be “qmacro/teched2020-developer-keynote”.

Identified difficulties

None at the time of writing.

How to get hold of assist

Assistance for this repository is limited to the SAP TechEd 2020 Developer Keynote function and a minimal number of weeks adhering to that. Remember to elevate an challenge in this repository with as a lot detail as you can.


This is a community undertaking and contributions will be welcome in the form of pull requests (PRs) – remember to post in the ordinary way. Thank you!


Copyright (c) 2020 SAP SE or an SAP affiliate business. All legal rights reserved. This undertaking is accredited beneath the Apache Software package License, edition 2. besides as observed in any other case in the LICENSE file.