Distributed controller of a user interface framework for web applications
Abstract
Various embodiments of systems and methods for improved user interface framework for Web applications are described herein. The UI framework is based on the MVC architectural pattern. An additional controller, a server controller, is included in the server part of the user interface framework runtime. A client controller is running at the client side of the user interface framework runtime. The client controller and the server controller form one logical synchronized controller. The server controller ensures that all needed controller calculations, which would lead to additional roundtrips between the client side and the server side, can be done on the server side. Thus, exact one roundtrip between client side and backend for every user interaction and transporting only the bare minimum of data needed to render the current UI state is achieved.
Claims
exact text as granted — not AI-modified1 . An article of manufacture including a computer readable storage medium to tangibly store instructions, which when executed by a computer, cause the computer to:
receive a user input from a user interface element at a client controller, the client controller included in a user interface framework at frontend; update data in a user interface model in response to the received user input; send the updated user interface model data from the client controller to a server controller at backend; update business data in response to the updated user interface model data, the business data included in a business data model bound to the user interface model; and send only the updated business data back to the client controller.
2 . The article of manufacture of claim 1 , wherein the instructions further cause the computer to:
notify the client controller about the updated business data; and render the user interface model via a view element with the updated business data.
3 . The article of manufacture of claim 1 , wherein the instructions further cause the computer to initialize the client controller and the server controller asynchronously.
4 . The article of manufacture of claim 2 , wherein the notify the client controller instruction causes the computer to raise an event to the client controller.
5 . The article of manufacture of claim 1 , wherein the client controller and the server controller are one logical controller physically distributed on the frontend and the backend.
6 . The article of manufacture of claim 4 , wherein the client controller is synchronized with the sever controller.
7 . The article of manufacture of claim 6 , wherein the instructions further cause the computer to:
register an event handler in the user interface model, the event handler including a sequence of operations; and execute an operation from the sequence of operations based on the event.
8 . A computerized method comprising:
receiving a user input from a user interface element at a client controller, the client controller included in a user interface framework at a frontend unit; updating data in a user interface model in response to the received user input; sending the updated user interface model data from the client controller to a server controller at a backend unit; updating business data in response to the updated user interface model data, the business data included in a business data model bound to the user interface model; and sending only the updated business data back to the client controller.
9 . The method of claim 8 , further comprising:
notifying the client controller about the updated business data; and rendering the user interface model via a view element with the updated business data.
10 . The method of claim 8 , further comprising:
initializing the client controller and the server controller asynchronously.
11 . The method of claim 9 , wherein notifying the client controller comprises:
raising an event to the client controller.
12 . The method of claim 8 , wherein the client controller and the server controller are one logical controller physically distributed on the frontend unit and the backend unit.
13 . The method of claim 9 , wherein the client controller is synchronized with the sever controller.
14 . The method of claim 9 , further comprising:
registering an event handler in the user interface model, the event handler including a sequence of operations; and executing an operation from the sequence of operations based on the event.
15 . A computing system comprising:
a database storage unit for storing user interface entities with their metadata; a frontend unit including a client controller, wherein the client controller receives a user input from a user interface element and updates data in a user interface model; a backend unit including a server controller, wherein the server controller receives the updated user interface model data from the client controller, updates business data in response to the updated user interface model data, and sends only the updated business data back to the client controller.
16 . The computing system of claim 15 , wherein the database storage unit comprises a business data model representing the business data and bound to the user interface model.
17 . The computing system of claim 15 , further comprising an event handler registered in the user interface model including a sequence of operations.
18 . The computing system of claim 15 , wherein the client controller and the server controller are one logical controller physically distributed on the frontend unit and the backend unit.
19 . The computing system of claim 15 , wherein the client controller and the server controller are initialized asynchronously.
20 . The computing system of claim 15 , wherein the client controller is synchronized with the sever controller.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.