Note
This repository is deprecated; no updates are planned anymore. You find the successor of this repository in the SAP Samples repository Partner Reference Application, version 2. The new Partner Reference Application provides a much simpler developer journey, a stronger focus on multitenancy, and a better fit for B1- and S/4HANA Cloud partners.
The Partner Reference Application provides a "golden path" to build, run and integrate full-stack cloud applications on the SAP Business Technology Platform.
With this repository we want to provide guidance for SAP partners to extend SAP ERP solutions by side-by-side cloud applications running on the SAP Business Technology Platform (BTP) in a scalable model. This guidance comprises
- an opinionated selection of BTP components with architecture guidance,
- best practices ("golden paths") to build, deploy and provision full-stack BTP applications, and
- we pay special attention to the interoperability and integration with SAP cloud solutions such as S/4HANA Cloud, Cloud for Projects and SAP Business ByDesign.
The repository includes a sample application that is ready to deploy and run, and tutorials to re-build the sample application from scratch following an incremental development approach from one-off to multi-consumer solutions.
About the sample application "Author Readings":
Assume you are an event manager and your job is to organize and run author readings and poetry slams for reading clubs, book fairs and other occasions.
Your company is running its business on an cloud ERP system provided by SAP and you mostly use the project management work center to plan and staff events, to collect costs and to purchase required equipment. Additionally an SAP partner provided a side-by-side application named "Author Reading Management" to publish author reading events and to register event participants and visitors.
It was in particular important for you to separate the event publishing and participant registration from your ERP system for security and compliance reasons. Nevertheless, as a power user working in both systems you asked the partner to ensure a seamless user experience and navigation between the SAP system and the partner application.
Features of the author reading application:
- Create and change author reading events; publish and block author readings
- Add and remove participants; confirm and cancel participations
- Calculate the number of free seats and block overbookings
- One-click creation of projects for reading events and a preview of project information on the author reading UI (here, ERP authorizations must apply in the partner application as well!)
- ERP users shall be able to launch the author reading app on their ERP launchpad, and it shall be possible to navigate from author readings to the associated project in the ERP system
- Synchronize the status of the author reading event with the status of the associated project
Additionally, the sample showcases qualities relevant for enterprise-grade partner applications, supported by BTP services and programming models:
- Standardized online development environment using the Business Application Studio
- State-of-the-art web application architecture based on HTML5, NodeJS and HANA Cloud
- Model-driven development based on the SAP Cloud Application Programming Model (CAP), SAP Core Data Services (CDS) and Fiori Elements
- User experiences that fit to the SAP standard based on standard SAP floorplan patterns, and out-of-the-box theming and personalization
- A draft concept to allow users to change data in multiple steps without publishing incomplete changes
- Enterprise-grade security by authentication and role-based authorizations in line with SAP product standards and technology alignments
- Enterprise-ready compliance by personal data management and audit log
- Seamless and secure frontend and back-channel integration with SAP ERP solutions
- Delivering “open solutions” by integration-ready OData APIs and business events following SAP technology alignments
- Deployment as one-off and multi-customer solution
Which BTP resources do we use for the partner reference application?
The partner reference application is basically a NodeJS-application deployed on Cloud Foundry. We are using the SAP Business Application Studio as development environment and Github as code repository. The SAP Cloud Application Programming Model (CAP) and Fiori Elements provide a model-driven development approach and empower us to focus on business objects, business logic and UI content. The use of BTP services save development- and application management effort and provide a trusted runtime in line with SAP standards.
Join our community!
Do you like to share your own ideas and best practices? Please feel welcome to a vivid conversation about the Partner Reference Application in our SAP Community.
The application is based on the SAP Business Technology Platform (BTP) and integrated with SAP Cloud ERP Solutions. Therefore you need access to the following SAP solutions:
- SAP Business Technology Platform (BTP) account for test, demo and development (TDD account) or a BTP account for productive use,
- SAP Cloud ERP solution such as SAP S/4HANA Cloud, public edition or SAP Business ByDesign (you can focus on the integration with the ERP solution of your choice and skip the integration with other ERP solutions if not available),
- SAP Identity Authentication Service (IAS).
We are using the Business Application Studio as standardized development environment and Github as code repository.
You can start your journey following two paths:
-
Deploy and run the sample application as provided in this respository following the tutorials for deployment and provisioning of the one-off or multi-tenant version of the sample application.
-
Re-build the application from scratch following the guidelines step-by-step starting with tutorial "Build a full-stack BTP Application with One-off Deployment in a Customer BTP Account".
I would recommend to take the first approach and deploy the multi-tenant version of the sample application (./Applications/author-readings-mt) as is, and then use the tutorials as retrospect to understand the steps taken to reach this state.
Starting easy, we create, deploy and run a one-off (single-tenant) version of the application first:
-
Build a full-stack BTP Application with One-off Deployment in a Customer BTP Account
-
A Guided Tour to explore the Capabilities of the Sample Application
Enhance the application to support multiple customers using shared BTP resources:
-
Deploy the Multi-Tenant Application to a Provider Subaccount
-
Provision Tenants of the Multi-Tenant Application to Customers
Enhance your market reach and add S/4HANA Cloud, public edition as ERP-backend:
Enhance your market reach and add S/4HANA Cloud for Projects, collaborative project management as backend project management solution:
-
Integrate the BTP Application with S/4HANA Cloud for Projects, collaborative project management
-
Connect a Tenant with S/4HANA Cloud for Projects, collaborative project management
Open the APIs of the BTP application for 3rd-party integrations:
After completing all steps you may have a scalable application with multiple customer subscriptions:
Related resources:
- SAP Cloud Application Programming Model
- SAP Cloud SDK
- SAP Discovery Center
- ByD API Overview
- ByD OData API Usage Samples
No known issues.
This repository is provided "as-is"; no support is available. For questions and comments, join the SAP Community.
Copyright (c) 2022 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.