Search

Features Overview

Following is an index of the features currently covered by CAP, with status and availability information. In addition, we also list features, which are planned or already in development, but not yet generally available, in order to give you an idea about our roadmap.

[Legend]

Tag Explanation
    generally and publicly available today
  n/a not applicable for this combination
in prog. in progress; likely to become available near-term
planned we might pick that up for development soon
contrib? not scheduled for development by us so far

CLI & Tools Support

CLI commands  
cds init <project>
cds add <feature>
cds import <api>
cds compile <models>
cds serve <services>
cds watch
cds repl
cds env
cds build
cds deploy -2 sqlite
cds deploy -2 hana

Run cds help <command> to find details about an individual command. Use cds version to check the version that you’ve installed. To know what is the latest version, see the Release Notes for CAP.


Editors/IDE Support Application Studio VSCode Eclipse
CDS Syntax Highlighting
CDS Code Completion
CDS Prettyfier
Advanced Debug/Run Tools in prog.    
Project Explorer in prog.    
     

CDS Language & Compiler

  CDS
Entity-Relationship Modeling
Custom-defined Types
Views / Projections
Associations & Compositions
AnnotationsCommon, OData
Aspects
Services…
— w/ Redirected Associations
— w/ Auto-exposed Targets
— w/ Actions & Functions
— w/ Events in prog.
Managed Compositions
Structured Elements planned
Nested Projections planned
Calculated Fields planned
Managed n:m Associations planned
Linters as pluggable architecture contrib?

Providing Services

Core Framework Features CDS Node.js Java
Automatically Serving CRUD Requests n/a
Deep-Read/Write Structured Documents
Automatic Input Validation
Auto-filled Primary Keys
Implicit Paging
Implicit Sorting in prog.
Access Control
Arrayed Elements planned
Streaming & Media Types in prog.
Conflict Detection through ETags
Authentication via JWT n/a
Basic Authentication n/a


Enterprise Features CDS Node.js Java
Authorization
Analytics in Fiori in prog. in prog.
Localization/i18n
Managed Data
Localized Data
Temporal Data
Dynamic Extensibility
Monitoring / Logging n/a in prog. in prog.
Audit logging n/a planned planned


Inbound Protocol Support CDS 1 Node.js Java
REST / OpenAPI in prog.
OData V2 2 in prog.
OData V4
OData V4 for APIs in prog. in prog. in prog.
GraphQL3 contrib? contrib? contrib? 4


1 Export CDS models to …
2 Through V2 proxy; only to support customers with existing V2 UIs
3 Could be a good case for 3rd-party contribution
4 For Java try out the provided sample code.

Consuming Services

Service Consumption APIs Node.js Java
Uniform Consumption APIs → Hexagonal Architecture
Dynamic Querying
Programmatic Delegation
Generic Delegation planned planned
Resilience (retry, circuit breaking, …) in prog.

Using SAP Cloud SDK behind the scenes


Outbound Protocol Support CDS 1 Node.js Java
REST / OpenAPI planned
OData V2 in prog.
OData V4
GraphQL2 contrib? contrib? contrib? 3

1 Import API to CSN
2 Could be a good case for 3rd-party contribution
3 For Java try out the provided sample code.

Events / Messaging

  CDS Node.js Java
Declared Events in CDS
Mock Broker to speed up local dev n/a in prog. in prog.
SAP Enterprise Messaging n/a in prog. in prog.
SAP Message Queue n/a planned planned
Event Logs (Kafka) n/a planned planned
Import AsyncAPI planned    
Export AsyncAPI planned    

Database Support

  CDS/deploy Node.js Java
SAP HANA out of the box
SAP HANA Cloud
Migration to HANA Cloud in prog. n/a n/a
Streamlined Schema Evolution in prog. n/a n/a
— using Liquibase contrib? n/a n/a
— using Flyway contrib? n/a n/a
SQLite out of the box 1
MongoDB out of the box n/a planned in prog.
Pluggable drivers architecture in prog. in prog. in prog.
Out-of-the-box support for other DBs?      

1 To speed up development. Not for productive use!

You can already integrate your database of choice in a project or a contribution level. The last two are meant to further facilitate this by out-of-the-box features in CAP.

UIs/Frontend Support

  CDS Node.js Java
Serving Fiori UIs
Fiori Annotations in CDS
Advanced Value Help
Draft Support
Draft for Localized Data
Support for Fiori Analytics in prog. in prog.
Support for other UI technologies, e.g. Vue.js 1

1 through standard REST/AJAX

Platform Support & Integration

  Node.js Java
Deploy to/run on Cloud Foundry
Deploy to/run on Kubernetes1 contrib? contrib?
SaaS on-/off-boarding
Multitenancy
Health checks planned

1 Available on plain Kubernetes level → see blog post by Thomas Jung