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
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
Hi Carlos,
Love the tutorials, thanks so much for doing such a great job!
May I recommend two additional tutorails?
Thanks so much again, Carlos!
Best regards,
Jan Penninkhof
Hi Jan Penninkhof
For me it stands for "EntityType", in google I've found "Eastern Time" or even "Ethiopia"...;-)
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
Very useful blog, please keep up with sharing !
Thanks for creating this very useful series!!
BTW Broken link at 0.4 step.
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
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 😉
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
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
Ok thanks! This is helping 🙂
Cheers,
Kjeld
Hello Kjeld Sigtermans , am glad that it helps ! 😉
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.