Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability
First Claim
1. A method for delivering an application over a network from a backend server to a plurality of client devices, at least two of the client devices differing in type and display capabilities, the method comprising the steps of:
- receiving a request from a client and determining a type of the client;
having the application invoke a Graphic User Interface (GUI) Application Programming Interface (API) to present the application'"'"'s user interface;
in response to the type of the client, replacing the GUI API with a re-implemented, network aware GUI API comprising a User Interface (UI) record, the UI record comprising pre-determined format based messages that describe the Graphical User Interface, event processing registries, and other related information corresponding to a presentation layer of the application in high level, object level, messages;
sending such messages to the client device via the network;
processing the messages in the UI record and rendering a user interface by a client-side program operating at the client, which delivers a user experience for that device according to the display capability of the client;
rendering the user interface on the client device;
transmitting a plurality of necessary user input and a plurality of client-side events back to the server via a predetermined protocol;
processing the user input and client-side events on the backend server, translating the events and inputs as if they were locally generated, and sending such translated events and inputs to the application for processing;
encoding and routing output of the application to the client device using the predetermined messaging format; and
,further processing the output by the client-side program to refresh the Graphical User Interface;
wherein use of the re-implemented network aware API enables the application and GUI API to be developed once and deployed multiple times for use by multiple different types of client devices.
15 Assignments
0 Petitions
Accused Products
Abstract
A method for delivering applications over a network where the application'"'"'s logic runs on the backend server and the application'"'"'s user interface is rendered on a client-device, according to its display capabilities, thought a network connection with the backend server. The application'"'"'s GUI API and event processing API are implemented to be network-aware, transmitting application'"'"'s presentation layer information, event processing registries, and other related information a between client and server. The transmission is a high, object level format, which minimizes network traffic. Client-side events are transmitted to the server for processing via a predetermined protocol, the server treating such events and inputs as if locally generated. The appropriate response to the input is generated and transmitted to the client device using the format to refresh the GUI on the client.
-
Citations
20 Claims
-
1. A method for delivering an application over a network from a backend server to a plurality of client devices, at least two of the client devices differing in type and display capabilities, the method comprising the steps of:
-
receiving a request from a client and determining a type of the client; having the application invoke a Graphic User Interface (GUI) Application Programming Interface (API) to present the application'"'"'s user interface; in response to the type of the client, replacing the GUI API with a re-implemented, network aware GUI API comprising a User Interface (UI) record, the UI record comprising pre-determined format based messages that describe the Graphical User Interface, event processing registries, and other related information corresponding to a presentation layer of the application in high level, object level, messages; sending such messages to the client device via the network; processing the messages in the UI record and rendering a user interface by a client-side program operating at the client, which delivers a user experience for that device according to the display capability of the client; rendering the user interface on the client device; transmitting a plurality of necessary user input and a plurality of client-side events back to the server via a predetermined protocol; processing the user input and client-side events on the backend server, translating the events and inputs as if they were locally generated, and sending such translated events and inputs to the application for processing; encoding and routing output of the application to the client device using the predetermined messaging format; and
,further processing the output by the client-side program to refresh the Graphical User Interface; wherein use of the re-implemented network aware API enables the application and GUI API to be developed once and deployed multiple times for use by multiple different types of client devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification