Have you seen the prominent presence of the SAP Cloud SDK in Jürgen Müller's keynote at SAP TechEd in Las Vegas? If not, here's your chance to view the demo about extensions on SAP Cloud Platform (again). The demo involving the SAP Cloud SDK for straightforward and consistent access to different SAP solutions starts about 40 minutes into the keynote.
But we have not only been busy preparing the demo. We have also released new versions of the SAP Cloud SDK. In detail, the following components are now available in new versions:
You can update your dependencies of the SAP Cloud SDK for Java to version 3.4.0 and consume the new version from Maven Central.
Online retrieval of JWT verification keys
In preparation for an upcoming change to the way how the XSUAA service supplies verification keys to applications, the SAP Cloud SDK from version 3.4.0 onwards retrieves the key from an endpoint of the XSUAA service instead of relying on a verification key to be present in the XSUAA service binding credentials. Projects should update to the latest version of the SAP Cloud SDK (3.4.0 or 2.21.0) to ensure that their application continues to work after the change has been implemented by the XSUAA service.
The SDK now validates user access tokens issued by the XSUAA service with the verification key retrieved from the XSUAA service. The retrieved key is cached for 5 minutes. Depending on feedback, we may change the cache duration in the future.
Version 3.4.0 supports the SystemUser property in destinations with authentication type "OAuth2SAMLBearerAssertion". The system user will be used instead of the currently logged in principal to retrieve an access token to the destination. That is, no principal propagation takes place. As a consequence, no user JWT is required.
You can construct a structured representation of tenants as a Tenant object from a JWT with the new method tenantFromJwt. Pass a JWt that you decoded, for example, using verifyJwt.
Similarly, construct a structured representation of users as a User object from a JWT with the new method userFromJwt.
This applies to CAP projects newly generated in SAP Web IDE or when using the CDS project generator. Previously existing projects need to be migrated to match the structure of the template.
In the past, the pipeline required a Maven dependency listeners-all to be present in the unit and integration test modules. The dependencies are still needed to measure application qualities, but the pipeline will add those dependencies now automatically if they are not present. See this section in the documentation if you're interested in more details.
Version v24 adds support for sidecar containers during integration tests also in Kubernetes environments. This feature has been available in non-Kubernetes environments before. A sidecar container is an additional Docker container which can be spawned in integration tests if needed, for example, to provide a database management system. Please refer to the documentation of the stage backendIntegrationTests for details on how to configure this.
The pipeline now prints the duration of each pipeline stage in the log. This allows you to identify potential bottlenecks more quickly. Search the build log for messages containing "Duration of stage".
If you are using the SAP Cloud SDK in a project of the SAP Cloud Application Programming Model, replace sdk-bom with sdk-modules-bom to only update the version of SDK modules, not further dependencies.
You can now recompile your project (be aware of the compatibility notes, though) and leverage the new features of the SAP Cloud SDK in version 3.4.0.
Of course, you can also generate a new project that uses version 3.4.0 from the start by running the Maven archetypes for Neo or Cloud Foundry with -DarchetypeVersion=3.4.0 (or RELEASE).
Continuous Delivery Toolkit
If you are using the pipeline with a fixed version (as recommended since v7), update the continuous delivery toolkit with the following command, that you run on the server hosting the cx-server: