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.
Compatibility
The Kronos Edition of the codbex platform provides a compatible environment for SAP HANA Extended Application Services (XS) based applications. Deployed as a Docker container on Kubernetes, Kronos Edition offers seamless integration with SAP HANA and extends compatibility to other JDBC compliant RDBMS, such as PostgreSQL. Kronos Edition is the official fork of the Project "XSK" which was discontinued by SAP in 2022, ensuring continuity and support for XS applications.
Compatible Environment for SAP HANA XS: Kronos Edition provides a compatible environment for SAP HANA Extended Application Services (XS) based applications, ensuring seamless deployment and integration with SAP HANA instances.
Docker Container Deployment: Deployed as a Docker container on Kubernetes, Kronos Edition offers scalability, portability, and ease of management, enabling efficient deployment and orchestration of XS applications.
Compatibility with Other JDBC Compliant RDBMS: While designed for SAP HANA, Kronos Edition extends compatibility to other JDBC compliant RDBMS, such as PostgreSQL, allowing users to leverage XS capabilities across diverse data environments.
Official Fork of Project "XSK": Kronos Edition is the official fork of the Project "XSK," ensuring continuity and support for XS applications following the discontinuation of XSK by SAP in 2022. Users can confidently migrate and continue development with Kronos Edition.
The Kronos Edition is designed for organizations and development teams leveraging SAP HANA XS for application development. Whether you're developing XS applications for SAP HANA or seeking compatibility with other JDBC compliant RDBMS, Kronos Edition provides the tools and capabilities to support your needs.
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.
Native execution of the XS Classic artefacts acheiving near 100% compatibility and completeness is the main driving force behind the product.
Supporting further development experience brings limitless benefits for future applications enhancements.
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.
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.
The Debugger enables you to monitor the execution of your code, stop it, restart it or set breakpoints, and change values in memory.
The Git perspective allows you to fully control your code and manage repositories. It also provides Diff Tool for reviewing the changes.
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.
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.
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.
On-line data transfer provides way to pipe source datasource and schema to a target ones, so to stream the data transfer.
Connecting and analyzing the massive amount of data in Snowflake cloud database is supported out of the box.
No-SQL database MongoDB support is also built-in, so it can be used for exploring, queries, import and export up to 1GB.
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.
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 | ✔ |
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 | ✔ |
Aspect | Scope | Description |
---|---|---|
.xsjs | ✔ | |
.xsjslib | ✔ | |
.calculationview | ⚠️ | |
.hdbprocedure | ✔ | |
.hdbrole | ❌ | |
.hdbsequence | ✔ | |
.xsodata | ⚠️ | |
.hdbdd | ⚠️ | |
.xsaccess | ✔ | |
.xsjob | ✔ | |
.xssecurestore | ✔ | |
.hdbti (+csv) | ✔ | |
.xshttpdest | ✔ | |
.hdbschema | ✔ |
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 |
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 codbex 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.
With the Kronos Edition of the codbex platform, you can empower your SAP HANA XS applications with confidence. Whether deploying on SAP HANA or other JDBC compliant RDBMS, Kronos Edition offers a compatible environment for XS application development and deployment. Benefit from continuity and support with Kronos Edition, the official fork of Project "XSK."
Support depends on the plan you selected from pricing.