The SME 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 in the market for small and midsize enterprises (SME) to extend SAP ERP solutions by side-by-side cloud applications running on the SAP Business Technology Platform (BTP). This guidance comprises
- an opinionated selection of BTP components with architecture guidance tailored for the SME market,
- 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 SAP Business ByDesign, S/4HANA Cloud and Cloud for Projects.
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 SME Partner Reference Application in our SAP Community.
The application is based on the SAP Business Technology Platform (BTP) and SAP Cloud ERP Solutions. Therefore you need
- administrative access to a BTP account with entitlements for SAP Business Application Studio, Cloud Foundry Runtime, SAP HANA Cloud, SAP HANA Schemas & HDI Containers, SAP Build Work Zone, SAP Event Mesh, Auditlog Service, Audit Log Viewer Service,
- access to an SAP Business ByDesign tenant and authorizations for work centers Application and User Management and Project Management,
- access to an SAP S/4HANA Cloud, public edition tenant and authorizations for administration and project management apps,
- administrator access to an SAP Identity Authentication Service tenant (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.