multi-cloud-html5-apps-samples icon indicating copy to clipboard operation
multi-cloud-html5-apps-samples copied to clipboard

Examples of HTML5 applications for multiple SAP BTP environments. The examples show how you can use standalone application routers or managed application routers to achieve different goals, and they d...

Examples of HTML5 Applications for SAP Business Technology Platform Multi-Cloud Environments

REUSE status

This repository contains examples of HTML5 applications for multiple SAP BTP environments. The examples show how you can use standalone application routers or managed application routers to achieve different goals and they demonstrate the capabilities of the SAP HTML5 Application Repository service for SAP BTP.

On the Cloud Foundry and Kyma environment of SAP BTP, you can run an application that was uploaded to the SAP HTML5 Application Repository service for SAP BTP using one of the following options: a standalone application router or a managed application router. Both options allow you to serve static content from the HTML5 Application Repository, authenticate users, rewrite URLs, and forward or proxy requests to other micro services while propagating user information. However, the option that is managed brings many benefits, such as:

  • Simplifying and speeding up your development and deployment experience
  • Saving resources by running a serverless HTML5 application, which doesn’t require any application runtime
  • Lower maintenance efforts by leveraging the most up-to-date routing capabilities
  • Meeting the changing demand for HTML5 applications by automatically adjusting the service to maintain consistent and predictable performance

In general, we recommend using the managed application router. Use an standalone application router preferably only in advanced cases, for example when application router extensibility is required.

For more information, see

Examples for SAP BTP, Cloud Foundry Environment

Before you start with the examples, please make sure that you are familiar with the basic concepts of HTML5 web apps in the Cloud Foundry environment, such as Cloud Foundry applications, services, service bindings. For more information, see this video.

The HTML5 Application Repository can hold any UI project independent of the used framework. Use the following commands of the Cloud Foundry CLI plugin plugin to upload the HTML5 apps to the application repository:

mkdir myapp
cd myapp
echo '{"sap.app":{"id":"myapp","applicationVersion":{"version": "1.0.0"}}}' > manifest.json
echo '{"routes":[{"source":"^(.*)","target": "$1","service":"html5-apps-repo-rt"}]}' > xs-app.json
cf html5-push

For information about how to upload a react-based application to the HTML5 Application Repository, see this blog post.

Requirements

  • You need one of the following SAP BTP account types:

    • SAP BTP trial account in the region Europe (Frankfurt), or an SAP BTP free tier account. For creating an account see this tutorial.
    • SAP BTP productive account
  • Node.js LTS version 14 is installed: https://nodejs.org/en/download

  • Cloud Foundry Command Line tool (cf CLI) is installed. For more information, see this tutorial

  • The Multi-Target Application Cloud Foundry CLI Plugin (MultiApps CF CLI Plugin) is installed :

    cf add-plugin-repo CF-Community https://plugins.cloudfoundry.org
    cf install-plugin multiapps
    
  • GNU Make : https://www.gnu.org/software/make

    If you are running macOS or Linux it's likely that you already have Make installed. As a Windows user, please use the Chocolatey package manager to install Make via choco install make. After the installation, please check you can start the executable (make) from the terminal.

HTML5 Apps Running on a Standalone Application Router

  • Basic app directly embedded into Cloud Foundry environment

  • Basic App stored on HTML5 Application Repository

  • Basic App stored on HTML5 Application Repository, using XSUAA service, and destination service

  • Multi-tenant SAP Fiori app on HTML5 Application Repository

  • SAP Fiori app integrated with SAP Cloud Portal service

  • SAP Fiori app integrated with SAP Cloud Portal service and using UI5 flexibility service for key users

HTML5 Apps Using the Managed Application Router

In contrast to the examples above, you don't need an application router for the following apps, which use the managed application router. This reduces the total cost of ownership (TCO) and you don't have to update the application router manually.

  • Basic HTML5 App with a Managed Application Router, XSUAA service, and destination service
  • SAP Fiori App with a Managed Application Router, XSUAA service, and destination service

Optional backend service

  • SAP Fiori App example consume a public service, to use instead a CAP service with required authentication look at optional-self-hosted-backend

Examples for SAP BTP, Kubernetes Environment

HTML5 Apps Using the Managed Application Router

  • Basic SAPUI5 App with a Managed Application Router and a Backend Component in the Kyma Runtime

Known Issues

None so far :)

Support

This content is provided "as-is" with no other support.