Skip to Content
Technical Articles
Author's profile photo Carlos Roggan

SAP Cloud Platform Backend service: Overview of Blogs

I would describe SAP Cloud Platform Backend service as follows:

You open this cloud application in your browser
You pass a model file to the creation wizard
After only a few seconds you get an OData service, ready to use
The service has its own persistence, you don’t need to care about it at all
No code
Easy

The targeted role is the so-called citizen developer

It is easy to use, but nevertheless, I’m creating a series of tutorials to support you getting started and creating data models
This page also collects other links to material which you might want to view

Tutorials

Preparation & Configuration

0.1 Preparation
0.2 Roles Configuration
0.3 CDS Model Creation Tools
0.4 Configuration of BETA subaccount to enable calling APIs from external app
0.5 Security settings to enable calling APIs from external app
16 Fine-tuning role configuration for productive use of APIs

Creating APIs

1   Easy API Creation ===> F E A T U R E D <===
2   Use the Cockpit to easily fire Service Requests
32 Easy API versioning

CDS Tutorials

1.1 CDS explained
3   CDS: how to define associations (1)
4   CDS: how to define associations (2)
5   CDS: how to use Facets
6   CDS: how to use Custom Types
7   CDS: organize your models by separating data from service model
8   CDS: organize your models using namespace and contexts
9   CDS: how to use the select statement
10 CDS: association to an entity which is exposed by multiple projections
11 CDS: auto-generated values for key properties
12 CDS: how to run local CDS build
17 CDS: defining and using ETag

Consuming APIs & Security

13 How to call APIs from external tool (local REST client tool)
27 How to call APIs from external tool, made easy (via approuter)
18 How to call APIs from external node.js app
19 How to call APIs from internal node.js app (deploy to CF)
20 How to call APIs from internal node.js app using binding (cloud)
21 How to call APIs from internal node.js app with xsuaa login (“Authorization Code”)
22 How to call APIs from internal node.js app using Destination service
14 Understanding the OAuth flow when calling APIs from external app
15 Understanding the OAuth flow with grant type “Authorization Code”
24 Understanding the “Application Router” (1)
25 Understanding the “Application Router” (2)
26 Understanding the “Application Router” (3): route to Backend service with user login
33 Understanding the “Application Router” (4): Local
28 Scenario including AppRouter, Node app, TokenExchange Destination, Backend service
Calling protected app with scope: from other app and external user
30 User Interface (1): How to call an API from HTML page
31 User Interface (2): How to call an API from UI5 application

More Tutorials

23 Using the command line client for managing apps in Cloud Foundry
29 Troubleshooting: “Forbidden” Error – how to read JWT token

Other resources

The Backend service topic page: https://www.sap.com/community/topics/backend-service.html
The super cool YouTube video (1:30 time to watch, but definitely more time enjoying…)
SAP Cloud Platform Backend service in SAP Help Portal documentation

CDS
Documentation: SAP Help Portal documentation 
CAP docu: https://cap.cloud.sap/

OData
– The homepage: odata.org
– The protocol: http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html
– How URLs have to be composed: URL conventions
What’s New in OData V4.0 compared to previous version

Citizen Developer
https://www.gartner.com/it-glossary/citizen-developer/
https://www.techopedia.com/definition/30968/citizen-developer

If “citizen” is not enough and a Backend service API is too simple, then you might be interested in developing APIs with SAP Cloud Application Programming Model
Example: Deep Insert is not supported in Backend service, so you need this blog and that blog to implement it with CAP
To get started with Java implementation for CAP extensions, this series will be helpful

Security
Important post: How to configure security in app-to-app scenario (client-credentials)
Same, but accross subaccount borders
Understanding JWT token, audiences
How to add custom property to JWT token

Serverless
Great blog series by Sharadha Krishnamoorthy covering a nice serverless scenario

Function-as-a-Service
Great blog series about SAP Cloud Platform Extension Factory, serverless runtime

Assigned tags

      16 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Jan Penninkhof
      Jan Penninkhof

      Hi Carlos,

      Love the tutorials, thanks so much for doing such a great job!

      May I recommend two additional tutorails?

      1. I woud love to see a tutorial in which is explained how to call the service from external applicatons and how to conquer the security mechanisms
      2. A second tutorial that may be of interest is a tutorial on ET and how to get your initial load into the service

      Thanks so much again, Carlos!

      Best regards,
      Jan Penninkhof

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hi Jan Penninkhof

      thank you so much for your nice feedback, I really appreciate !!
      And thank you for your proposals, it is a good idea and whenever you have anything new, in mind, please go ahead and post it here 😉
      About 1, absolutely, it is required and I will do so
      The second proposal is not 100% clear to me, what do you mean with ET ?
      For me it stands for "EntityType", in google I've found "Eastern Time" or even "Ethiopia"...;-)
      With "initial load into the service", you mean to pass e.g. a csv file to fill the database?
      Kind regards,
      Carlos
      Author's profile photo Jan Penninkhof
      Jan Penninkhof

      Apologies Carlos. I guess something was wrong with the L on my keyboard. I meant ETL, and especially the initial load of data. CSV could definitely be an option there.

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hello @Everybody !

      Have you seen Jan's comment?

      I’d like to encourage everybody to follow his example:
      Write comments containing positive feedback…
      🙂
      Forget it, I’m kidding…

      Jan's good example is:

      - > let me know what tutorials you would like to have.

      Don't hesitate to send me your wish list in a personal message, or post it in a comment

      Cheers,
      Carlos

      Author's profile photo Fernando Martin
      Fernando Martin

      Good job Carlos, all these blogs are awesome!!

      This service is basically...Magic 😀

       

      Do you have any information about the future pricing of the tool or something related?

       

      Many thanks!!

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hello Fernando Martin

      Thanks so much for your feedback... Awesome !! 😉

      The cost of using an API depends on both: the amount of stored data and the frequency of usage.
      Since Backend service leverages the serverless scenario, the database itself is abstracted from the user, I mean you don’t need to procure HANA DB storage separately. There will be only one pricing (most probably).
      However, Backend service is currently still in BETA mode, so I cannot give concrete pricing figures

      Stay tuned...
      Chao,
      Carlos

      Author's profile photo Luca Toldo
      Luca Toldo

      Very useful blog, please keep up with sharing !

      Author's profile photo Mahesh Kumar Palavalli
      Mahesh Kumar Palavalli

      Thanks for creating this very useful series!!

      BTW Broken link at 0.4 step.

       

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hi Mahesh Kumar Palavalli
      thanks so much for your feedback! It is good to know that all this stuff is useful for you!
      Cheers,
      Carlos

      Author's profile photo Mahesh Kumar Palavalli
      Mahesh Kumar Palavalli

      Hello  again Carlos Roggan !!!

      This time I will not ask you any questions, Just wanted provide the feedback 🙂 🙂

      So as of today I've completed your 32+ blogs successfully and ofcourse I've given 32+ likes as well 😛 ( Not for free though, I expect you to return the favor 😀 , in the form of another series 😛 😀 )

      Now to the feedback part, The blogs are very beautifully written. I've been in a journey of understanding how easy the backend service is and how to use it in an UI5 app, deployed in Cloud foundry with oauth applied.

      To be frank, It would hardly take 3 blogs to explain this stuff but your extra effort to explain us the basics of backend service, oauth, authorizations, roles, cloud foundy & destinations, made 32+ awesome blogs to teach us the basics. Really awesome thing from your side.

      First time for me to go through these many number of blogs in a month and It's my personal record 😀 😛 .

      Ofcourse I am no expert in these concepts as of now. I am pretty sure I've to revisit these blogs again more than once before understand them well.  So expect few more questions soon 😛

       

      Thanks,

      Mahesh

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hello Mahesh Kumar Palavalli ,

      thanks so much (!!!) for this wonderful feedback !! I'm so glad that you've read all of them and that makes you a very special community member !! I'm very glad and also relieved that you liked them and didn't find them annoying or too simple. And that you  had so much patience..... 😉
      So be assured of my admiration 😉 and also my CONGRATS for making it and for your record 😉

      I wanted to share my own learning experience and such kind of feedback gives ppl like me the motivation to continue like that.

      Your questions are always welcome and I hope to be able to answer them, you can always contact me via personal message

      Thanks so much for taking the time to write these lines, Mahesh !
      Good luck and all the best for you! 😉
      Cheers,
      Carlos 😉

      Author's profile photo Kjeld Sigtermans
      Kjeld Sigtermans

      Hello Carlos,

       

      We are trying to use CDS to create a odata service, but our client (our frontend team) demands the odata to be V2. Is it possible to create a Odata V2 service with CDS?

       

      Thanks!

      Kjeld

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hello Kjeld Sigtermans ,
      The current Backend Service supports v2 and v4, just tick the checkbox.
      If you create a CAP project, that would support only v4. However, there's a v2 adapter which you could use.
      See here: https://github.com/gregorwolf/SAP-NPM-API-collection/tree/master/apis/cds-odata-v2-adapter-proxy
      You may also have a look at the great DJ Adams tutorial:
      https://developers.sap.com/tutorials/cap-cloudsdk-2-v2-adapter.html
      The v2 adapter might not support all odata scenarios (yet), so you should check that out carefully.
      Hope that helps!
      Cheers,
      Carlos

      Author's profile photo Kjeld Sigtermans
      Kjeld Sigtermans

      Ok thanks! This is helping 🙂

      Cheers,

      Kjeld

       

      Author's profile photo Carlos Roggan
      Carlos Roggan
      Blog Post Author

      Hello Kjeld Sigtermans , am glad that it helps ! 😉

      Author's profile photo Ahmed khan
      Ahmed khan

      How to get all commands of cds like "cds deploy", "cds run" etc, Is there any guide mentioned all commands of cds, I didn't find  any till now.