Skip to Content
Technical Articles

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
28 Scenario including AppRouter, Node app, TokenExchange Destination, Backend service
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

… and more coming sooner:

CDS features you will appreciate

… or later:

More CDS features you will appreciate

… and much more coming much later…

 

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: https://www.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

11 Comments
You must be Logged on to comment or reply to a post.
  • 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

    • 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
      • 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.

  • 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

  • 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!!

    • 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

  • 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

    • 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 😉