Skip to main content

Overview

Quick Start

For a quick start check out the "Getting Started" page.

What is the SAP Cloud SDK for JavaScript?

The SAP Cloud SDK for JavaScript is a set of libraries that reduces the effort of building applications on the SAP Business Technology Platform (SAP BTP). It abstracts common tasks on SAP BTP so that you can concentrate on the business logic instead of writing boiler plate code. The image below shows the general architecture of an application built with the SAP Cloud SDK.

General architectureGeneral architecture

The Core Libraries

The core libraries are the heart of the SAP Cloud SDK for JavaScript. They contain the request execution and connectivity logic as well as command line interfaces (CLIs) to generate OData and OpenAPI clients. The image below shows the relationship between the individual core libraries.

Core packagesCore packages

@sap-cloud-sdk/connectivity

The connectivity library provides functionality to read and exchange with services like the destination, XSUAA, and connectivity service. It provides the basic types needed to reflect the concept of a destination throughout the SAP Cloud SDK for JavaScript.

@sap-cloud-sdk/http-client

The HTTP client library is a thin HTTP client, that allows you to execute requests by leveraging the concept of destinations. You can flexibly configure a request to your needs and send arbitrary HTTP requests to the given destination.

@sap-cloud-sdk/mail-client

With the mail-client, you can leverage the connectivity and destination services on SAP BTP to send e-mails from your application.

@sap-cloud-sdk/odata-v2, @sap-cloud-sdk/odata-v4, and @sap-cloud-sdk/openapi

The OData v2, v4, and OpenAPI libraries build the foundation for API clients. They contain OData and OpenAPI-specific abstractions, that the client libraries use to expose their APIs.

@sap-cloud-sdk/generator and @sap-cloud-sdk/openapi-generator

The OData and OpenAPI generators are CLIs that generate client libraries based on the services' specifications (either EDMX format or OpenAPI/Swagger). You can use them to generate typed API clients.

Supported Node Versions

The SAP Cloud SDK always supports the latest Active LTS version of Node. You can check the automated tests to see a list of all supported and tested versions.

Supported OData and OpenAPI Versions

The SAP Cloud SDK supports OData v2 and v4, as well as OpenAPI 2.0 and 3.0.

Licensing

All core libraries are available as open source npm packages in the @sap-cloud-sdk scope on npm under the Apache 2.0 license. You can find the source code on GitHub. The license of clients generated with the SAP Cloud SDK depends on the used service spec license.

Release Schedule

The SAP Cloud SDK releases bi-weekly assuming that new changes are available.

Major releases of the SAP Cloud SDK for JavaScript usually occur every six to twelve months. For details, check the release policy.

Comparison With SAP OData Library

There is also a second open source library for consuming OData services developed by SAP. The SAP OData library is developed by a different team than the SAP Cloud SDK. It evaluates service specifications at runtime and helps you execute requests. The table below tries to draw a line between the two open source libraries:

OData librarySAP Cloud SDK
Supports JavaScript.Supports JavaScript and TypeScript.
Operates dynamically on the metadata and creates an on-the-fly-client.Typed API clients can be generated. An generic, untyped client is also available.
Connectivity needs to be handled manually.The SAP Cloud SDK handles connectivity on the SAP BTP for typed and untyped API clients.

Contributing

For details on contributing, check the contribution guide.

Feature Matrix

Legend: ✔️ - Generally Available, - Not Available, - Beta, 📅 - Planned

FeatureSAP Cloud SDK JavaScript
CategoryNameStatusDocsNotes

Legacy

SOAP

Take a look at the node-soap library

Legacy

BAPI

Take a look at the SAP NetWeaver RFC SDK client bindings for Node.js

Legacy

RFC

Take a look at the SAP NetWeaver RFC SDK client bindings for Node.js

OData

OData v2 typed client

✔️

docs

OData

OData v4 typed client

✔️

docs

OData

Generic not typed OData client

We expose generic HTTP client aware of connectivity abstractions

OData

OData code generator

✔️

docs

OpenAPI

OpenAPI 2.0 typed client

✔️

docs

OpenAPI

OpenAPI 3.0 typed client

✔️

docs

OpenAPI

OpenAPI code generator

✔️

docs

Messaging

Enterprise messaging

📅

Planned. Depends on CAP

Advanced

Resilience pattern

Request this feature

Advanced

Caching pattern

Request this feature

Environment

BTP Cloud Foundry Environment

✔️

docs

Environment

Kubernetes with SAP Gardener

✔️

docs

Environment

BTP Kyma Environment

✔️

docs

Environment

Deploy with Confidence (DwC)

Request this feature

Environment

BTP Neo Environment

Not recommended for new projects

Environment

SAP BTP ABAP Environent

Out of scope

Connectivity

BTP CF Connectivity Service

✔️

docs

Connectivity

BTP CF Destination Service

✔️

docs

Connectivity

BTP CF XSUAA Service

✔️

docs

Connectivity

BTP CF Service Bindings

✔️

Connectivity

Authentication

✔️

docs

Connectivity

Multi-tenancy

✔️

docs

Connectivity

Proxy

✔️

docs

Connectivity

HTTP Client wrapper

✔️

docs

Connectivity

Principal propagation

✔️

docs

Connectivity

Cloud Connector

✔️

docs

MDI

MDI

Request this feature