How to use
Look through the templates or use the search to search for keywords or templates.
Each template will have a short description and an image that shows the template. The link will open up diagrams.net and the template for you to continue working on it.
Contribute
If you have a template that you would like to share with the community. You will need to download your architecture diagram in XML format from diagrams.net or draw.io. Open the Github editor via this link or fork the repository and add your xml file into upload directory and create a pull request and fill out the details requested. These details are used to create the page that shows the template.
If the pull request doesn't add the template automatically, then please use the following template
# Title
[Title]
# Description
[Description]
# Image
[Paste a copy of your image]
# Tags
[Add any relevant tags]
Principal Propagation
Example for principal propagation
Title
Hire New Employee
Description
A new employee is processed via SuccessFactors, this publishes an event to SAP BTP Event Mesh. Cloud Integration reads this event queue and creates the new user on Azure AD, S/4HANA and sends out a welcome email and publishes to the teams channel a welcome message with the new employee details
Image
Tags / Keywords
SuccessFactors, Event Mesh, New Employee, Graph, Open Connectors
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/HireNewEmployee/HireNewEmployee.xml&clibs=Uhttps://raw.githubusercontent.com/mauriciolauffer/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml)
SAP Cloud Application Programming Model
View more in the online docs
Title
CAPM - DevOps
Description
How a DevOps process could look like for CAPM apps on SAP BTP.
When should I use it?
- When the company has a DevOps process in place.
- When automated tests are required and/or have to be enforced.
- When manually building and deploying applications is not acceptable.
- When tests and deployments need to produce audit logs.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Examples
- Developer creates a CAP app with Node.js + SAP Fiori + SAP HANA artefacts.
- Developer pushes the code to a git repository.
- SAP BTP CI/CD Service is triggered via a webhook from git.
- It builds and tests the application.
- All tests passed, the application is deployed to subaccount QAS.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, cTMS, CICD, DevOps, Business Application Studio
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-DevOps/SAPBTP-CAP_DevOps.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/mauriciolauffer/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - HANA
Description
Simple CAP application consuming SAP HANA Cloud service.
When should I use it?
- When SAP HANA Cloud artifacts (tables/views/etc) are modelled in the same CAP project.
- The CAP app has direct access to the database layer, no extra configuration is required.
- The data required by the app doesn't exist in other systems (cloud or on-premise).
Examples
- Side-by-Side extensions to keep the Core Clean.
- A marketing campaign app created to capture customer details in an event.
- An HR app created for new employees to track their onboarding progress.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, HANA, HANA Cloud
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-HANA/SAPBTP-CAP_HANA.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - Microservice - HANA
Description
A CAP microservice works as an interface to avoid direct access to SAP HANA Cloud.
When should I use it?
- When SAP HANA Cloud artifacts (tables/views/etc) are modelled in another CAP project. The HANA Cloud instance could be both in the same subaccount or in another one.
- A new CAP app could be created with the sole purpose of acting as a microservice that handles access to HANA Cloud data. Other CAP apps connect to this new CAP app rather than to HANA Cloud.
- When a CAP app does not have direct access to the database layer, configuring SAP HANA cross-container access is a cumbersome task and should be avoided.
- This approach simplifies consumption and maintenance as there is no need to configure HDI cross-container accesses, roles and synonyms.
Examples
- Side-by-Side extensions to keep the Core Clean.
- A microservice that manages user data in SAP BTP is used by multiple applications that require user information.
- A microservice that manages customer loyalty data is used by multiple applications:
- Customer-facing app to check their loyalty points;
- Employee-facing app to audit loyalty points accumulation;
- Supplier-facing app to create extra loyalty points campaigns;
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, HANA, HANA Cloud, microservice
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-Microservice-HANA/SAPBTP-CAP_CAP_HANA.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - Logging
Description
Simple CAP application consuming SAP HANA Cloud service.
When should I use it?
- Application logs should always be used. There's no step-by-step debugging in native cloud applications (unlike ABAP). If an application doesn't produce logs, troubleshooting issues becomes a cumbersome task.
- Audit logs should be used to produce security event logs (who did what and when?), access to protected and privacy-related data (who? when?).
Examples
- A finance application that produces security events logs such as created and deleted entries.
- An HR application that produces GDPR compliance logs.
- An application that produces system error logs for debugging and troubleshooting.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, log, logging, monitoring
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-Logging/SAPBTP-CAP_Logging.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - SAP Datasphere
Description
A CAP application consuming data from SAP Datasphere.
When should I use it?
- When business data and models are available in SAP Datasphere, they can be exposed as OData Services.
- When a CAP app needs to connect to SAP Datasphere (DS), do not connect to the HDI container underneath DS, use the OData Services provided by DS.
- Using DS OData Services simplifies consumption and maintenance as there is no need to configure HDI cross-container accesses, roles and synonyms.
Examples
- Side-by-Side extensions to keep the Core Clean.
- An application that extends standard Purchase Orders with custom data.
- An application that gives access to employee information mixing data from SAP S/4HANA and SuccessFactors.
- An application using data from Google BigQuery and SAP S/4HANA.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, SAP Datasphere, OData
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-SAPDatasphere/SAPBTP-CAP_SAP_Datasphere.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - SAP Integration Suite
Description
A CAP application consuming data through SAP Integration Suite.
When should I use it?
- When SAP Integration Suite is used to manage data access to on-premise and cloud systems, especially with SAP Business Accelerator Hub.
- When a CAP app needs to connect to remote APIs both on-premise and cloud.
Examples
- Side-by-Side extensions to keep the Core Clean.
- An application that automatically creates ServiceNow tickets whenever a runtime issue happens.
- An application for plant maintenance using data from both SAP S/4HANA and SAP Fieldglass.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, SAP Integration Suite
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-SAPIntegrationSuite/SAPBTP-CAP_SAPIntegrationSuite.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - Cloud Systems
Description
A CAP application connecting to cloud systems.
When should I use it?
- When neither SAP Datasphere nor SAP Integration Suite are used to manage data access to cloud systems.
- When a CAP app needs to connect to remote APIs (on-premise and cloud).
Examples
- Side-by-Side extensions to keep the Core Clean.
- An application using data from both SAP S/4HANA Cloud and SAP Concur.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, cloud
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-CloudSystems/SAPBTP-CAP_CloudSystems.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Title
CAPM - On-Premise Systems
Description
A CAP application connecting to on-premise systems.
When should I use it?
- When neither SAP Datasphere nor SAP Integration Suite are used to manage data access to on-premise systems.
- When a CAP app needs to connect to remote on-premise APIs.
Examples
- Side-by-Side extensions to keep the Core Clean.
- A picking/packing application using data from SAP S/4HANA.
- A Sales Order application connecting to SAP ECC systems via BAPIs.
Footnotes
- HTML5 Application Repository Service can host any web app such as SAP Fiori, Angular, React, Vue, etc.
- CAPM (Cloud Application Programming Model) apps could be developed in Node.js or Java.
- Communication between the services should go through the Destination Service, not added to the diagram to simplify it.
- On-premise solutions could be both SAP and non-SAP.
- Cloud solutions could be both SAP and non-SAP.
- SAP Cloud Identity Services is not required to connect to On-premise or Cloud solutions.
Image
Tags / Keywords
CAP, CAPM, Node.js, Java, on-premise
Desktop Client Draw.io
To use in desktop client use the following link and import with template url:
https://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/src/templates/CAPM-On-PremiseSystems/SAPBTP-CAP_OnpremiseSystems.drawio.xml&clibs=Uhttps://raw.githubusercontent.com/rsletta/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml
Usage
Simply just click the link and you will open diagrams.net and be able to use the latest icons. If you want to use this in draw.io desktop client. Then use the following link for import.
https://raw.githubusercontent.com/mauriciolauffer/sap_btp_icons_drawio_lib/main/libs/SAP_BTP_Service_Icons_latest.xml