Skip to content

Commit 923787c

Browse files
authored
Update concept.md
1 parent 661daf3 commit 923787c

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

docs/advanced/technical/concept.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ Instead of building and maintaining complex JavaScript frontends, managing APIs,
1717
In this architecture the initial request delivers JavaScript and CSS assets, Subsequent interactions trigger AJAX calls to fetch HTML fragments and the browser inserts these fragments into the DOM without reloading the full page:
1818

1919
<p align="center">
20-
<img width="500" alt="image" src="https://github.com/user-attachments/assets/a9fde24a-c572-4e5c-b203-59a0667b9931" />
20+
<img width="400" alt="image" src="https://github.com/user-attachments/assets/a9fde24a-c572-4e5c-b203-59a0667b9931" />
2121
<br/>
2222
<em>
2323
HTML "Over the Wire" Lifecycle
2424
</em>
2525
</p>
2626

27-
2827
This results in a clean and lightweight frontend — a pure rendering layer — while all logic remains under full control of the backend.
2928

3029
Several modern frameworks follow this pattern:
@@ -61,28 +60,32 @@ In short: Over-the-Wire sends only partial HTML updates, while SSR reloads the f
6160

6261
UI5 freestyle apps follow the SPA model. All rtifacts are stored at the frontend and the backend supplies data through OData, while all rendering and logic execution occur in the browser:
6362

64-
<img width="400" alt="image" src="https://github.com/user-attachments/assets/3b2a884e-e899-4b60-8a95-79b418f33657" />
63+
<p align="center">
64+
<img width="600" alt="image" src="https://github.com/user-attachments/assets/3b2a884e-e899-4b60-8a95-79b418f33657" />
65+
</p>
6566

6667
UI5 Freestyle - ABAP Stack delivers only Data
6768

6869
As we need UI5 for rendering the HTML and it is a client side framework we are limited here, we can not build HTML in the backend and send it from there. But there is a defining feature of UI5 and its use of XML views to generate HTML. These views reside on the frontend and are populated with server JSON data. XML-Views and JSON Darta is used by the UI5 framework to generate the HTML at the frontend.
6970

7071
abap2UI5 introduces here the first a small shift: what if the server now also delivers the xml view? The frontend becomes a passive display layer for views and data received from the server:
7172

72-
<img width="400" alt="image" src="https://github.com/user-attachments/assets/9717f500-c0de-4428-a996-11fc131c073c" />
73-
73+
<p align="center">
74+
<img width="600" alt="image" src="https://github.com/user-attachments/assets/9717f500-c0de-4428-a996-11fc131c073c" />
75+
</p>
7476
"UI5 Over the Wire" - ABAP delivers Data & View
7577

7678
Although the frontend still renders HTML, all relevant information (view and data) is obtained from the backend via AJAX. The UI5 application technically remains an SPA but now functions solely as a rendering layer for the server-defined UI and Data:
77-
79+
<p align="center">
7880
<img width="400" alt="image" src="https://github.com/user-attachments/assets/17a3a301-b698-4704-9cbc-43798c5bd600" />
79-
81+
</p>
8082
UI5 app downgraded - Displaying Data & View received from the server
8183

8284
The frontend is unaware of the current view (e.g., table, list, input) or the next actions. All logic is handled on the backend. The frontend app is a static UI5 application delivered with the first request:
8385

86+
<p align="center">
8487
<img width="400" alt="image" src="https://github.com/user-attachments/assets/2c9f8dc1-c6d8-4e93-80a2-b50bfc1d5ec1" />
85-
88+
</p>
8689
The app renders the provided view and data, then returns any triggered events to the backend, which decides what should happen next. This process resembles the classical PAI/PBO model from SAP GUI applications:
8790

8891
<img width="400" alt="image" src="https://github.com/user-attachments/assets/3b464d0b-19fd-400c-a7e4-3eec893f7724" />

0 commit comments

Comments
 (0)