How to use

Look through the templates or use the search to search for keywords or templates.

Search

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

Principal Propagation

Open Diagram

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

image

Tags / Keywords

SuccessFactors, Event Mesh, New Employee, Graph, Open Connectors

Open Diagram

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, cTMS, CICD, DevOps, Business Application Studio

Open Diagram

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, HANA, HANA Cloud

Open Diagram in the browser

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, HANA, HANA Cloud, microservice

Open Diagram in the browser

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, log, logging, monitoring

Open Diagram in the browser

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, SAP Datasphere, OData

Open Diagram in the browser

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, SAP Integration Suite

Open Diagram in the browser

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, cloud

Open Diagram in the browser

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

image

Tags / Keywords

CAP, CAPM, Node.js, Java, on-premise

Open Diagram in the browser

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

Github Repo