Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
mkuhr-test
Advisor
Advisor
Since its first release of version 1.0 in 2017 the SAP Cloud SDK for Java enables application developers to swiftly develop cloud native applications on the SAP Business Technology Platform. Versions 2.0 and 3.0 of the SDK soon followed in 2018 and 2019 with version 3 receiving many feature additions in well over 60 minor versions and counting.

With it now coming close to 3 years since the last major version release the time has come to prepare the next big step for the SAP Cloud SDK for Java.

Preparing Version 4.0 of the SAP Cloud SDK for Java


The process of building the next major version for the SAP Cloud SDK for Java is well underway. We are looking to include the most important features while making the update from 3.X to 4.X as easy and effortless as possible. You can learn more about the releasing strategy here.

Although we are not quite ready to announce a beta version just yet, we already want to share a sneak preview of potential improvements we are looking to make. Please note that this is just a preview and not a definitive list.

Preview: Key Areas of Improvement


With the next major version we aim to improve the SAP Cloud SDK for Java in four key areas:

1. Easier Dependency Management


The SDK currently brings in a substantial amount of transitive dependencies and has a rather large BOM. This increases the risk of dependency conflicts, in particular when also using other frameworks and tools like the SAP Cloud Application Programming Model and the SAP Java Buildpack.
By reducing the dependency footprint of the SDK it gets more light-weight, making it easier to manage dependencies in your project.

2. More OData V2 Features


The OData V2 APIs are currently lacking some features. For example Full Access to All Results of a Batch Request and Performing Operations Directly on Nested Entities (Navigation Properties). Currently achieving these tasks requires using the unstable, low-level APIs of the SDK.
Adding these features on the OData V2 APIs would give you more convenience when using OData V2 services.

3. Simpler Destination API


The Destination API currently lacks some clarity and convenience. For example connecting to an SAP S/4HANA system oftentimes requires explicitly decorating a Destination with:
destination.asHttp().decorate(DefaultErpHttpDestination::new)

This step is easily missed. Also, Destinations can be built directly in the Java code using any authentication type via their builder. But almost all authentication types are not supported for this usage.
Bringing more clarity and simplicity to this API could avoid frequent problems.

4. Improved ThreadContext and Thread Handling


The SDK uses a context object called ThreadContext to store the current tenant, user and other related information. Oftentimes this context object is missing, for example because the necessary annotations were not added to a project, or a new Thread is created by the application. In consequence the multi-tenant features of the SDK don't work.
An improved approach could bring more clarity and better out-of-the-box support for some use cases.

Summary


With the next major version we aim to bring even more features, better integration and easier usage to the SAP Cloud SDK. And these are only some of the potential improvements we have in mind. Follow sap-cloud-sdk to stay tuned for further news and updates for the SAP Cloud SDK.

Share Your Feedback


To build the best version 4.0 possible we need your feedback. Which improvements are you looking for most in the next Cloud SDK version? Don't hesitate to share your feedback in the comments below, ask a question in the Q&A or to create a dedicated feature request on our GitHub.