Java, Nodejs and Python are leading web and cloud platforms, with some of the most popular web frameworks of today. Like Angular, React or Vue front ends and servers like Python Flask, NodeJS express, Java Jetty etc.
New SAP Open Source Fundamental Library for ABAP connects these and similar frameworks with ABAP systems, the simple way, leading to top runtime performance, short time to market, functional and visual scalability and much more.
Where the complexity has gone?
Is what you may ask yourself, looking under the hood of web applications built with Fundamental Library for ABAP. There is no magic box, added in between web frameworks and ABAP, “absorbing” the complexity. Neither a RAD tool, generating more or less rigid application elements based on backend end-points. The Fundamental Library for ABAP is a set of loosely coupled components and building web applications with ABAP is basically a manual process. Repetitive development tasks are automated by design-time utilities and functional and visual elements can be packed into components, easy to reuse and adapt. No black-boxes standing in the way of developers, always in full control over the application. Applications remain simple and easy manageable, despite the straightforward handling of notoriously complex ABAP data structures and business scenarios. Where the complexity has gone then?
Divide and conquer
The complexity can’t disappear but can be distributed across web application levels, which is what Fundamental Library for ABAP actually does:
- ABAP backend API
- Server (Koa, Pyramid, Javalin …)
- Client View (HTML)
The complexity “crusher” is not localised at any particular level or component, making it complicated and consequently more rigid and harder replaceable. All levels play here together, each doing what it does best, the way it does best, staying simple. These ubiquitous applications work with any old or new ABAP system and stay hungry for more challenges, even after the most difficult requirements. Probably the most eye-catching is the source lines of code reduction:
- Around 98% less code (40-50 times) is required at ABAP API level (plain ABAP business logic exposed)
- Around 92% less code (10-20 times) is required at Web level, by cutting-edge web engineering applied in simple and straightforward ABAP business logic consumption
Every component is freely exchangeable and using one or another platform or web framework is matter of choice. The overall design remains always the same: the classical web-stack, well known to millions of web developers, only with ABAP backend.
For more info on this interesting work in progress (contributions welcome) and one real-life application example check: https://blogs.sap.com/2020/08/23/fundamental-library-for-abap/