• This repository has been archived on 17/Nov/2021
  • Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    Shell
  • Created about 4 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SAP TechEd 2020: Developer Keynote

Important Notice

This public repository is read-only and no longer maintained. For the latest sample code repositories, visit the SAP Samples organization.

SAP TechEd 2020 Developer Keynote

REUSE status

Contents

Overview

This is the repository containing all the source (code, configuration and more) that was put together by the SAP Developer Advocates team for the Developer Keynote (DK100) at SAP TechEd 2020.

⏩ If you're just looking to dive in and get going on your own with this, the quick start guide may be useful to you.

🦉 If you've previously forked this repository and want to update your fork to get all the latest content, check out this guide: Updating your fork of the Developer Keynote repository.

The Developer Keynote session is designed to show how developers of different backgrounds, using different tools, technologies and languages can come together and contribute collectively towards an extension to an SAP S/4HANA Cloud system, using SAP Cloud Platform and services & runtimes upon it.

Watch the Developer Keynote replay, and read more about the back story for this keynote in the blog post SAP TechEd Developer Keynote DK100 - The Story.

The layout of this repository generally reflects the different components shown on the whiteboard diagram and demonstrated throughout the session.

Whiteboard diagram

The components

You can study and experiment with each component individually, and they are of course all designed to work together as shown in the developer keynote itself. Each component has its own directory within this repository.

We recommend you take the components one at a time. Specific instructions are given for each component, in the respective README files. Here's a list of those components, with links to their directories (and the READMEs):

  • SANDBOX - the proxy app that sits in front of the SAP API Business Hub sandbox system and injects the API key into each request as it passes through (JavaScript app using the @sap/approuter package)

  • EMITTER - the script that generates and emits (publishes) a "salesorder/created" event message to the message bus (Bash shell script invoking Messaging API calls to the SAP Enterprise Messaging service instance)

  • CONVERTER - the converter service that translates net amounts into charity credit amounts (Go language service listening for incoming HTTP requests)

  • BRAIN - the service that coordinates the event messages, subscribes to the "salesorder/created" topic, and publishes event messages to the "Internal/Charityfund/Increased" topic (a Node.js CAP based service connected to various endpoints)

  • FRONTEND - the web dashboard that visualizes the data from the CHARITY component (an SAPUI5 / Fiori app using UI Integration Cards)

  • CHARITY - the charity backend service that receives event messages published to the "Internal/Charityfund/Increased" topic, stores the data, retrieves business partner info, and makes an OData service available for the FRONTEND component (a Steampunk ABAP stack RAP based service)

If you're wondering about the MESSAGE BUS component, see the appropriate section a bit further down and the dedicated message bus setup section.

Requirements

Component-specific requirements are to be found in the respective READMEs, but there are general requirements too which are listed here.

A development environment

You'll need a development environment with tools that are detailed below and in the component-specific READMEs. We all have our own preferences, which is great, but if you want to follow along and can't decide, or are unsure of which direction to take, or are unable to install tools locally, we are building instructions to help you out, centred around the SAP Business Application Studio (App Studio).

If you want to take that approach, make sure you read and follow the App Studio setup instructions.

Some of the sample output in the instructions in this repository is based on use of a Dev Space in the App Studio; specifically the way the shell prompt is displayed. An example of this can be seen in the Usage section of the EMITTER component information.

A GitHub account

You'll need your own GitHub account. Not only for the normal reasons of community and collaboration (you may want to send contributions to this repository via pull requests, for example) but also because some of the components are run in the Kyma environment on SAP Cloud Platform, and the individual component instructions (such as the ones for the SANDBOX) will direct you to build Docker images and publish them to your own GitHub Packages registry. See the GitHub Packages Documentation for more information.

You'll need your GitHub account when starting out - the Download and Installation section below will instruct you to fork this repository into your own space.

An SAP Cloud Platform trial account

Trial account

You'll need a trial account on SAP Cloud Platform, if you haven't got one already. Follow this tutorial for detailed instructions.

Cloud Foundry environment

When you set up a trial account, a Cloud Foundry (CF) environment is set up automatically for you, with an organization and single 'dev' space.

The CF command line interface (CLI) is available as the cf command. The version of cf required for use in this repository context is version 6. There is a newer version 7 but there is an issue with version 7 in the use of the cf env command, which needs to work correctly here. Moreover, it's more likely than not that you have version 6 of cf already installed and available.

Kyma environment

While a Kyma environment is not set up automatically, you can (and should) enable one with the "Enable Kyma" button on the main trial account overview page in the Cockpit, as shown in this screenshot:

Enable Kyma button

Follow this tutorial for detailed instructions, and make sure you also install the k8s command line tool (kubectl) and download and set your "kubeconfig" appropriately, as explained in the Install the Kubernetes Command Line Tool tutorial.

If you've decided to use App Studio for your development environment, the setup script that we've prepared for that scenario installs kubectl for you automatically, and there's a specific section in the instructions that shows you how to bring in the "kubeconfig" into your App Studio's Dev Space context.

Access to the SAP API Business Hub

  • Access: Make sure you can log in to the SAP API Business Hub

  • API information: Check that you can access the API information (e.g. for the Sales Order (A2X) API)

  • API specifications: Check also that you have the ability to download API specifications (e.g. to that same API_SALES_ORDER_SRV API)

  • API key: Check that you have an API key available to you in your preferences, for access to the sandbox system

A message bus

The one component on the whiteboard diagram that wasn't listed earlier is of course the MESSAGE BUS. This is an instance of the SAP Enterprise Messaging service. You'll need one of these. There is a 'dev' plan available for trial account users, it is marked as deprecated but perfectly serviceable for our needs.

If you want to learn more about the SAP Enterprise Messaging service and everything you can do with the 'dev' plan, check out this series from the Hands-on SAP Dev show on the SAP Developers YouTube channel: Diving into messaging on SAP Cloud Platform. Also, see the blog post An overview of SAP Developers video content for more information on SAP Developers video content in general.

Please set up an instance of the SAP Enterprise Messaging service according to these instructions.

Docker

If you want to try out the local Docker and Kyma runtime based aspects, you'll need Docker on your machine. Not just the docker client, but the Docker engine. Install it by following the Get Docker instructions for your platform.

Alternatively, you can use the GitHub Actions based facility we've provided to perform the Docker engine specific parts (building images). This is particularly relevant if you choose to use the App Studio as your development environment. See the App Studio setup instructions for more details.

Download and installation

To use this repository, fork it into your own user or org space on GitHub, and then clone that. You can now follow the component instructions, as well as this main README.

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

Occasionally, we'll add content to this repo. If you need to update your fork to bring it back into line, you can follow the instructions in this blog post: Updating your fork of the Developer Keynote repository.

Throughout the instructions in this repository, the place where you forked this repository too will be referred to in the form "OWNER/REPOSITORY", and you should replace these placeholders with values that are appropriate for you. For example, if you are on GitHub as 'qmacro', and you fork this repository to that space, your values for "OWNER/REPOSITORY" would be "qmacro/teched2020-developer-keynote".

Known issues

None at the time of writing.

How to obtain support

Support for this repository is limited to the SAP TechEd 2020 Developer Keynote event and a limited number of weeks following that. Please raise an issue in this repository with as much detail as you can.

Contributing

This is a community project and contributions will be welcome in the form of pull requests (PRs) - please submit in the normal way. Thank you!

License

Copyright (c) 2020 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.

More Repositories

1

PyHDB

SAP HANA Connector in pure Python
Python
306
star
2

cloud-platform-iot-starterkit

This repository provides information and code for working with SAP Cloud Platform Internet of Things. It enables users to get an end-to-end IoT solution with either real hardware or simulators up and running fast and start their own extensions and usage based on this.
Java
277
star
3

SAPConversationalAI

✨ 🤖 🤖 Build your own conversational bot on our Collaborative Bot Platform! 🤖🤖 ✨
273
star
4

BUILD

BUILD is an open-source, cloud-based and social platform that enables users, even those with no UI development knowledge, to easily create fully interactive prototypes with realistic data, share them with colleagues and consolidate this feedback without writing a line of code.
Gherkin
192
star
5

bot-connector

Bot Connector allows you to connect your bot to multiple messaging channels.
JavaScript
188
star
6

cloud-espm-v2

This sample is a reference application project, showcasing an end-to-end development scenario for a Java-based app on SAP BTP. The app has a SAPUI5 web frontend, uses OData to connect to a Java-based cloud backend which in turn connects via JPA to an SAP HANA DB in the cloud.
Java
104
star
7

teched2020-DEV260

DEV260 - Build SAP Fiori Apps with the ABAP RESTful Application Programming Model
103
star
8

grunt-openui5

Grunt tasks around OpenUI5
JavaScript
88
star
9

openui5-basic-template-app

OpenUI5 basic template app
JavaScript
87
star
10

contextual-ai

Contextual AI adds explainability to different stages of machine learning pipelines - data, training, and inference - thereby addressing the trust gap between such ML systems and their users. It does not refer to a specific algorithm or ML method — instead, it takes a human-centric view and approach to AI.
Jupyter Notebook
85
star
11

lumira-extension-viz

lumira
JavaScript
84
star
12

ml-model-watermarking

Protect your machine learning models easily and securely with watermarking 🔑
Python
84
star
13

com.sap.openSAP.hana5.example

openSAP HANA5/HANA6 Course: Example Completed Implementation
JavaScript
83
star
14

karydia

Kubernetes Security Walnut
Go
78
star
15

cloud-cap-nodejs-codejam

Material for the CodeJam on SAP Cloud Application Programming Model with Node.js.
Shell
76
star
16

SDK-NodeJS

SAP Conversational AI official SDK for Node.js
JavaScript
70
star
17

btp-full-stack-typescript-app

A sample project to demonstrate how to implement a full-stack app with SAP Cloud Application Programming Model, plus SAPUI5 and TypeScript.
TypeScript
68
star
18

cloud-cap-walkthroughs

This project contains exercises and tutorials for SAP Cloud Application Programming Model.
65
star
19

cloud-s4-sdk-pipeline

The Cloud SDK pipeline uses the Cloud SDK continuous delivery server for building, checking, and deploying extension applications. Projects based on the SAP Cloud SDK archetype will automatically use this pipeline.
Groovy
65
star
20

teched2020-DEV164

DEV164 - Developing Apps with SAPUI5
60
star
21

teched2019-cloud-cf-product-list

Resources for SAP TechEd SEC364 Hands-on workshop, "Secure Microservices in Cloud Foundry Environment on SAP Cloud Platform".
57
star
22

openui5-masterdetail-app

OpenUI5 master detail template app
JavaScript
56
star
23

cloud-s4-sdk-book

Sample source code for book Extending SAP S/4HANA
Java
53
star
24

cloud-sample-spaceflight-java

Build Java applications with the application programming model on SAP Cloud Platform.
49
star
25

cloud-odata-java

OData library for Java
Java
48
star
26

yaas-storefront

Storefront Template for Single-Page HTML5 shops built on YaaS/Commerce-as-a-Service. Built using angular.js.
JavaScript
48
star
27

cloud-sample-spaceflight-node

Build node applications with the application programming model on SAP Cloud Platform.
JavaScript
47
star
28

helm-broker

A Service Broker which exposes Helm charts as Service Classes in the Service Catalog
Go
47
star
29

teched2020-DAT160

DAT160 - Cloud Native Development with SAP HANA
JavaScript
46
star
30

techne

Design Guidelines, Components and Patterns Library for modern, mobile-first, user-centric Experience Design
Less
40
star
31

cloud-dirigible

Dirigible is an open source project that provides Integrated Development Environment as a Service (IDEaaS) as well as the runtime engines integration for the running applications
HTML
39
star
32

teched2020-DEV268

DEV268 - SAP Cloud Platform, ABAP Environment Connectivity and Integration
ABAP
38
star
33

machine-learning-dgm

Learning to Remember: A Synaptic Plasticity Driven Framework for Continual Learning
Python
37
star
34

HANAVora-Extensions

Spark extensions for business contexts
Scala
37
star
35

spring-cloud-sap

Spring Cloud Connectors for SAP HANA Cloud Platform (HCP) and SAP HANA DB platform
Java
37
star
36

digitalboardroom-multidesktop-fullscreen-chrome

Open SAP Digital Boardroom agendas in full-screen on multiple monitors with a Chrome application.
JavaScript
36
star
37

i40-aas

Provide a set of tools to realize the Asset Administration Shell for Industrie 4.0.
JavaScript
36
star
38

btp-workflow-management-opensap

This repository contain the exercises for the openSAP course "Improve Business Processes with SAP Workflow Management."
JavaScript
33
star
39

jenkins-pipelines

Jenkins pipeline implementations for Continuous Delivery.
32
star
40

hana-native-adapters

Since SAP HANA SPS09 supports writing new adapters for Smart Data Access, Batch Data Loading, ETL, Realtime Replication, and Realtime Transformations. While common adapters are provided by SAP, everyone can write their own adapters using the SAP HANA Adapter SDK. This project aims to provide additional adapters for using them or as samples.
Java
32
star
41

jam-collaboration-sample

A collection of simple sample code containing examples that demonstrate simple API and integration workflows.
Java
30
star
42

xsk

Compatible environment for SAP HANA Extended Application Services (XS) based applications outside of SAP HANA instance running in a container deployed on Kubernetes
Java
30
star
43

cloud-cf-furnitureshop-documentation

Step-by-step documentation to create a cloud-native application on SAP Cloud Platform Cloud Foundry environment.
29
star
44

bosh-kubernetes-cpi-release

The goal for this project is to provide a fully functional BOSH CPI. It will eventually allow to deploy any BOSH release to any Kubernetes cluster.
Haskell
29
star
45

teched2021-DEV261

DEV261 - Build Extensions with SAP BTP, Kyma Runtime
JavaScript
29
star
46

activerecord-hana-adapter

Active Record HANA Adapter (This Repository has been archived upon Members choice)
Ruby
29
star
47

cloud-platform-connectivity-principal-propagation

Learn how to set up principal propagation using SAP Cloud Platform Connectivity and Cloud Connector
Java
29
star
48

hcp-portal-service-samples

Code samples of site and page templates, applications, widgets, shell plugins and more, intended to be used as references for development of custom content for SAP HANA Cloud Platform portal service sites.
JavaScript
29
star
49

cloud-connectivityproxy

The Connectivity Proxy component is based on the SAP HANA Cloud connectivity service and allows to proxy requests from JavaScript applications, which are obliged to the Same-Origin-Policy, to backend services.
Java
28
star
50

connect-openui5

Connect middleware for OpenUI5
JavaScript
28
star
51

devops-docker-cx-server

A collection of Jenkins related Dockerfiles that can be used to implement Continuous Delivery pipelines for SAP development projects with project "Piper".
Shell
27
star
52

cloud-platform-workflow-virtual-event

Material for the virtual event on SAP Cloud Platform Workflow.
Shell
27
star
53

SAP-Business-One-Service-Layer-SDK

An SDK for SAP Business One Service Layer OData interface. Provide CRUD and filter functions by in strong type programming languages. Easy to use and efficient for partner to build Business One add-ons.
Java
27
star
54

cloud-s4-sdk-pipeline-lib

The SAP Cloud SDK pipeline library defines essential functions for building cloud extension applications. The SAP Cloud SDK pipeline uses this library.
Groovy
27
star
55

spartacus-bootcamp

Showcase of code examples and concrete use cases on how to implement, extend, and enhance Spartacus for CX customers, partners, and implementers.
TypeScript
26
star
56

angular-metaui

Framework for building angular applications declaratively using rules. For more information: https://sap.github.io/angular-metaui/html
TypeScript
26
star
57

cloud-hana-helloworld

This project provides the full source code for the "Hello World" tutorials on https://hcp.sap.com. In this tutorials you can learn how to make your very first steps on SAP HANA by developing a very simple "Hello World" application using the SAP HANA web-based Development Workbench on the SAP HANA Cloud Platform.
HTML
26
star
58

teched2020-IIS361

IIS361 - Create Analytical SAP Fiori Apps Quickly and Efficiently
JavaScript
25
star
59

smb-summit-hackathon

Build Blocks for the SAP SMB Summit Hackathons.
25
star
60

cloud-sdk-cli

The command line interface for the SAP Cloud SDK
TypeScript
24
star
61

com.sap.openSAP.hana5.templates

openSAP HANA5 Software Development on SAP HANA (Q4/2016) Course Templates
24
star
62

java-memory-assistant

A Java agent to automatically create heap dumps based on configurable thresholds and memory consumption patterns.
Java
24
star
63

teched2020-DEV267

DEV267 - Automated SAP Fiori Apps Testing with Continuous Delivery
CAP CDS
23
star
64

cloud-xsa-hybrid-deployment-tutorial

The Multi Target Application in this tutorial will be built using Microservices leveraging the powerful HANA database capabilities in combination with flexible cloud technology.
23
star
65

SDK-python

SAP Conversational AI official SDK for Python
Python
23
star
66

cloud-samples-foundation

A sample reuse package for the application programming model for SAP Cloud Platform providing common business types like currency, unit of measure, etc.
22
star
67

security-research-differentially-private-generative-models

SAP Security research sample code and tutorials for generating differentially private synthetic datasets using generative deep learning models
Jupyter Notebook
22
star
68

project-odense

RESTful endpoints to enable the usage of abapGit for ABAP Development Tools
ABAP
22
star
69

hcp-cloud-foundry-tutorials

This repository consists of tutorials for SAP HANA Cloud Platform which show how the available backing services of Cloud Foundry can be used.
Java
21
star
70

SDK-iOS

SAP Conversational AI official SDK for Swift
Swift
21
star
71

starter-NodeJS

Recast.AI official starter-kit for NodeJS
JavaScript
21
star
72

logistics-business-network-gtt-samples

This code example contains sample scenario applications that will show how to use SAP Logistics Business Network, global track and trace option to build a tracking application.
Java
20
star
73

SDK-ruby

SAP Conversational AI official SDK for Ruby
Ruby
20
star
74

teched2020-DEV161

DEV161 - Extend SAP S/4HANA with a Custom UI on SAP Cloud Platform
20
star
75

teched2020-DEV163

DEV163 - Build a Workflow from Scratch with SAP Cloud Platform Workflow
JavaScript
20
star
76

sap-hana-driver-for-sqltools

A Visual Studio Code extension which extends the SQLTools extension, with a driver to work with the SAP HANA Database. It supports tables and views, as well as running queries on an SAP HANA Database.
TypeScript
20
star
77

cloud-sdk-ios-samples

SAP Cloud Platform SDK for iOS sample apps demonstrating various components and features of the SDK in the context of bigger apps.
Swift
19
star
78

teched2020-DEV264

DEV264 - Deep dive into SAP Cloud Platform Workflow Management
JavaScript
19
star
79

SAP4Kids

A cloud-native application that leverages various SAP technologies to ensure families have access to the food and resources they need during the COVID-19 crisis. This project can be deployed to your free SAP BTP Trial account.
JavaScript
19
star
80

SDK-PHP

SAP Conversational AI official SDK for PHP
PHP
18
star
81

teched2020-IIS360

IIS360 - Simplify Development of SAP Fiori Apps with OData v4
CAP CDS
18
star
82

data-warehouse-cloud-modeling

This repository aims to onboard new users into Modeling in SAP Data Warehouse Cloud in the most practical manner. For that you will build a real working data model, which will embrace specific features and functions.
18
star
83

cloud-paulpredicts

This is a real-life productive application, demonstrating how to create a server back-end to serve multiple front-end technologies. The sample involves all currently available SAP HANA Cloud services. #cloud-sample
Java
18
star
84

cloud-weatherapp

New sample application demonstrating the interplay of several HCP services to develop a full fledged application.
Java
17
star
85

cloud-spring-boot-sample

Sample application demoing Spring Boot running on SAP HANA Cloud Platform.
Java
17
star
86

cloud-foundry-cap-azure-cities

Reference application built according to the SAP Cloud Application Programming Model. It uses an SAP HANA database for structured data, an Azure storage account for unstructured data, and SAP Fiori Elements for the user interface.
JavaScript
17
star
87

cloud-function-nodejs-samples

SAP Cloud Platform Functions samples written in Node.JS
JavaScript
16
star
88

teched2020-DEV261

DEV261 - Build Cloud-Native Extensions for SAP Solutions Based on Kubernetes
16
star
89

hana-cloud-workshop-create-database-artifacts

Learn with our experts in this hands-on workshop how to create and optimize calculation views in SAP Business Application Studio in a federated scenario using data from SAP HANA Cloud.
16
star
90

iot-edge-samples

Showcase of various extension scenarios for SAP IoT Edge, intelligent edge computing software that provides "microservices at the edge" for Internet of Things (IoT).
Java
16
star
91

yaas_java_jersey_wishlist

Due to the retirement of YaaS, this repository is archived and will no longer be maintained. --- This is an example implementation of the YaaS "Wishlist" service based on Java. It uses the RAML definition generated by the SDK without modifications. It shows how to implement a basic service and how to integrate with other services on YaaS.
Java
16
star
92

cloud-cf-multitenant-saas-provisioning-sample

Reference application for a SaaS Provisioning service to develop and deploy a SaaS multi tenant business application on SAP Cloud Platform Cloud Foundry environment.
JavaScript
16
star
93

iot-application-services-sdk-nodejs

A NodeJS package that acts as a thin wrapper over the API of SAP IoT Application Enablement.
JavaScript
16
star
94

yaas-nodejs-client-sdk

YaaS.js, a Node.js client library for SAP Hybris as a Service (YaaS)
JavaScript
15
star
95

pipeline-dsl

Pipeline DSL for Concourse
Python
15
star
96

abap-odata-smoke-test

This ABAP Report performs simple smoke tests for activated ODATA services, providing basic automated testing for your ODATA endpoints.
ABAP
15
star
97

cloud-portal-tutorial-samples

Samples from the SAP Cloud Platform Portal tutorials, including custom SAP Fiori apps, Portal widgets, shell plug-ins, and site templates.
JavaScript
14
star
98

reason-markdown

VFMD (Vanilla-Flavoured Markdown) parser for Reason
Reason
14
star
99

yaas-getting-started-yaasbites

YaaS bites (our getting started series) is a tutorial and sample code set consisting of small, incremental coding exercises to help a developer learn the basics of the YaaS platform. Its goal is to ensure that a Software Developer's initial journies into YaaS are productive and successful.
JavaScript
14
star
100

cloud-jenkins

The Cloud Jenkins sample project builds a web archive for running Jenkins in a developer account of the SAP HANA Cloud Platform. #cloud
Java
14
star