SAP Cloud SDK Overview
In June 2020 we have launched a brand new documentation portal which consolidates all the knowledge, feature documentation, comprehensive guides, video tutorials, troubleshooting, release notes, API documentation, and more. Please, use it as a single reference point about SAP Cloud SDK. From now on it’s the most complete and up-to-date source of information about the product.
Disclaimer: The blog posts mentioned in this overview are only applicable for the SAP Cloud SDK (Java) version of at most 2.19.2. We plan to continuously migrate these blog posts into our List of Tutorials. Feel free to check out our updated Tutorials on the SAP Cloud SDK.
Disclaimer: The SAP Cloud SDK for Continuous Delivery and its features have been merged into project “Piper”. Therefore we recommend to use the General Purpose Pipeline of project “Piper” instead of the SAP Cloud SDK pipeline. The reasoning for this change, as well as further information on how to adopt the General Purpose Pipeline are described in this guide.
SAP S/4HANA has become de-facto ERP standard with now more than 5,800 customers worldwide. It accompanies organizations across the world in their digital transformation journey that requires them to adopt best-in-class software with high agility. This is further extended by SAP Cloud Platform that gives developers the power to build and run high-quality applications that conform to the highest order of performance, security and reliability tests.
This is where the SAP Cloud SDK comes in. Making the application development experience delightful, the SDK provides you out-of-the-box capabilities, such as the simplified integration with SAP S/4HANA and Business Suite and beyond using the virtual data model for exposed APIs, abstractions of the underlying cloud platform implementation of SAP Cloud Platform, fault-tolerance, cache management, tutorials, project templates, and many more.
SAP Cloud SDK is based on the SAP S/4HANA Cloud SDK that you might know from the past. We announce this evolution and support of other SAP LoB solutions at SAPPHIRE 2019.
Find more information about this announcement in the following resources:
SAP Cloud SDK on SAP News Center
SAP Cloud SDK technical introduction blog post
The list of supported LoB solutions already includes systems such as SAP SuccessFactors, SAP Business ByDesign, SAP Cloud for Customer, and SAP Cloud for Real Estate. We are working on extending the list of supported systems and on providing users of the SAP Cloud SDK with the comprehensive documentation on the corresponding SDK components.
On a high level, the SAP Cloud SDK consists of two technical components: SAP Cloud SDK libraries and the Continuous Delivery Toolkit. Note, that you can use the SDK libraries in integration with SAP Cloud Application Programming Model, as well as independently with any framework of choice, as depicted in the figure below.
Continuous Delivery Toolkit for projects based on the SAP Cloud SDK is an open-source component and is available via GitHub. Please, refer to the following blog post containing the detailed instructions on how to set up the CI/CD pipeline of the Continuous Delivery Toolkit.
The purpose of this blog post is to provide the step by step hands on guide for developers starting their work with the SAP Cloud SDK and the Continuous Delivery Toolkit.
|Community update call||Update call on the SDK releases|
|Specific tutorials||Learn about Other Core Components of the SAP Cloud SDK||Build an Address Manager with the SAP Cloud SDK’s OData Virtual Data Model|
|Deep dives||Specific Technical Topics||Coming soon|
|API documentation||Detailed JavaDoc for the SAP Cloud SDK for Java||API documentation in JSDoc|
|Example projects||Project examples on GitHub|
Community Update Calls on the SAP Cloud SDK
Since December 2018, we are conducting a series of community update calls in addition to our tutorials and blog posts. Here, you can learn more about the latest releases, features of the SAP Cloud SDK, and its integration with other SAP offerings.
It is live sessions, so, you can also ask experts the questions about the releases, roadmap, and specific features of the SAP Cloud SDK that are particularly relevant for your project.
Check out the details and register for the upcoming sessions following the link to this blog post.
Access individual tutorials following the links below or via the tutorial mission:
Access individual tutorials following the links below or via the tutorial mission:
Build OData Queries with the SAP Cloud SDK’s Virtual Data Model
Use OData Navigation Properties with the SAP Cloud SDK’s Virtual Data Model
Create OData Entities with the SAP Cloud SDK’s Virtual Data Model
Update OData Entities with the SAP Cloud SDK’s Virtual Data Model
Delete OData Entities with the SAP Cloud SDK’s Virtual Data Model
Tutorials (Java): Get Started with the SAP Cloud SDK
Step 1 with SAP Cloud SDK: Set up
Step 2 with SAP Cloud SDK: HelloWorld on SCP Neo
Step 3 with SAP Cloud SDK: HelloWorld on SCP CloudFoundry
Step 4 with SAP Cloud SDK: Calling an OData Service
Step 5 with SAP Cloud SDK: Resilience with Hystrix
Step 6 with SAP Cloud SDK: Caching
Step 7 with SAP Cloud SDK: Secure your Application on SAP Cloud Platform, CloudFoundry
Step 8 with SAP Cloud SDK: Secure your Application on SAP Cloud Platform, Neo
Tutorials (Java): Learn about Other Core Components of the SAP Cloud SDK
Step 9 with SAP Cloud SDK: Implement and Deploy a Frontend Application
Step 10 with SAP Cloud SDK: Virtual Data Model for OData
Step 11 with SAP Cloud SDK: Virtual Data Model for BAPI
Step 12 with SAP Cloud SDK: Logging with SAP Cloud SDK
Step 13 with SAP Cloud SDK: Automated Testing
Step 14 with SAP Cloud SDK: Continuous integration and delivery
Step 15 with SAP Cloud SDK: Static Code Checks
Step 16 with SAP Cloud SDK: Quality Checks
Step 17 with SAP Cloud SDK: Monitoring
Step 18 with SAP Cloud SDK: Your Multi-Tenant Application in SAP Fiori Launchpad on SAP Cloud Platform Cloud Foundry
Step 19 with SAP Cloud SDK: Mocking calls or how to develop an extension without an S/4HANA system
Step 20 with SAP Cloud SDK: Create and Deep Insert with the Virtual Data Model for OData
Step 21 with SAP Cloud SDK: End-To-End Tests Against Secured Applications
Step 22 with the SAP Cloud SDK: Extensibility, Type-safe Expand, and Dependency Injection with the Virtual Data Model for OData
Step 23 with SAP Cloud SDK: Performance Tests
Step 24 with SAP Cloud SDK: Autoscaling of the Continuous Delivery Toolkit on Kubernetes
Deep Dives (Java): Specific Technical Topics
An End-to-End Story on the Virtual Data Model using the Business Partner API
What is what? Your quick reference to Communication Management, and Identity & Access Management Artifacts in S/4HANA
Cloud Platform Abstractions in the SAP Cloud SDK
Continuous Delivery Pipeline for SAP Cloud SDK Based Projects
Executing BAPIs inside S/4HANA On-Premise from your Cloud Application
Extend your Cloud Foundry Application with Tenant-Aware Persistency
S/4HANA Connectivity – Made Simple
Leverage Principal Propagation via OAuth 2 when consuming a Business API from S/4HANA Cloud
Tenant and User Aware Microservices Communication via REST APIs
Generating Java VDM for S/4HANA Custom OData Service
Calling an OData Service from a Web IDE Project using the SAP Cloud SDK
Use the SAP Cloud SDK in the Application Programming Model for SAP Cloud Platform
Quickly build a prototype with SAP Leonardo Machine Learning Foundation, SAP API Business Hub, and SAP S/4HANA Cloud SDK
Integrate SAP Cloud Platform Blockchain using Hyperledger Fabric into a SAP Cloud SDK application
Production-ready integration of SAP Leonardo Machine Learning Foundation services with an SAP S/4HANA side-by-side extension built with the SAP Cloud SDK
An End to End story of the integration of an OData service with SAP Conversational AI (also known as Recast AI)
Integrate SAP Cloud Platform Blockchain using MultiChain into a SAP Cloud SDK application
Convenient Consumption of SAP S/4HANA SOAP APIs
Experimental serverless CI/CD with SAP Cloud SDK Continuous Delivery Toolkit
Migrate SAP Cloud SDK Based Applications from SAP Cloud Platform Neo Environment to Cloud Foundry
Consuming Messages representing Business Events from SAP S/4HANA Cloud
Access any REST service with the SAP Cloud SDK
Step-by-Step: Consume REST Service API with SAP Cloud SDK
Create an application with SAP Cloud SDK to integrate with SAP SuccessFactors
With the SAP Cloud SDK, we follow the bi-weekly release strategy. We always recommend to migrate to the newer version of the SDK after its release, as each release enriches the feature set and improves the product. Below you find the links to the release notes providing details on the SAP Cloud SDK releases. Each release is also accompanied with a release blog post, providing more detailed information on the main new features, as well as the information on how to migrate to new versions. You will find links to the corresponding release blog posts in release notes:
- Release notes for the SAP Cloud SDK (Java)
- In case you have questions to the releases, feel free to join our community update call series where we go through the “what’s new” in the SDK and have a dedicated Q&A sessions
Interested to discover more?
We also recommend you the following resources in addition to the tutorials and deep dives:
- To learn more about the side-by-side extensibility of SAP S/4HANA, join our free Open SAP Course.
- To dig deeper into the introduced topics, check out the book “Extending SAP S/4HANA”.
- Technical troubleshooting and Q&A: Feel free to reach out to us on StackOverflow via our sap-cloud-sdk tag. We actively monitor this tag in our core engineering teams. You can also leave us a comment or a question in SAP Community using the SAP Cloud SDK tag.
provided tutorials show how to write very simple applications and how to call OData Services provided by S4/Hana. That's ok, let's say that this way we can access S4/Hana at business logic level. But what about customization of S4/Hana GUI ? And moreover, how does S4/SDK cope with Sap Web IDE ?
Thanks in advance for your reply.
thanks for your question, you definitely raise important topics.
The SDK provides a friendly environment for developers of SAP S/4HANA extensions on SAP Cloud Platform. Technically, it means that you have a set of libraries that can be used to connect your S/4HANA system (On Premise or Cloud Edition) from SAP Cloud Platform, retrieve the data using provided query builders and S/4HANA connectors and process the result. While you develop your application, you can extend the business logic and the data model (using SAP Cloud Platform Persistence Service). All OData services that are exposed in the SAP S/4HANA can be accessed using the SDK in the SAP Cloud Platform. By this means, we can develop extensions for the business logic, as you have correctly mentioned. Customizing of the SAP S/4HANA is indeed an interesting topic, which can be potentially addressed in the later releases. However, it is currently out of scope in the SAP S/4HANA Cloud SDK.
SAP is also working on integration of the SDK with the SAP WebIDE by incorporating corresponding java project templates. More information and updates will follow during the general availability release.
Will it make sense to use this SDK for non S4H Extension scenarios (ie., for standalone reuse services)?
Thanks & Regards,
the S/4HANA Cloud SDK strongly focuses on building side-by-side extensions for S/4HANA on the SAP Cloud Platform. Nevertheless, you can use certain aspects like our support for easy testing and mocking of the Cloud platform environment for standalone scenarios. Whether using the SDK for building your services makes sense strongly depends on your individual requirements.
Does the SDK require developers to have Java background to use it?
I'm newbie to Java application development. Do you have any resources that could explain more about the SDK?
Thanks in advance.
current version of the SDK is aiming for Java developers of side-by-side extensions for S/4HANA on SAP Cloud Platform. We are planning to support other programming languages with the SDK in the future. Did you investigate the tutorials, linked in this blog post? The blogposts in the "Tutorials" section, would be the best starting point with the SDK from the developer perspective.
Thank you for your reply.
I did go through tutorials. They're very helpful.
There is a link to here from: https://github.com/SAP/cloud-s4-sdk-examples/blob/master/README.md
Stating as below:
The cost center manager app is not referenced in this page.
Thanks Darren, we have adapted the README to the latest state of the example projects and tutorials.
Hi Ekaterina, thanks for maintaining this great ‘homepage’ for the S4SDK. Will you be updating the JavaDoc link to the 2.9.0 release of the SDK?
Is there an easy to switch versions once you are in the JavaDoc?
Deep Dive 12 is great but it would be fantastic to have some more content around combining the Cloud APM with the S/4HANA Cloud SDK. For example, you might talk about interpreting a $filter request for your own service, which you then apply to the S/4 service. It took me quite a while to work this out.
Hi Mike, the version of the JavaDoc in the blog post is updated (thanks for noticing). At the moment, this is no easy way to switch between the versions of JavaDoc in help.sap.com, we will consider this for the future improvements.
As mentioned in the comment to another blog post, we have some more integration topics with APM in the pipeline, so stay tuned 🙂
Is there anything planned to provide SAP Analytics Cloud extensions in the SAP Cloud SDK?
If so, can you give some examples?
currently we do not have specific plans to support SAP Analytics Cloud in the SAP Cloud SDK.
If you let us know what you would be looking for in terms of SAP Analytics Cloud support and describe your requirements in a bit more detail, we can consider this.
Hi Ekaterina Kruse,
Great blog to collect all together, it is very helpful, thanks a lot for your effort.
By the way, as this blog is posted in 2017, the content in this blog is valid for now 2021? Thank you.
your idea is correct and a lot has been happening and created in the last four years. Ekaterina changed the team and position. I think the best way to start is our central documentation:
from there you find the latest tutorials and documentation in one place.
Thanks a lot for your quick reply. Have a nice weekend.