codbex

Kronos Edition

Kronos Edition provides a compatible environment for SAP HANA Extended Application Services (XS) based applications. It is deployed outside of SAP HANA instance as a Docker a container on Kubernetes. Hence, some of the features can work against any other JDBC compliant RDBMS such as PostgreSQL. The compatibility stack is an extension of the Eclipse Dirigible cloud development platform.

This is the official fork of the Project “XSK”, which was discontinued by SAP in 2022.

Landscapes - Before and After Migration

The main difference is that the engine running the application is now outside HANA instance, hence it is possible to run it for scale on any Kubernetes or Containers as a Service offering - SAP or non-SAP.

Screenshot

Artefacts Handling

Native execution of the XS Classic artefacts acheiving near 100% compatibility and completeness is the main driving force behind the product.

Screenshot

XSJS Development Experience

Supporting further development experience brings limitless benefits for future applications enhancements.

Screenshot

ABAP Development Experience

ABAP development is introduced as an experimental feature by leveraging the Open ABAP and ABAP Lint frameworks.

Screenshot

Python Development Experience

Python development is available as well backed by the underlying GraalPy engine. The standard APIs can be used in a similar way as they are from JavaScript code.

Screenshot

Enterprise JavaScript Development

JavaScript Engine included is based on the GraalVM JavaScript implementation. It supports also the synchronous programming model in contracts to Node.js which makes it very easy to learn and use. The latest ECMA specification is supported as well as the Common.js one for compatibility reasons. The JavaScript Enterprise API is fully supported in this package.

Screenshot

Debugger

The Debugger enables you to monitor the execution of your code, stop it, restart it or set breakpoints, and change values in memory.

Screenshot

Git

The Git perspective allows you to fully control your code and manage repositories. It also provides Diff Tool for reviewing the changes.

Screenshot

User Interfaces

Authoring of the user interfaces is powered by the in-system development environment where every change can be immediately visualized in Preview area. The different major frameworks can be combined due to the syndication layout chosen.

Screenshot

Databases

It visualizes the database related views in a specialized perspective focused on the database administrator tasks. It can be easily deployed on any hosting environment as a Docker container, so that the database inspection and quick changes can be done in a more secure way than exposing the database port itself.

Screenshot

Import/Export

Off-line data migration up to 1GB, is provided for all the supported databases. The relational database tables are transfered in CSV format, while the No-SQL collections in JSON format. There is a topology file also provided for each schema, which shows the proper order for import to the target database.

Screenshot

Transfer

On-line data transfer provides way to pipe source datasource and schema to a target ones, so to stream the data transfer.

Screenshot

Snowflake

Connecting and analyzing the massive amount of data in Snowflake cloud database is supported out of the box.

Screenshot

MongoDB

No-SQL database MongoDB support is also built-in, so it can be used for exploring, queries, import and export up to 1GB.

Screenshot

Anonymization

Data anonymization and masking for production data sets containing personal or sensitive data. Supported types of anonymization is based on the specific input columns such as first and last names, addresses, telephones, emails, dates of birth, any numeric or alphanumeric document numbers.

Screenshot

Development Experience

Aspect Scope Description
Preserve hdb* descriptors  
Preserve XSJS code  
Preserve XSOData descriptors  
Preserve XSC development model  
Preserve XSC security model ⚠️ Authentication is managed by the runtime container
Support for XSJS code  

Life-cycle Management

Aspect Scope Description
End-to-end life-cycle management  
Single-step migration  
Can be deployed as a monolith  
Can be deployed as a microservices  
Can be deployed on Kubernetes  
Can be deployed on Cloud Foundry  

Artifacts Coverage

Aspect Scope Description
.xsjs  
.xsjslib  
.calculationview ⚠️  
.hdbprocedure  
.hdbrole  
.hdbsequence  
.xsodata ⚠️  
.hdbdd ⚠️  
.xsaccess  
.xsjob  
.xssecurestore  
.hdbti (+csv)  
.xshttpdest  
.hdbschema  

XSJS APIs Coverage

Aspect Scope Description
$.session ⚠️ Represents an SAP HANA XS session
$.request Represents the client HTTP request currently being processed.
$.response Represents the HTTP response currently being populated.
$.hdb This namespace provides means for seamless HANA database access. It is intended to be a replacement of the older $.db namespace
$.db Namespace for HANA database access
$.util Util namespace
$.trace Trace namespace
$.import Imports a server-side JavaScript library artifact
$.net Network namespace
$.net.http HTTP namespace
$.util.codec Codec namespace
$.web Web namespace
$.security Security namespace

FAQ

  • How long will Kronos be supported?

    Kronos is an open source project with community support. Everyone can join and make a PR. In fact SAP discontinued official support to project “XSK”, and this fork maintained by the same developers is prove that the approach is viable and useful. The company codbex provide enterprise support for Kronos based runtimes.

  • Should future developments be based on Kronos?

    Yes, you can use Kronos for future development.

  • What about the tooling? Do we get state of the art tooling for maintaining and enhancing Kronos?

    Kronos tooling is based on Eclipse Dirigible and in the near future it will be possible to maintain Kronos projects with any modern IDE like VSCode, Eclipse Theia, etc.

  • What about the ops aspects - will Kronos be smoothly integrated into a state-of-the-art lifecycle and ops management (be it SAP-based or non-SAP based like GitHub Actions?

    Yes, the Kronos itself uses GitHub actions for CI/CD

  • Will there be limitations that will not be mitigated?

    You can get the up-to-date list of covered features as well as the limitations, cheat sheet and readiness.


Support depends on the plan you selected from Pricing.