Examples of HTML5 Applications for SAP Cloud Platform Multi-Cloud Environment
This repository contains examples of HTML5 applications for the SAP Cloud Platform Cloud Foundry environment. The examples show how you can use standalone application routers or HTML5 Applications Runtime managed by SAP Cloud Platform to achieve different goals and they demonstrate the capabilities of the HTML5 Application Repository service in the Cloud Foundry environment.
On the Cloud Foundry environment of SAP Cloud Platform, you can run an application that was uploaded to the HTML5 Application Repository using one of the following options: a standalone application router or HTML5 Applications Runtime managed by SAP Cloud Platform. 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 by SAP Cloud Platform 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 HTML5 Applications Runtime managed by SAP Cloud Platform. Use an standalone application router preferably only in advanced cases, for example when application router extensibility is required.
For more information, see
- Developing HTML5 Applications Managed by SAP Cloud Platform
- Developing HTML5 Applications in the 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 Cloud Foundry, 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 have an SAP Cloud Platform trial account in the region Europe (Frankfurt). For creating the trial account, see this tutorial.
-
Node.js LTS version 10 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
HTML5 Apps Using the HTML5 Applications Runtime Managed by SAP Cloud Platform
In contrast to the examples above, you don't need an application router for the following apps, which use the HTML5 Applications Runtime managed by SAP Cloud Platform. This reduces the total cost of ownership (TCO) and you don't have to update the application router manually.
- Basic HTML5 app that is managed by SAP Cloud Platform with XSUAA service and destination service
- SAP Fiori app that is managed by SAP Cloud Platform with XSUAA service and destination service
Known Issues
None so far :)
Support
This content is provided "as-is" with no other support.